Установка WordPress+Nginx на Ubuntu 12.04

Published by Leave your thoughts

Что такое WordPress?

WordPress — это свободный инструмент с открытым исходным кодом для построения веб-сайтов и блогов, работающий на php и MySQL. WordPress был создан в 2003, и с тех пор его используют 22% всех новых сайтов, для управления которыми разработано более 20,000 плагинов.

1: Требования

Данное руководство описывает установку WordPress. Для его выполнения понадобятся привилегии root (читайте «Начальная настройка сервера Ubuntu«).

Кроме того, на сервере должны быть установлены nginx, MySQL, and PHP-FPM (читайте «Установка Linux, nginx, MySQL, PHP (LEMP stack) на сервер Ubuntu 12.04«).

Установив все необходимое, приступайте к инсталляции WordPress.

2: Загрузка WordPress

WordPress можно загрузить с сайта проекта:

wget http://wordpress.org/latest.tar.gz

Данная команда загрузит заархивированный пакет WordPress прямо в домашний каталог пользователя. Разархивируйте его:

tar -xzvf latest.tar.gz

3: Создание базы данных и пользователя

Распакованные файлы WordPress находятся в подкаталоге wordpress домашнего каталога.

Теперь нужно создать новый каталог MySQL для WordPress.

Войдите в оболочку MySQL:

mysql -u root -p

Введите root-пароль MySQL, а затем создайте базу данных, ее пользователя и установите пароль. Имейте в виду, что все команды MySQL должен заканчиваться точкой с запятой.

Итак, создайте базу данных (для простоты в данном руководстве эта БД называется WordPress; конечно, назвать ее можно как угодно):

CREATE DATABASE wordpress;
Query OK, 1 row affected (0.00 sec)

Теперь нужно создать нового пользователя. Укажите базу данных и имя пользователя:

CREATE USER wordpressuser@localhost;
Query OK, 0 rows affected (0.00 sec)

Установите пароль для нового пользователя:

SET PASSWORD FOR wordpressuser@localhost= PASSWORD("password");
Query OK, 0 rows affected (0.00 sec)

В завершение нужно передать новому пользователю все привилегии. Без следующей команды инсталлятор wordpress не запустится.

GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@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

4: Настройка WordPress

Для начала скопируйте образец конфигурационного файла WordPress, расположенного в каталоге WordPress, в новый файл, который нужно будет отредактировать:

cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php

Откройте новый конфигурационный файл:

sudo nano ~/wordpress/wp-config.php

Найдите в нем следующий раздел и укажите правильные имя БД, имя пользователя и пароль.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'wordpressuser');
/** MySQL database password */
define('DB_PASSWORD', 'password');

Сохраните изменения и закройте файл.

5: Копирование файлов

WordPress уже почти загружен на сервер. Теперь нужно создать каталог для хранения файлов WordPress:

sudo mkdir -p /var/www

Переместите распакованные файлы в root-каталог сайта.

sudo cp -r ~/wordpress/* /var/www

Можно изменить права на каталог /var/www, что позволит плагинам WordPress автоматически обновляться,  а также редактировать файлы по SFTP. Если этого не сделать, при выполнении каких-либо задач может появиться предупреждение «To perform the requested action, connection information is required» (Для выполнения действия необходимы сведения о подключении).

Итак, перейдите в каталог сайта:

cd /var/www/

Передайте права на этот каталог пользователю nginx (замените «username» именем своего пользователя).

sudo chown www-data:www-data * -R
sudo usermod -a -G www-data username

6: Настройка сервера Nginx

Теперь нужно настроить виртуальный хост WordPress.

Создайте новый файл для хоста WordPress, скопировав конфигурации по умолчанию:

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/wordpress

Откройте виртуальный хост WordPress:

sudo nano /etc/nginx/sites-available/wordpress

Конфигурации должны включать следующие изменения (подробное описание данных изменений можно найти ниже):

server {
listen   80;
root /var/www;
index index.php index.html index.htm;
server_name 192.34.59.214;
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/www;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
try_files $uri =404;
#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;
}

Итак, данные конфигурации:

  • делают /var/www/ root-каталогом;
  • вносят файл index.php в строку index;
  • меняют значение server_name, внося имя домена или IP-адрес вместо «local host» (не забудьте заменить example.com в вышеприведенных конфигурациях);
  • заменяют строку try_files $uri $uri/ /index.html; строкой try_files $uri $uri/ /index.php?q=$uri&$args; чтобы активировать постоянные ссылки WordPress и nginx;
  • раскомментируют нужные строки раздела location ~ \.php$ {

Сохраните изменения и закройте файл.

7: Активация сервера

Настройка WordPress завершена; тем не менее, нужно еще активировать файл сервера, создав символическую ссылку на него:

sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/wordpress

Кроме того, удалите файл nginx по умолчанию.

sudo rm /etc/nginx/sites-enabled/default

Установите php5-mysql:

sudo apt-get install php5-mysql

Затем перезапустите nginx и php-fpm

sudo service nginx restart
sudo service php5-fpm restart

8: Запуск установки WordPress

Выполнив все описанные выше действия, откройте онлайн-страницу установки WordPress.

Для этого введите домен или IP-адрес сайта (например: example.com/wp-admin/install.php) и заполните онлайн-форму.

Читайте также

Теперь на сервере есть WordPress — надежный фундамент любого сайта.

Чтобы научиться шифровать информацию сайта, читайте «Создание сертификата SSL в nginx для Ubuntu 12.04«.

Tags: , , , , , , ,

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

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


*

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