Установка связки Drupal+Nginx на сервер Ubuntu 13.04

Published by 1 Comment

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: , , , ,

1 комментарий

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>