Web-сервер на FreeBSD 9.2 (nginx + PHP + MySQL + phpMyAdmin) | OS CONFIG

Web-сервер на FreeBSD 9.2 (nginx + PHP + MySQL + phpMyAdmin)

nginx — простой, быстрый и надёжный сервер, работающий на UNIX-подобных операционных системах.

В данной статье рассмотрим развёртывание этого web-сервера на FreeBSD 9.2 x64.

Перед тем, как выполнить все действия, описанные в этой статье, необходимо, чтобы была настроена сеть и желательно установлен Midnight Commander.

Первичные настройки после инсталляции можно посмотреть здесь.



Входим под суперпользователем root.

Устанавливаем Web-сервер nginx:

cd /usr/ports/www/nginx

make all install clean

прописываем службу nginx в автозагрузку в файл /etc/rc.conf:

nginx_enable=”YES”

Устанавливаем PHP:

cd /usr/ports/lang/php5

make all install clean

отметить FPM – Build FPM Version

FreeBSD_nginx_php_fpm_1

прописываем службу PHP-FPM в автозагрузку в файл /etc/rc.conf:

php_fpm_enable=”YES”

Создадим папку /usr/local/www/html и пропишем ей права Web-серверу:

mkdir /usr/local/www/html

chown –R www:www /usr/local/www/html

Устанавливаем MySQL-сервер 5.6:

cd /usr/ports/databases/mysql56-server

make all install clean

прописываем службу MySQL в автозагрузку в файл /etc/rc.conf:

mysql_enable=”YES”

Устанавливаем расширения PHP

cd /usr/ports/lang/php5-extensions

make all install clean

Отметим MySQL, MySQLi, MCRYPT и GD:

FreeBSD_nginx_php_fpm_2

Запустим службу MySQL:

service mysql-server start

Запускаем завершающий этап установки MySQL-сервера:

cd /usr/local/bin

mysql_secure_installation

и перезапускаем службу:

service mysql restart

Создадим в папке /var/log 2 файла: php-fpm-error.log и php-fpm-slow.log:

touch /var/log/php-fpm-error.log

touch /var/log/php-fpm-slow.log

В файле /usr/local/etc/php-fpm.conf убрать символ «;» и исправить следующие строки:

error_log = /var/log/php-fpm-error.log

slowlog = /var/log/php-fpm-slow.log

request_slowlog_timeout = 5s

В папке /var/tmp создадим папку nginx, а в ней – папку client_body_temp:

mkdir /var/tmp/nginx

mkdir /var/tmp/nginx/client_body_temp

В файле /usr/local/etc/nginx/nginx.conf раскомментируем и исправим следующие строки:

location / {

                root                       /usr/local/www/html;

                index                    index.php index.html index.htm;

location ~ \.php$ {

                root                       /usr/local/www/html;

                fastcgi_pass       localhost:9000;

                fastcgi_param   SCRIPT_FILENAME         $document_root$fastcgi_script_name;

                include                 fastcgi_params;

}

Теперь создадим файл /usr/local/www/html/info.php:

touch /usr/local/www/html/info.php

и в нём пропишем:

<?php

                phpinfo();

?>

После этого в папке /usr/local/etc скопируем файл php.ini-production в файл php.ini:

cd /usr/local/etc

cp php.ini-production php.ini

chmod u+w php.ini

Затем перезагрузим машину:

shutdown –r now

Проверим на другой машине в сети. Запустим браузер и введём:

http://IP-сервера/info.php

Должна отображаться информация о сервере.

Возвращаемся к серверу и устанавливаем phpMyAdmin:

cd /usr/ports/databases/phpmyadmin

make all install clean

Создадим жёсткую ссылку на phpMyAdmin в папке /usr/local/www/html:

ln –s /usr/local/www/phpMyAdmin /usr/local/www/html/pma

и проверим на другой машине в сети — запустим браузер и введём:

http://IP-сервера/pma

Должен отображаться web-интерфейс сервера MySQL.

Сервер готов. Наслаждайтесь!


Если Вам помогла статья, вы можете отблагодарить автора:
перечислить на WMR кошелёк (WebMoney): R301575071888
перечислить на Яндекс.Кошелёк: 410011003938168
или на PayPal:

Вы можете оставить комментарий, или ссылку на Ваш сайт.


Яндекс.Метрика
Проверка ТИЦ Яндекс цитирования