Запуск сервера (Автономный режим)

Чтобы запустить сервер в автономном режиме, достаточно просто добавить одну строку в сценарии, выполняемые при загрузке системы. В системе 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-узел!

Наши рекомендации