Запуск сервера (Автономный режим)
Чтобы запустить сервер в автономном режиме, достаточно просто добавить одну строку в сценарии, выполняемые при загрузке системы. В системе Linux этот файл сценариев называется /etc/rc.d/rc.local; в других системах он может носить имя /etc/rc.local, либо может потребоваться создание отдельного сценария в каталоге /etc/rc2.d. Если вы не знаете точно, обратитесь к руководству администратора, прилагаемому к вашей системе.
После того как местоположение требуемого файла определено, воспользуйтесь полномочиями суперпользователя (root) и откройте сценарий в редакторе. Добавьте в конец сценария следующие строки:
if [ -x /usr/local/etc/httpd/httpd ]
Then
echo "Starting HTTP Server"
cd /usr/local/etc/httpd httpd > /dev/console 2>&1
Else
echo "Can't start HTTP server!"
fi
Сохраните файл и выйдите из редактора. Добавленные вами строки проверяют, существует ли сервер HTTPd; если да, то производится его запуск. Хотя новые строки уже добавлены в сценарии, выполняемые при запуске системы, они не будут выполнены до тех пор, пока не будет произведена перезагрузка компьютера. Чтобы запустить сервер немедленно, необходимо, обладая полномочиями суперпользователя, ввести следующие команды:
ft cd /usr/local/etc/httpd ■./httpd
Если на экране или в файле /usr/local/etc/httpd/logs/error_log не появилось сообщений об ошибках, то запуск сервера можно считать произведенным успешно.
Запуск сервера (inetd)
Чтобы сервер запускался из демона inetd, нужно внести изменения в два файла. Первый из них, /etc/services, используется для определения хорошо известных портов и использующих их протоколов. Если для совместного использования в сети системных баз данных используется механизм NIS (также известный под названием YP), то необходимо произвести обновление этих системных баз при помощи команды yppush, чтобы изменения, сделанные в файле, возымели действие. Воспользовавшись привилегиями суперпользователя, откройте файл /etc/services и добавьте в его конец строку
Http 80/tcp
Вторым файлом, в который необходимо внести изменения, является файл /etc/inetd.conf. Это файл конфигурации inetd. В нем указываются номера портов, которые должен прослушивать демон inetd, и действия, предпринимаемые при обнаружении соединения. Не отказываясь от полномочий суперпользователя, откройте файл /etc/inetd.conf и добавьте в его конец следующую строку (подчеркиваем, что все это ‑ одна строка):
Http stream top nowait root /usr/local/etc/httpd/httpd httpd
Такая строка должна работать для большинства систем UNIX. Заслуживающим отдельного упоминания исключением является система Ultrix, в которой используется следующий формат:
Http stream tcp nowait /usr/local/etc/httpd/httpd
Четвертое поле, которое в Ultrix не используется, указывает демону inetd, с полномочиями какого пользователя следует запускать сервер. Система Ultrix не позволяет задавать имя пользователя; серверы, запускаемые из inetd, всегда работают с полномочиями пользователя root. Поскольку это представляет потенциальную угрозу нарушения защиты информации, вам следует при помощи директивы User в файле conf/httpd.conf заменить имя пользователя на более подходящее, например nobody.
После того как в файлы /etc/services и /etc/inetd.conf добавлены необходимые строки, необходимо известить демон inetd об изменениях в его файлах конфигурации. Для этого узнайте номер процесса inetd (его PID) и пошлите демону сигнал HUP (hang-up). Это делается при помощи следующих команд (в системах линии System V, например, Solaris и Irix, в команде ps следует вместо указанных флагов использовать флаги -aef):
# ps -aux | grep inetd
root 11253 0.0 3.4 156 256 p5 S 23:01 0:00 grep inetd root 43 0.0 1.0 72 80 con S Feb 1 0:00 /usr/sbin/lned Kkill -HUP 43
По получении сигнала HUP демон inetd заново считывает файл /etc/inetd.conf и начинает прослушивание на предмет наличия HTTP-соединений.
Тестирование сервера
После того как сервер запущен, следует провести его тестирование. Если у вас уже есть какие-нибудь страницы, можно попробовать извлечь одну из них при помощи броузера. Если Web-страниц у вас пока нет либо вы не располагаете броузером, можно протестировать сервер, непосредственно введя следующие команды:
$ telnet localhost 80
Trying 127.0.0.1
Connected to localhost.
Escape character is "']'
Тем самым открывается соединение с HTTP-портом сервера. Когда соединение успешно установлено, можно убедиться, что все работает. Для этого введите следующую строку, завершив ее двукратным нажатием клавиши Return:
HEAD / НТТР/1.0
Ответ должен выглядеть приблизительно следующим образом:
НТТР/1.0 200 OK
Date: Friday, 12-Dec-94 05:44:30 GMTServer: Apache/1.1
MIME-version: 1.0
Content-type; text/html
Last-modified: Sunday, 12-Dec-94 01:21:23 GMT
Content-length: 2342
Connection closed by foreign host
Поздравляем, ваш Web-сервер работает! Теперь можно приступать к работе над содержимым, призванным прославить ваш Web-узел!