Apache & Linux.
В наше время практически у каждого уважающего себя юзера с доступом в инет
есть своя пага, и ты, наверное, не исключение. Безусловно тебе хочется, чтобы
твой сайт модно смотрелся на серваке, а это означает, что ты хочешь постоянно
лицезреть, как он выглядит после нового модного скрипта. Из всего этого можно
сделать вывод, что тебе необходим локальный web-сервер с поддержкой выполнения
cgi-приложений (aka perl-скриптов), php других прелестей веб-дизайна. В этой
статье будет рассмотрена настройка популярного веб-сервера со всевозможными
примочками (а именно Apache) под Linux, так как это самая простая операционная
система из семейства *nix, а фанаты виндов пусть мучаются со всякими там
ActivePerl'ами и периодическими подвисаниями их детища :).
Установка Apache'а нас совершенно не колбасит по причине его наличия во всех
известных линухах (если же у тебя он каким-то образом таинственно пропал или
тебе не терпится скачать версию посвежее и навешать всяких радостей на него, то
рекомедуется посетить http://apache.org).
Конфиги находятся в /etc/httpd/conf/, нас интересуют httpd.conf,
commonhttpd.conf. В первом из них расположились главные настройки web-сервера, в
"Main Configuration Section" нас уже злобно предостерегают что-либо менять, пока
мы не станем реальными гуру... Этот раздел должен выглядеть приблизительно так:
ServerType standalone
ServerRoot /etc/httpd
#ServerName localhost
#LockFile /etc/httpd/httpd.lock
PidFile /var/run/httpd.pid
ScoreBoardFile /etc/httpd/httpd.scoreboard
ErrorLog logs/error_log
LogLevel warn
ResourceConfig /dev/null
AccessConfig /dev/null
Здесь можно ничего не трогать, конечно же кроме ServerName, где localhost
смотрится не стильно (чтобы этот параметр заработал надо снять значок
комментария "#" в начале этой строки). Дальше любопытна секция "Performance
settings Section", в которой присутствуют параметры Timeout'а, функции KeepAlive
(поддержка нескольких одновременных запросов подключения к нашему серверу),
MaxKeepAliveRequests (максимальное количество таких запросов), KeepAliveTimeout,
StartServers (количество инициализационных серверов), MaxClients (лимит
клиентов, которые могут одновременно коннектиться).
Но все же апогей конфигурирования Apache'а достигается в commonhttpd.conf! Итак,
рассмотрим важнейшие его свойства:
ServerAdmin root@localhost #e-mail, на который будут присылаться все траблы
сервака
DocumentRoot /var/www/nix #корневой каталог сервера
Alias /pix /var/pix #пример алиаса каталога - при обращении на
http://127.0.0.1/pix сервак будет обращаться к каталогу /var/pix твоего компа
ScriptAlias /cgi-bin/ /var/www/nix/cgi-bin/ #пример алиаса каталога cgi-скриптов
- аналогично, с Alias
AddIconByType (TXT,/icons/text.gif) text/* #добавление различных иконок в
каталоги сервера
DefaultIcon /icons/unknown.gif #дефолтовая иконка, которая будет устанавливаться
на файлы, к которым таковой нет
AddDescription "tar archive" .tar #добавляет краткое описание к файлам данного
формата
#пример добавления каталога с html-файлами
< Directory /var/www/nix_new>
AllowOverride All
Options FollowSymLinks MultiViews
Order allow,deny
Allow from all
< /Directory>
#пример добавления каталога с cgi-скриптами
< Directory /var/mywww/nix/cgi-bin>
AllowOverride All
Options +ExecCGI -Includes -Indexes
SetHandler cgi-script
< /Directory>
#пример добавления файла с поддержкой iss
< Location /new/index.shtml>
Options +Includes
< /Location>
#пример добавления каталога защищенных cgi-скриптов
< Directory /var/www/nix/protected-cgi-bin>
AllowOverride None
Options ExecCGI
Order deny,allow
Deny from all
Allow from 127.0.0.1
< /Directory>
После всех изменений осталось просто запустить httpd ( /etc/rc.d/init.d/httpd
start ), а также (по желанию) занести в инициализацию Linux'а ( ntsysv ).