= WEB-design =
la_serg
Свой Веб-Сервер
продолжение: начало в #58
Сегодня мы подробно разберем установку веб-сервера. Какой сервер
выбрать? Дело вкуса. Лично я предпочитаю apache по причинам его
бесплатности, распространенности, и так далее, и тому подобное.
Ставить apache мы будем на Mandrake Linux SE 2001. Для начала идем
на http://httpd.apache.org
и качаем оттуда последнюю версию (на момент написания последняя
версия 1.3.20. О ней и пойдет речь).
Переходим в папку, где лежит скачанный файл apache_1.3.20.tar.gz
(здесь и дальше shell команды выполняются с правами пользователя
root)
# cd /home/serg
теперь надо разархивировать файл:
# gzip -d apache_1.3.20.tar.gz
# tar -xf apache_1.3.20.tar
Получаем директорию apache_1.3.20, в ней содержатся исходники и
readme. Также есть файл INSTALL, который подробно описывает возможные
пути установки. Запускаем конфигуратор по умолчанию
# ./configure
Если вам надо изменить параметры стандартной установки (изменить
директорию страничек, скриптов, логов, пользователя, под которым
будет работать сервер, или что-нибудь еще), то вы должны запустить
конфигуратор со специальными параметрами. Следующая команда выводит
список всех параметров конфигуратора с небольшими пояснениями.
# ./configue --help
Теперь после того, как приготовления завершены, говорим
# make
Это запускает компиляцию исходников в исполняемые двоичные файлы.
После компиляции говорим
# make install
Всё, апачи установлен и находится в каталоге /usr/local/apache
(если Вы не меняли параметр PREFIX у configure). Чтобы запустить
апачи, даем команду:
# /usr/local/apache/bin/apachectl start
Сервер запущен и работает. Вы можите смело открывать браузер и
набирать в нем 127.0.0.1 Ура! Приветственная страница перед вами.
Исходники сервера нам больше не нужны, и мы смело их удаляем:
# cd ..
# rm -R apache_1.3.20
Теперь посмотрим внимательней, что мы имеем. Переходим в дирректорию
сервера:
# cd /usr/local/apache
Внутри есть несколько интересных подкаталогов cgi-bin и htdocs
- это папки для скриптов и страничек соответственно. Директория
icons содержит иконки для различных типов файлов. Для чего это нужно?
Вы, наверное, видели, что некоторые сайты при наборе URL выдают
не страничку, а список файлов на сервере. Вот для формирования этого
списка и используются иконки из этой дирректории. Папка logs содержит
логи работы www сервера. Здесь вы можете найти все: кто, когда и
что смотрел у вас, какое использовал при этом ПО. Сюда же заносится
информация об ошибках на сервере (обращение к отсутствующим файлам,
ошибки в скриптах и прочее). Папка conf содержит конфигурационные
файлы нашего сервера. Давайте более подробно рассмотрим конфигурацию
apache.
Надо заметить, что apache конфигурируется независимо от платформы,
т.е. конфигурационный файл на linux выглядит точно так же как его
аналог в Windows. Переходим в папку conf
# cd conf
Здесь находится 3 файла, отвечающих за конфигурацию. Это: access.conf
httpd.conf и srm.conf. В apache версии 1.3 не рекомендовано использовать
файлы srm.conf и access.conf. В более старых версиях настройки были
разнесены на 3 файла, сейчас для удобства все настройки собрали
в 1 файл - httpd.conf.
Давайте рассмотрим структуру этого файла. httpd.conf состоит из
нескольких секций. Первая секция называется "Общие настройки" (Global
Environment). Раздел содержит следующие настройки:
1. ServerType определяет тип сервера. Возможные варианты - standalone
или inetd standalone - стандартный вариант, inetd - работает только
на unix системах.
2. ServerRoot указывает каталог, в который установлен наш апачи.
3. Вы можете подключить файлы access.conf и srm.conf опциями AccessConfig
и ResourceConfig соответственно. По умолчанию они закомментированы
(соотв. настройки берутся из httpd.conf).
4. Timeout устанавливает время в секундах между запросом и выдачей
ошибки (если за указанное время после запроса не получен ответ -
выдается сообщение о timeout)
5. KeepAlive разрешает или запрещает постоянные соединения (более
одного запроса за соединение) с сервером. Значения On или Off
6. MaxKeepAliveRequests максимальное число запросов в течение одного
сеанса. 0 - число запросов не ограничено.
7. KeepAliveTimeout максимальный промежуток времени между запросами
в течение одного сеанса (в секундах).
8. StartServer устанавливает количество серверов, которое необходимо
создать при запуске (каждый сервер - отдельный процесс. Апачи контролирует
загруженность своих процессов и при необходимости создает или убивает
еще один процесс).
9. MinSpareServers, MaxSpareServers обуславливают минимальное
и максимальное количество процессов apache.
10. MaxClients устанавливает максимальное количество пользователей
(на все процессы), которые одновременно могут обращаться к серверу.
11. Listen заставляет apache "слушать" указанные порты и/или ip
адреса
12. BindAddress позволяет поддерживать виртуальные сайты. В этой
опции может быть указано "*", ip адрес или полное доменное имя.
13. LOadModule подключает модуль в формате DSO
14. ExtendedStatus определяет полноту сообщений, выдаваемых apache.
Значения - on или off. Значение по умолчанию (опция закомментирована)
- off.
На этом раздел конфига закончен. Продолжения темы читайте в
следующ их номерах.
#18(59)/04.09.2001
|