# 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