Будем считать, что порты у нас обновлены, и мы можем смело
приступать к развертыванию нашего будущего веб-сервера. Но для начала установим
небезызвестную связку 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.