Очень часто (да почти всегда) нам требуется 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 и если работает, увидим много параметров о пхп, апаче и модулях, которые были установлены.
Всё.