ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить LEMP и запустить Drupal на Ubuntu 16.04

Сегодняшняя статья об установке Drupal с LEMP (Linux, Nginx, MySQL и PHP-FPM) на Ubuntu 16.04. Стек LEMP является синонимом сервера LEMP или веб – сервера LEMP. Он  относится к набору, который включает в Linux, Nginx, MySQL (MariaDB) и PHP.

ТРЕБОВАНИЯ

Мы будем использовать наш Linux для этого урока.

Войдите на свой сервер через SSH

# ssh root@server_ip

Вы можете проверить, установлена ли у вас правильная версия Ubuntu ​​на сервере с помощью следующей команды:

# lsb_release -a

Вы должны получить этот результат:

Distributor ID: Ubuntu
Description:    Ubuntu 16.04 LTS
Release:        16.04
Codename:       xenial

Обновите систему

Убедитесь, что ваш сервер полностью в актуальном состоянии с помощью:

# apt-get update && apt-get upgrade

С помощью следующей команды можно будет установить стек LEMP вместе с некоторыми необходимыми расширениями PHP.

# apt-get install nginx mysql-server php-fpm php-mysql php-gd php-xml

Во время установки вам будет предложен запрос с MySQL, где вам нужно будет установить новый MySQL корневой пароль так же, как на картинке ниже:

MySQL

После завершения установки, отредактируйте на сервере файл php.ini и измените значение cgi.fix_pathinfo параметра равным 0 . По умолчанию оно будет закомментировано и установленное на 1 , что практически гарантирует, что PHP попытается выполнить ближайший доступен файл, если запрошенный файл PHP не может быть найден. Это плохая практика безопасности, поэтому давайте изменим его. Выполните следующую команду:

# nano /etc/php/7.0/fpm/php.ini

Теперь найдите cgi.fix_pathinfo, раскомментируйте ее и установите значение на 0. Сохраните и закройте файл.

Перезагрузка PHP-FPM, чтобы изменения вступили в силу.

# systemctl restart php7.0-fpm

Теперь вы должны настроить Nginx использовать PHP, который может быть сделано путем редактирования блока сервера по умолчанию. Выполните следующую команду:

# nano /etc/nginx/sites-available/default

Добавьте index.php в директиву index.

Потом раскомментируйте часть раздела, который обрабатывает запросы PHP. Эта часть состоит из блока ‘location ~ \.php$ {‘, который включает в себя фрагмент кода FastCGI-php.conf  и сокет, связанный с PHP-FPM . После редактирования файл должен выглядеть следующим образом :

server {
        listen 80 default_server;
        
       root /var/www/html;

        # Добавить index.php в список пользования PHP
        index index.php index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                # Первая попытка обслужить запрос в виде файла, а затем
                # как каталог, потом вернуться к отображению 404.
                try_files $uri $uri/ =404;
        }

        # указать PHP скриптам FastCGI серверу прослушивать 127.0.0.1:9000
        #
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }

        # запретить доступ к файлам .htaccess
        #
        location ~ /\.ht {
                deny all;
        }
}

Сохраните и закройте файл. Затем проверьте конфигурационный файл на наличие синтаксических ошибок:

# nginx -t

Если ошибки нет, перезапустите Nginx для того, чтобы изменения вступили в силу:

# systemctl restart nginx

Установка LEMP завершена. Если вы хотите проверить, обрабатывает ли Nginx PHP файлы правильно, создайте тестовый файл phpinfo.php в корневом каталоге документов Nginx. Откройте файл с помощью текстового редактора nano\:

# nano /var/www/html/phpinfo.php

Вставить следующее:

<?php

// Показать всю информацию, по умолчанию INFO_ALL
phpinfo();

// Показать только информационный модуль.
// phpinfo(8) yields identical results.
phpinfo(INFO_MODULES);

?>

Теперь откройте ваш любимый веб – браузер и перейдите по адресу  http://your_server_IP/phpinfo.php. Вы должны увидеть страницу, как в изображении ниже:

php-info-drupal

ОК. Теперь, когда все в порядке с установкой LEMP, установить Drupal для вашего сайта. Мы установим Drupal в корневом каталоге документов Nginx (/var/www/html). Введите каталог:

# cd /var/www/html/

Установите Drush:

# apt-get install drush php-console-table

Используйте Drush чтобы скачать последнюю стабильную версию Drupal:

# drush dl drupal

Вы увидите что-то вроде этого. Версия Drupal может отличаться в момент установки.

Project drupal (7.43) downloaded to /var/www/html/drupal-7.43.

Переименуйте загруженный каталог на что-то более легкого доступа:

# mv /var/www/html/drupal-7.43/ /var/www/html/drupal

Установите правильную владельца файлов/директорий:

# chown www-data: -R drupal

Теперь нужно создать базу данных для установки Drupal. Войдите в базу данных MySQL как root и выполните следующие запросы:

# mysql -u root -p

mysql> create database drupal;

mysql> grant all privileges on drupal.* to drupaluser@localhost identified by 'ваш_пароль';

mysql> flush privileges;

mysql> exit
Bye

Теперь создайте виртуальный блок в Nginx, так что вы можете получить доступ к Drupal с вашим доменом. Введите команду внизу:

# nano /etc/nginx/sites-available/drupal

Вставьте следующее:

server {
    server_name domainname.ru;

    access_log /var/log/nginx/domainname.ru-access.log;
    error_log /var/log/nginx/domainname.ru-error.log;
    root /var/www/html/drupal;

    location / {
        index index.php;
        try_files $uri $uri/ /index.php$is_args$args;
    }

location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Конечно же, не забудьте заменить domainname.ru на реальный домен. Сохраните и закройте файл. Затем, включите его, создав символическую ссылку:

# ln -s /etc/nginx/sites-available/drupal /etc/nginx/sites-enabled/

Проверьте конфигурацию Nginx:

# nginx -t

Если все прошло успешно, перезагрузите Nginx, чтобы изменения вступили в силу:

# systemctl restart nginx

Теперь откройте веб – браузер и перейдите по адресу http://your_domain.ru, чтобы завершить установку Drupal.

Поздравляем, вы успешно установили Drupal с LEMP на вашем сервере Ubuntu 16.04.

Как установить LEMP и запустить Drupal на Ubuntu 16.04

Exit mobile version