среда, 13 мая 2009 г.

порт: apache 22 в системе FreeBSD 7.0

В этой статье описано как правильно установить и настроить web сервер apache 2.2 в системе FreeBSD 7.0. В Ubuntu установка намного проще, но мне надо было именно FreeBSD, настраивая я там биллинговую систему Abills, о чем возможно напишу чуть позже подробное руководство. И так, начнем пожалуй.

Для начала соберем apache из портов

Код:


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

Затем добавим в /etc/rc.conf строку для того что бы можно было запускать демона apache

Код:


apache22_enable="YES"

Теперь отредактируйте конфигурационный файл apache /usr/local/etc/apache22/httpd.conf командой

Код:


ee /usr/local/etc/apache22/httpd.conf

Найдите строку ServerName и впишите туда нужное вам значение, имя хоста или домен, и добавьте порт на котором будет слушать apache, например так

Код:


ServerName www.yourdomain.com:80

После этого надо загрузить модуль accf_http без которго apache в FreeBSD работать не будет, при попытке запуска будет ошибка типа httpready error. Загрузим модуль

Код:


kldload accf_http

Теперь добавим в /etc/rc.conf строку

Код:


accf_http_load="YES"

Теперь можно попробовать запустить apache, он управляется командой apachectl, примеры представлены ниже

Код:


apachectl start
apachectl restart
apachectl graceful
apachectl stop

Если вы редактировали конфигурационный файл /usr/local/etc/apache22/httpd.conf, вы можете проверить его на ошибки командой

Код:


apachectl configtest

Если apache все же не запускается проверьте следующие логфайлы

Код:


tail /var/log/messages
tail /var/log/httpd-error.log

Для создания виртуальных хостов вы можете использовать отдельные файлы для каждого хоста, или один файл, на ваще усмотрение.
Файлы виртуальных хостов вы можете поместить в директорию /usr/local/etc/apache22/Includes/, ниже приведен простой пример конфигурации виртуального хоста

Код:



DocumentRoot /usr/local/www/yourdomain
ServerAdmin root@yourdomain.com
ServerName www.yourdomain.com
ServerAlias stuff.yourdomain.com
CustomLog /usr/local/www/logs/domain-access_log combined
ErrorLog /usr/local/www/logs/domain-error_log


Для доступа к разным виртуальным хостам без домена вы можете использовать разные порты для apache, для этого найдите в конфигурационном файле /usr/local/etc/apache22/httpd.conf директиву Listen и добавьте к ней нужные вам порты

Код:


Listen 80
Listen 443
Listen 6000
Listen 6001
Listen 6002

Создайте виртуальных хост с указанием одного из этих портов, например

Код:


DocumentRoot /usr/local/www/yourdomain
ServerName 192.168.1.4


На этом пожалуй все, надеюсь эта статья помогла вам.

Комментариев нет: