21 марта 2014

Установка связки MySQL+Apache+PHP на FreeBSD 9.1

Будем считать, что порты у нас обновлены, и мы можем смело приступать к развертыванию нашего будущего веб-сервера. Но для начала установим небезызвестную связку MySQL+Apache+PHP. В данной статье я буду устанавливать MySQL 5.6, Apache 2.4 и PHP 5.3 на FreeBSD 9.1.

1 . Первым делом установим MySQL сервер

#  cd /usr/ports/databases/mysql56-server/
#  make install clean

Добавим в автозагрузку
# echo mysql_enable=\"YES\" >> /etc/rc.conf

Стартуем сервис
# /usr/local/etc/rc.d/mysql-server start

Устанавливаем пароль для root. Это желательно сделать, так как беспарольный вход не желателен, да и для администрирования MySQL через phpMyAdmin нужен именно root с паролем.


# mysqladmin -u root password '12345'

2. Установка веб-сервера Apache

# cd /usr/ports/www/apache24/
make install clean

Из опций отмечаем поддержку MySQL

Добавим в автозагрузку
#echo apache24_enable=\"YES\" >> /etc/rc.conf

Стартуем сервис
# /usr/local/etc/rc.d/apache24 start

Он немного поматерится на то что не может зарезолвить имя нашего сервера, и то что он у нас никак не назван, и запустится.  Это мы можем проверить двумя способами:

# sockstat | grep 80

Покажет нам что демон httpd слушает 80-й порт
www      httpd      88554 3  tcp4   *:80                  *:*

Либо же ввести в браузер IP-адрес нашего сервера и увидеть пресловутое It works

Вернемся к жалобам апача. Выглядят они примерно так:
AH00557: httpd: apr_sockaddr_info_get() failed for myhost.my.domain
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

Первое решается добавлением имени нашей машины в файл /etc/hosts
# echo "127.0.0.1 myhost.my.domain " >> /etc/hosts

Второе раскомментированием строчки ServerName и изменением значения на имя нашего веб-сервера в файле httpd.conf конфигурации Apache.
# ee /usr/local/etc/apache24/httpd.conf
ServerName www.myhost.my.domain:80                      // Раскомментируйте эту строку

Перезапускаем Apache
# /usr/local/etc/rc.d/apache24 restart

И теперь вместо предупреждений у нас должно быть так:
Syntax OK
Starting apache24.

3. Установка PHP

# cd /usr/ports/lang/php53
#  make install clean

Из опций не забываем отметить установку модуля Apache

Собственно, по завершению установки порта, нам подсказывают что делать далее. 
***************************************************************
Make sure index.php is part of your DirectoryIndex.
You should add the following to your Apache configuration file:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

***************************************************************

Идем в файл конфигурации Apache и дописываем в него необходимое.
# ee /usr/local/etc/apache24/httpd.conf

Выглядеть должно так:
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>
Иначе сервер будет нам говорить что доступа к сайту нет, если вдруг у него заглавный файл имеет расширение *.php.

Ну и, как подсказывает нам установщик порта, добавим необходимые строки, описав что на нашем сервере будет работать такое приложение как PHP. Для этого найдите в файле httpd.conf первые две строки конфигурации, показанные ниже, и допишите две последних, как сказано в сообщении установщика.
    # If the AddEncoding directives above are commented-out, then you
    # probably should define those extensions to indicate media types:
    #
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

Что бы убедится что всё у нас заработало как нужно, перейдем в корневой каталог нашего сервера:
# cd /usr/local/www/apache24/data/

Создадим там файл
# touch phpinfo.php

И впишем в него код (<? phpinfo (); ?>) на языке PHP, который отображает сводную информацию о приложении. 
# echo "<? phpinfo (); ?>" >> phpinfo.php

Перезапускаем Apache
# /usr/local/etc/rc.d/apache24 restart

И теперь перейдя по адресу http://IP_нашего_сервера/phpinfo.php мы должны увидеть что то вроде этого.



Это свидетельствует о том что наш PHP установлен как надо, и готов к обработке PHP-скриптов.
На этом всё. Далее мы перейдем к установке phpMyAdmin для более удобного управления базой MySQL.