- OS CONFIG - http://osc.dondub.com -

Установка Apache 2.4 + PHP 5.6 + MySQL 5.6 + phpMyAdmin на FreeBSD 10.1

В этой статье рассматривается развёртывание последних (на данный момент) компонентов связки FreeBSD + Apache + PHP + MySQL + phpMyAdmin.

Статья является аналогом старой статьи, где описывалась установка связки FreeBSD 9.0 + Apache 2.2 + PHP 5.4 + MySQL 5.5. Однако появились некоторые, хоть и незначительные изменения.

Устанавливаем Apache 2.4 из портов

cd /usr/ports/www/apache24

make all install clean

В файл /etc/rc.conf добавляем строчку

apache24_enable=»YES»

В файле /usr/local/etc/apache24/httpd.conf раскомментируем строчку ServerName

ServerName www.localserver12.ru:80

Находим строчку DirectoryIndex и допишем в неё:

DirectoryIndex index.html index.htm index.php index.shtml

 

Теперь запускаем службу Apache:

service apache24 start

Если запуск не выдал никакой ошибки, переходим к следующему шагу.

Устанавливаем сервер MySQL версии 5.6 из портов:

cd /usr/ports/databases/mysql56-server

make all install clean

В файл /etc/rc.conf добавим строку

mysql_enable=»YES»

Запускаем службу:

service mysql-server start

После этого необходимо запустить скрипт mysql_secure_installation

/usr/local/bin/mysql_secure_installation

В нём создаются пароль root для сервера БД и необходимые параметры.

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

service mysql-server restart

Если запуск не выдал никакой ошибки, переходим к следующему шагу.

Устанавливаем PHP версии 5.6 из портов:

cd /usr/ports/lang/php56

make all install clean

В появившемся диалоговом окне оставляем всё по умолчанию.

Затем переходим к установке расширений PHP 5.6 из портов:

cd /usr/ports/lang/php56-extensions

make all install clean

В появившемся диалоговом окне отмечаем: BCMATH BZ2 CALENDAR CTYPE CURL DOM FILTER GD HASH ICONV JSON MBSTRING MCRYPT MYSQL MYSQLI

Готово.

Теперь устанавливаем модуль PHP версии 5.6 для Apache из портов:

cd /usr/ports/www/mod_php56

make all install clean

В папке /usr/local/etc/apache24/Includes создаём файл php-application.conf и внесём в него 2 строчки:

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phpsXsource

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

cd /usr/local/etc

cp php.ini-production php.ini

и присвоим ему необходимые права

chmod u+w php.ini

Перезагружаем машину:

shutdown -r now

После перезагрузки для проверки в папке /usr/local/www/apache24/data создадим файл info.php с таким содержанием:

<?php

phpinfo();

?>

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

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

Появится страница с информацией о системе и сервере.

Затем устанавливаем phpMyAdmin из портов:

cd /usr/ports/databases/phpmyadmin

make all install clean

После установки переходим в папку /usr/local/etc/apache24/Includes и в нём создадим файл phpmyadmin.conf с таким содержанием:

Alias /phpmyadmin «/usr/local/www/phpMyAdmin/»

<Directory «/usr/local/www/phpMyAdmin/»>

Options none

AllowOverride Limit

Order Deny,Allow

Require all granted

</Directory>

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

service apache24 restart

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

http://IP-адрес-сервера/phpmyadmin/setup/

Появится страница установки phpMyAdmin. Какие действия там надо совершить думаю, описывать не стоит. Там и так всё понятно.

далее, при наличии DNS-сервера и A и CNAME записей можно описать виртуальные хосты и SSL.

для этого в файле /usr/local/etc/apache24/httpd.conf найдём и раскомментируем строчку:

Include etc/apache24/extra/httpd-vhosts.conf

затем открываем файл /usr/local/etc/apache24/extra/httpd-vhosts.conf, закомментируем или удалим ненужные строки (которые прописаны по умолчанию), и пропишем в нём примерно такие:

для subdomain.localserver12.ru и localserver34.ru

<VirtualHost *:80>

ServerName subdomain.localserver12.ru

ServerAdmin admin@localserver12.ru

DocumentRoot /usr/local/www/apache24/vhosts/subdomain.localserver12.ru/www

ServerAlias www.subdomain.localserver12.ru

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

<VirtualHost *:80>

ServerName localserver34.ru

ServerAdmin admin@localserver34.ru

DocumentRoot /usr/local/www/apache24/vhosts/localserver34.ru/www

ServerAlias www.localserver34.ru

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Строчка DocumentRoot может быть у каждого своя, в зависимости от того, где располагаются файлы данного сайта.

ServerName — это доменное имя, которое обязательно должно быть описано в A и CNAME-записях.

Перезапускаем Apache

service apache24 restart

и проверяем на другой машине в сети в браузере.

Для виртуальных хостов SSL также необходимо в первую очередь в файле /usr/local/etc/apache24/httpd.conf раскомментировать строчку

Include etc/apache24/extra/httpd-ssl.conf

и сделать всё аналогичным образом, как описано в файле httpd-ssl.conf, не забывая при этом про A и CNAME-записи 🙂

Сервер готов!