Установка WordPress Nginx Php-Fpm Mysql

# cd /usr/ports/www/nginx
# make install clean
# cd /usr/ports/lang/php5
# make install clean
# cd /usr/ports/databases/mysql55-server
# make install clean
# cd /usr/ports/www/wordpress
# make install clean

При установке PHP не забываем про связку с Nginx в опции выбираем : FPM

# echo 'mysql_enable="YES"' >> /etc/rc.conf
# echo 'php_fpm_enable="YES"' >> /etc/rc.conf
# echo 'nginx_enable="YES"' >> /etc/rc.conf 

Mysql:

# /usr/local/etc/rc.d/mysql-server start

Создаем базу и даем права на папку!

# /usr/local/bin/mysql_install_db
# chown -R mysql /var/db/mysql/
# /usr/local/bin/mysqladmin -u root password пароль для Mysql

Выполняем команду

# /usr/local/bin/mysql_secure_installation

Сначала — вводим пароль root:

Enter current password for root (enter for none):

Нам предложат не менять его:

You already have a root password set, so you can safely answer ‘n’.
Change the root password? [Y/n]

жмем n.

Далее — удаляем пользователя anonymous:

Remove anonymous users? [Y/n] Y

Запретить удаленное подключение пользователю root? У меня доступ из-вне вообще будет запрещен:

Disallow root login remotely? [Y/n] Y

Удалить базу test и доступ к ней?

Remove test database and access to it? [Y/n] Y

Обновить таблицу привилегий? Да.

Reload privilege tables now? [Y/n] Y

Thanks for using MySQL!

Заходим в консоль Mysql

# mysql -u root -p
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'::1' IDENTIFIED BY "пароль рута" WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY "пароль рута" WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'имя сервера' IDENTIFIED BY "пароль рута" WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY "пароль рута" WITH GRANT OPTION;
mysql> DROP USER ''@'localhost';
mysql> DROP USER ''@'имя сервера';
mysql> CREATE DATABASE wordpress;
mysql> GRANT ALL ON wordpress.* to 'wordpress'@'localhost' IDENTIFIED BY 'пароль для WORDPRESS';
mysql> GRANT ALL ON wordpress.* to 'wordpress'@'имя сервера' IDENTIFIED BY 'пароль для WORDPRESS';
mysql> GRANT ALL ON wordpress.* to 'wordpress'@'IP адрес для инсталяции WordPress' IDENTIFIED BY 'пароль для WordPress';
mysql> FLUSH PRIVILEGES;
mysql> QUIT; 

стартуем

 # /usr/local/etc/rc.d/mysql-server start 

PHP-FPM

редактируем конфиг:

# ee /usr/local/etc/php-fpm.conf 

вносим следующие изменение :

events.mechanism = kqueue
listen = /var/run/php-fpm.sock
listen.owner = www
listen.group = www
listen.mode = 0666

стартуем:

# /usr/local/etc/rc.d/php-fpm start

WordPress

# cd /usr/local/www/wordpress/
# cp wp-config-sample.php wp-config.php
# chmod 640 wp-config.php
# ee wp-config.php

ищем строчки и вписываем свои значения:

define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'пароль WordPress');
define('DB_HOST', 'IP нашего сервера');

Чуть ниже находим такие строчки

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

В кавычки нужно ввести всякую фигню =).
Это сделано специально, чтобы осложнить подбор паролей.

сохраняем и выходим.

Nginx

# ee /usr/local/etc/nginx/nginx.conf
user  www www;
worker_processes  4;

pid /var/run/nginx.pid;

error_log  /var/log/nginx.error_log  info;

events {
    worker_connections  1024;
    use kqueue;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    gzip  on;

    server {
        listen 80;
        server_name your_hostname;

        root /usr/local/www/wordpress;
        index index.php;

        #charset koi8-r;

        location / {
           # If requested URI does not match any existing file, directory or symbolic link, rewrite the URL to index.php
           if (!-e $request_filename) {
               rewrite ^ /index.php last;
           }
        }

        # For all PHP requests, pass them on to PHP-FPM via FastCGI
        location ~ \.php$ {
           fastcgi_pass unix:/var/run/php-fpm.sock;
           fastcgi_param SCRIPT_FILENAME /usr/local/www/wordpress$fastcgi_script_name;
           fastcgi_param PATH_INFO $fastcgi_script_name;
           include fastcgi_params; # include extra FCGI params
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/local/www/nginx-dist;
        }
    }
}

стартуем:

# /usr/local/etc/rc.d/nginx start

Далее открываем наш браузер пишем ip/wp-admin/install.php