Очень часто (да почти всегда) нам требуется web-сервер, чтоб хотя бы просто запустить какую ни никакую админку, хотя эта тема уже много раз поднималась, все же я размещу здесь статью по настройке вышеупомянутой связки. Сильно заморачиваться не будем и ставим все из портов. Ставил все практически по умолчанию, не влезал в дебри. В итоге получилась вполне нормальная конфигурация.По очереди:

Cтавим mysql:

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

После установки, пропишем в автозапуск mysql51, для этого дописываем в /etc/rc.conf строчку:

# echo 'mysql_enable="YES"' >> /etc/rc.conf 
# rehash

запускаем mysql51:

# /usr/local/etc/rc.d/mysql-server start

потом нужно сделать пароль от root юзера мускула:


# /usr/local/bin/mysqladmin -u root password 'new-password'

new-password - ваш придуманный пароль. только не забудьте его :-), и на этом установка mysql51 завершена.

Ставим Apache22:

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

В меню выбираем нужные нам опции. После установки для автозапуска в /etc/rc.conf:

# echo 'apache22_enable="YES"' >> /etc/rc.conf 
# rehash

Запускаем apache:

# apachectl start

должен стартануть... но скорее всего вылезут ошибки:

[warn] (2)No such file or directory: Failed to enable the ‘httpready’ Accept Filter

Исправляется данная ошибка так:

# kldload accf_http
# /usr/local/etc/rc.d/apache22 restart
# echo 'accf_http_load="YES"' >> /boot/loader.conf

Пробуем перезапустить Апач... ошибок быть не должно.

Ставим библиотеки PHP5 (не забываем указать про поддержку MySQL):

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

Выбираем нужные модули. Потом ставим еще дополнительные расширения:

# make install clean

И опять выбираем нужные модули. После того как все стало редактируем файл конфигурации апача: /usr/local/etc/apache22/httpd.conf Ищем строчки с надписями AddType и дописываем туда:

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

Так мы объясняем апачу, что делать с файлами с расширениями php и phps.

И ещё.

Ищем строки:

<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

И меняем их на:

<IfModule dir_module>
DirectoryIndex index.html index.shtml index.htm index.php
</IfModule>

Так мы объясняем апачю, что файлы index.shtml index.htm index.php тоже надо открывать первыми, так же как index.html

Сохраняем.

Рестартуем апач.

# apachectl restart

Проверить работу можно так, для этого в www директории апача, по умолчанию она находится /usr/local/www/apache22/data надо создать файл например index.php содержащий код:

<?php 
echo info();

После пробуем обратиться по локальному адресу компа где ставили апач, к примеру http://192.168.1.1 и если работает, увидим много параметров о пхп, апаче и модулях, которые были установлены.

Всё.