Установка связки Drupal+Nginx на сервер Ubuntu 13.04
Drupal – свободный и открытый фреймворк управления контентом (англ. – content management framework, или CMF), написанный в PHP и распространяемый согласно GNU General Public License. Для Drupal разработано около 30 000 свободных аддонов, поддерживаемых сообществом, которые способны расширить возможности ядра Drupal и добавить множество функций для управления поведением и внешним видом Drupal.
Требования
Данное руководство выполнено на виртуальном выделенном сервере Ubuntu 13.04. Чтобы следовать инструкциям, нужны привилегии root (подробнее об этом – здесь).
Для корректной работы Drupal необходим программный стек LEMP. Подробнее о стеке LEMP и его установке можно прочитать в этом руководстве.
1: Загрузка Drupal
Загрузите последнюю поддерживаемую версию Drupal с официального сайта фреймворка:
wget http://ftp.drupal.org/files/projects/drupal-7.23.tar.gz
Распакуйте загруженный файл в домашний каталог:
tar xzvf drupal-7.23.tar.gz
Извлечённые файлы будут помещены в каталог drupal-7.23.
2: Создание базы данных и пользователя для Drupal
Теперь нужно создать новую БД MySQL для сайта Drupal. Откройте оболочку MySQL:
mysql -u root -p
Введите root-пароль MySQL. Помните: все команды MySQL должны заканчиваться точкой с запятой.
Затем создайте БД при помощи команды (в этом руководстве БД условно называется drupal):
CREATE DATABASE drupal;
Query OK, 1 row affected (0.00 sec)
Теперь необходимо создать нового пользователя для БД (выберите любое удобное имя):
CREATE USER drupaluser@localhost;
Query OK, 0 rows affected (0.02 sec)
Установите пароль для нового пользователя:
SET PASSWORD FOR drupaluser@localhost= PASSWORD("password");
Query OK, 0 rows affected (0.00 sec)
Затем нужно передать все права на БД пользователю drupal:
GRANT ALL PRIVILEGES ON drupal.* TO drupaluser@localhost IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)
Обновите MySQL:
FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
Закройте оболочку MySQL:
exit
3: Копирование файлов
Стандартный каталог сервера в Ubuntu 13.04 – каталог /usr/share/nginx/html/.
Создайте в /usr/share/nginx/html/ новый каталог по имени drupal для извлечённых файлов:
sudo mkdir /usr/share/nginx/html/drupal
Скопируйте файлы в этот каталог:
cd ~
sudo mv drupal-7.23/* /usr/share/nginx/html/drupal/
4: Настройка Drupal
Скопируйте стандартные настройки в файл settings.php:
sudo cp /usr/share/nginx/html/drupal/sites/default/default.settings.php /usr/share/nginx/html/drupal/sites/default/settings.php
Затем сделайте этот файл доступным для записи:
sudo chmod a+w /usr/share/nginx/html/drupal/sites/default/settings.php
Измените права на каталог settings:
sudo chmod a+w /usr/share/nginx/html/drupal/sites/default
Для продолжения установки Drupal необходим модуль php. Загрузите и установите его:
sudo apt-get install php5-gd
После установки необходимого модуля перезапустите сервис php5-fpm:
sudo service php5-fpm restart
5: Настройка Nginx
Теперь нужно настроить виртуальный хост Nginx для Drupal. Скопируйте стандартный виртуальный хост:
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/drupal
Откройте только что скопированный файл:
sudo nano /etc/nginx/sites-available/drupal
Отредактируйте файл следующим образом:
server {
listen 80;
root /usr/share/nginx/html/drupal;
index index.php index.html index.htm;
server_name 162.243.9.129;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html/drupal;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9$
location ~ \.php$ {
#fastcgi_pass 127.0.0.1:9000;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
Рассмотрим изменения подробнее:
- В качестве root-каталога укажите /usr/share/nginx/html/drupal.
- В строке server_name укажите домен или IP-адрес сервера.
- Замените строку «try_files $uri $uri/ /index.html;» строкой «try_files $uri $uri/ /index.php?q=$uri&$args;», чтобы включить Drupal Permalinks.
6: Включение конфигураций
Чтобы включить настойки Drupal, используйте:
sudo ln -s /etc/nginx/sites-available/drupal /etc/nginx/sites-enabled/drupal
Удалите стандартные настройки:
sudo rm /etc/nginx/sites-enabled/default
Перезапустите nginx:
sudo service nginx restart
Затем откройте в браузере IP или домен, добавив секцию /drupal, и следуйте инструкциям инсталлятора.
Tags: Drupal, LEMP Stack, NGINX, PHP, Ubuntu 13.04
1 комментарий
Все сделал, но открывается белая страница