WorPress установка

Прежде чем начать установку подготовим www-сервер (у меня это nginx + php-fpm):

$ vi /etc/nginx/sites-available/imp
server {
listen 80;
## Your website name goes here.
server_name imp.tst-amo.net.ua;
## Your only path reference.
#root /home/www/imp;
## This should be in your http block and if it is, it's not needed here.
#index index.php;
return 301 https://tst-amo.net.ua$request_uri;
}

server {
# listens both on IPv4 and IPv6 on 443 and enables HTTPS and HTTP/2 support.
# HTTP/2 is available in nginx 1.9.5 and above.
listen *:443 ssl http2;
#listen [::]:443 ssl http2;
server_name imp.tst-amo.net.ua www.imp.tst-amo.net.ua;
## Your only path reference.
root /home/www/imp;

# Let'sCript
include acme.conf;
include /etc/nginx/conf.d/hsts.conf;
include /etc/nginx/conf.d/ssl.conf;

location = / {
#Учим WordPress работе с красивыми ссылками
index index.php index.html;
try_files $uri $uri/ /index.php?$args;
}

# Не сообщать об отсутствии favicon.ico
location = /favicon.ico {
log_not_found off;
access_log off;
}

# Не сообщать об отсутствии robots.txt
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}

# Запретить доступ к файлам, начинающимся с точки. Например .htaccess
location ~ /\. {
deny all;
}
# Запретить доступ к файлам php в директориях uploads, files.
location ~* /(?:uploads|files)/.*\.php$ {
deny all;
}

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

# Для файлов отключить логирование, установить максимальный срок жизни кэша.
location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|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 90d;
}

set $cache_uri $request_uri;

# Запретить кэширование, если используются POST запросы.
if ($request_method = POST) {
set $cache_uri 'null cache';
}

if ($query_string != "") {
set $cache_uri 'null cache';
}

# Запретить кэширование при доступе к служебным скриптам.
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.p
hp|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {
set $cache_uri 'null cache';
}

# Запретить кэширование, если используются cookie.
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
set $cache_uri 'null cache';
}

# Отдавать кэш.
location / {
try_files /wp-content/cache/supercache/$http_host/$cache_uri/index.html $uri $uri/ /index.php?$args ;
}

# Для файлов php отдавать обработку FASTCGI серверу.
location ~ [^/]\.php(/|$) {
root /home/www/imp;
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}

fastcgi_index index.php;
include fastcgi_params;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
$ sudo ln -s /etc/nginx/sites-available/imp /etc/nginx/sites-enabled/

$ sudo nginx -t
$ sudo nginx -s reload

$ sudo vi /etc/php-fpm.d/imp.tst-amo.net.ua.conf
[imp.tst-amo.net.ua]
listen = /var/run/php-fpm/imp.tst-amo.net.ua.sock
listen.mode = 0666
user = nginx
group = www-data
chdir = /home/www/imp

; В зависимости от нагрузки меняем параметры
pm = dynamic
pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 15
pm.max_requests = 500

request_slowlog_timeout = 3s
slowlog = /var/log/php-fpm/php-slow_www.log

; Default Value: clean env
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
$ sudo service php-fpm reload

Создаем каталог для нашего сайта:

$ sudo mkdir /home/www/imp 
$ sudo chown -R nginx:www-data /home/www/imp/
$ sudo chmod -R 755 /home/www/imp/
$ cd /home/www/imp

Загружаем последнюю версию системы управления контентом из официального сайта:

$ wget -c http://wordpress.org/latest.tar.gz

Распаковываем содержимое архива в текущую папку:

$ tar -xzvf latest.tar.gz

Копируем файлы WordPress из текущей директории wordpress в каталог /home/www/imp/:

$ rsync -av wordpress/* /home/www/imp/

Создаем БД для сайта:

$sudo mysql -u root -p

Введите пароль суперпользователя, а затем по очереди выполняйте такие команды для создания базы данных, пользователя и установки для них правильных привилегий:

mysql> CREATE DATABASE imp;
mysql> CREATE USER 'imp'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON imp.* TO 'imp'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Заходим на наш сайт и начинаем установку:

https://tst-amo.net.ua/imp

Добавим возможность работы по FTP (за это у меня отвечает ProFTPd)

# adduser imp -s /sbin/nologin -d /home/www/imp
# usermod -aG www-data imp
# ftpasswd --passwd --name=imp --change-password
# proftpd -t
# service proftpd reload
# ln -s /home/www/imp /home/

Проверяем.

image_pdfimage_print

Leave a Reply

Your email address will not be published. Required fields are marked *