# 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