Установка WordPress+Nginx на Ubuntu 12.04
Ubuntu, VPS | Комментировать запись
Что такое 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: LEMP Stack, Linux, MySQL, NGINX, Ubuntu, Ubuntu 12.04, VPS, WordPress