Вступление
Из этого руководства вы узнаете, как установить WordPress на только что созданный экземпляр. Я продемонстрирую установку на сервере Ubuntu 14.04. Эти инструкции могут также работать на старых версиях Ubuntu и Debian.
Итак, начнем.
Шаг первый: обновить существующие пакеты
apt-get update && apt-get upgrade
Шаг второй: установите Nginx
Nginx - это высокопроизводительный облегченный веб-сервер, предназначенный для доставки больших объемов статического контента с эффективным использованием системных ресурсов. В отличие от Apache, Nginx использует асинхронную модель, управляемую событиями, которая обеспечивает более предсказуемую производительность под нагрузкой.
Давайте добавим сторонний репозиторий для установки последней версии Nginx (1.6.1).
sudo apt-get install python-software-properties
add-apt-repository -y ppa:rtcamp/nginx
sudo apt-get update
sudo apt-get install nginx
service nginx start
Теперь давайте проверим, работает ли сервер.
http://YOUR-VPS-IP
Это должно привести вас к целевой странице Nginx по умолчанию.
Шаг третий: установить PHP 5.5
PHP является широко используемым общедоступным скриптовым языком с открытым исходным кодом, который особенно подходит для веб-разработки и может быть встроен в HTML.
Давайте установим последнюю версию PHP на наш сервер.
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
sudo apt-get install php5-common php5-mysqlnd php5-xmlrpc php5-curl php5-gd php5-cli php5-fpm php-pear php5-dev php5-imap php5-mcrypt
Если вы хотите проверить свою версию PHP, выполните следующую команду:
php -v
Вы увидите нечто подобное.
PHP 5.5.16-1+deb.sury.org~trusty+1 (cli) (built: Aug 25 2014 10:24:59)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
withZendOPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
Теперь мы внесем небольшое изменение в конфигурацию, чтобы сделать нашу настройку более безопасной. Откройте основной файл конфигурации php5-fpm с правами root:
sudo nano /etc/php5/fpm/php.ini
Нажмите Ctrl + W и найдите cgi.fix_pathinfo=
. Раскомментируйте его (delete;) и измените 1 на 0. После изменений строка должна выглядеть следующим образом:
cgi.fix_pathinfo=0
Сохранить ( Ctrl + O ) и закрыть файл ( Ctrl + X ).
Теперь нам просто нужно перезапустить наш процессор PHP, набрав:
sudo service php5-fpm restart
Шаг четвертый: Установите MySQL
Для хранения и управления базами данных нам необходимо установить MySQL. Вы можете легко установить его, набрав в консоли следующее:
sudo apt-get install mysql-server
В процессе установки вам будет предложено установить пароль root для MySQL. После того, как вы установили пароль root, мы должны указать MySQL сгенерировать структуру каталогов, в которой будут храниться базы данных.
sudo mysql_install_db
Давайте закончим, запустив скрипт безопасности, который изменит некоторые ненадежные системы по умолчанию.
sudo mysql_secure_installation
Просто введите пароль root MySQL и введите, n
если вы не хотите его менять. После этого введите y
на каждый вопрос.
Установить часовой пояс (условный)
По умолчанию часовой пояс вашего сервера - UTC. Если вы живете в другом часовом поясе, вы можете изменить его, введя следующую команду:
sudo dpkg-reconfigure tzdata
На этом этапе ваш сервер LEMP запущен и работает.
Шаг пятый: Настройка Nginx для обслуживания Wordpress
Давайте начнем установку Wordpress с создания блока серверов Nginx для нашего сайта.
sudo nano /etc/nginx/sites-available/wordpress
Вставьте туда следующий код:
server {
listen 80;
root /var/www/wordpress;
index index.php index.html index.htm;
server_name domain.com;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location / {
# try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location = /favicon.ico {
access_log off;
log_not_found off;
expires max;
}
location = /robots.txt {
access_log off;
log_not_found off;
}
# Cache Static Files For As Long As Possible
location ~*
\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$
{
access_log off;
log_not_found off;
expires max;
}
# Security Settings For Better Privacy Deny Hidden Files
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
# Return 403 Forbidden For readme.(txt|html) or license.(txt|html)
if ($request_uri ~* "^.+(readme|license)\.(txt|html)$") {
return 403;
}
# Disallow PHP In Upload Folder
location /wp-content/uploads/ {
location ~ \.php$ {
deny all;
}
}
}
Это хорошо настроенный файл конфигурации Wordpress с поддержкой постоянных ссылок. Сохранить ( Ctrl + O ) и закрыть файл ( Ctrl + X ). Давайте включим блок сервера с помощью символической ссылки:
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/wordpress
Далее мы удалим блок сервера Nginx по умолчанию.
sudo rm /etc/nginx/sites-enabled/default
Теперь настроим основной файл конфигурации Nginx:
sudo nano /etc/nginx/nginx.conf
Убедитесь, что количество рабочих процессов равно количеству ядер в вашем экземпляре.
user www-data;
worker_processes 1;
pid /run/nginx.pid;
Добавьте использование epoll; на блок событий.
events {
worker_connections 4096;
multi_accept on;
use epoll;
}
Добавьте директивы client_max_body_size и server_tokens off. Установите keepalive_timeout на 30 секунд.
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
types_hash_max_size 2048;
server_tokens off;
client_max_body_size 100m;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
Убедитесь, что весь блок настроек Gzip выглядит так:
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
Сохранить ( Ctrl + O ) и закрыть файл ( Ctrl + X ). Затем перезапустите сервер:
sudo service nginx restart
Если вы хотите загружать файлы размером более 2 Мб на свой сайт WordPress, вам нужно увеличить переменные размера загрузки PHP в php.ini .
sudo nano /etc/php5/fpm/php.ini
Теперь нажмите Ctrl + W и найдите « upload_max_filesize » и установите его на 100 м .
upload_max_filesize=100M
Сделайте то же самое с post_max_size . post_max_size должен быть того же размера или больше, чем upload_max_filesize .
post_max_size=100M
Перезапустите PHP.
sudo service php5-fpm restart
Шаг седьмой: Настройка базы данных MySQL
На этом шаге мы создадим базу данных пользователя и таблицы. Идите и войдите в оболочку MySQL:
mysql -u root -p
Войдите в систему, используя свой пароль root для 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
Шаг восьмой: установка файлов WordPress
Мы почти закончили. Давайте приступим к установке WordPress.
Сначала перейдите в корневой каталог сайта:
mkdir /var/www/
cd /var/www/
Теперь загрузите последнюю версию WordPress:
wget http://wordpress.org/latest.tar.gz
Извлеките его из архива:
tar -xzvf latest.tar.gz
Дайте разрешения /var/www/wordpress
для www-data
пользователя. Это позволит в будущем автоматически обновлять плагины WordPress и редактировать файлы с SFTP.
sudo chown -R www-data:www-data wordpress/
sudo usermod -a -G www-data www-data
Вы сделали! Ваш новый сайт WordPress теперь готов. Просто перейдите на ваш сайт и завершите установку.