Все о Linux по русски
 О нас  Новости с LinuxNews

 Новости   Документация    ЧаВО    Форум

Ваш LinuxNews   Подписка  

 
*Устанавливаем Russian Apache - multik (26-Feb-2001, 14:06)
Данный текст описывает установку Russian Apache без каких-либо дополнительных
модулей. По идее, в большинстве современных дистрибутивов идет уже настроенный
Apache, но многим нужен именно Apache с перекодировкой.

Первое, что вам необходимо сделать - это взять пакет с apache с apache.lexa.ru.
Данный текст будет основываться на том, что у вас пакет
apache_1.3.14rusPL30.0.tar.gz. Но приведенные рекомендации будет верны и в том
случае, если у вас другая версия - вам надо будет лишь сменить имена файлов.

Итак, разворачиваем Apache командой

tar zxvf apache_1.3.14rusPL30.0.tar.gz

У вас возникнет каталог apache_1.3.14rusPL30.0, в котором будет размещены
исходные тексты сервера.

Переходим в каталог с Apache

cd apache_1.3.14rusPL30.0

Теперь - необходимо настроить все необходимое для сборки Apache. Это выполняет
команда configure. Необходимо учесть, что просто запуск этой команды приведет к
генерации конфигурационных файлов по умолчанию. То есть Apache будет установлен
в каталог /usr/local/apache, он будет запущен от пользователя nobody, в него не
будет вкомпилен mod_rewrite и так далее. Для 99% пользователей такая
конфигурация подходит как нельзя лучше. Но мы же с вами не 99%?

Итак, для указания места, куда абудет инсталлироваться Apache, служит параметр
--prefix=. Указав --prefix=/apache мы укажем инсталлятору, что все файлы будут
располагаться в каталоге /apache. Ну или в любом другом по вашему вкусу.

Параметр --enable-module служит для включения в компиляцию модулей, которые по
умолчанию не включаются. Это auth_anon, auth_dbm, auth_db, auth_digest,
cern_meta, digest, example, expires, headers, info, log_referer, mime_magic,
mmap_static, proxy, rewrite, so, speling, unique_id, usertrack, vhost_alias.
Многие из них вам никогда не понадобятся (особенно модуль example), но часть
вам может и пригодиться, особенно модули proxy, rewrite, so. Указав
--enable-module=rewrite мы скажем конфигуратору, что желаем скомпилировать
модуль mod_rewrite.

Теперь подумаете - нужны вам модули статически собранные или динамически?
Статически - это когда модули "намертво" вкомпилированы в тело httpd и не могут
выгружаться/загружаться динамически. Для большинства веб-серверов сборка
модулей статически вполне оправдана - получается монолит, с которым потом
меньше хлопот и возни. Но, к примеру для крупных серверов, которые одновременно
обслуживают множество виртуальных хостов, "динамическая" сборка может оказаться
выгоднее - администратор может распределять между веб-верверами "доступность"
модулей. Для возможности подключения модулей не забудьте указать необходимость
включения модуля so статически в httpd. Именно он отвечает за возможность
подгрузки модулей.

Для указания модулей, которые необходимо собрать динамически, необходимо
указать их имена в параметре --enable-shared=.

Теперь осталось указать, под каким пользователем будет работать сервер Apache.
По умолчанию стоит пользователь nobody, но с помощью параметра
--server-uid= вы сможете поменять UID на любой тербуемый вам (UID, а не имя!).

Например, для пользователя nobody в моей системе это будет:

multik# cat /etc/passwd|grep nobody
nobody:x:99:99:Nobody:/:

UID=99.

Итак, давайте приготовим Apache к компиляции.

Выполним команду

./configure --prefix=/www --enable-module=rewrite
--enable-module=so --enable-module=proxy --enable-shared=proxy

Этой командой мы даем указание конфигуратору приготовить Apache к установке
в каталог /www, включить модули rewrite, so и proxy, выделив модуль proxy
как динамически загружаемый.

Если конфигурация прошла без ошибок, то мы можем с легким сердцем дать
команду make для начала компиляции.

После того, как make отработал (надеюсь, без ошибок - если есть ошибки,
смотрите, чего компилятору не хватает), вы должны уйти с помощью команды
su под пользователя, обладающим необходимыми правами для записи в выбранный
каталог и выполнить команду make install. Инсталлятор перепишет все
необходимые файлы в выбранный каталог (в нашем случае это /www) и выдаст
расположение конфигурационного файла (/www/conf/httpd.conf) и команду запуска
apache (/www/bin/apachectl start).

Но мы сразу запускать сервер не будем - давайте проверим, все ли на месте -
дадим команду /www/bin/httpd -l, которая заставит сервер вывести список всех
модулей, которые вкомпилированы в него. Как мы и видим, mod_so и mod_rewrite
включены, а mod_proxy в списке отсутствует. Все, как и должно быть - ведь
мы сказали собрать модуль proxy динамически, и пока мы его не включим командой
LoadModule в httpd.conf - он никак запускаться не будет.

Теперь можно и запустить сервер - /www/bin/apachectl start. Теперь с чистой
душой мы можем набрать в браузере 127.0.0.1 и увидеть тестовую страницу сервера.Если вы собирали apache не на своей машине, то вместо 127.0.0.1 наберите ip
адрес машины или ее имя - по умолчанию (ведь мы ничего не меняли) он "садится"
на все доступные интерфейсы на 80й порт.

Вот и все - вы стали обладателем собственого www-сервера. Для остановки-запуска
используйте утилиту apachectl - она сделает все, что необходимо.

Как совет - после правки httpd.conf и перед перезапуском сервера я рекомендую
проверить правильность синтаксиса файла командой apachectl configtest. Она
проверит синтаксис файла и укажет на те строки, из-за которых сервер
может не запуститься.

Как маленький совет - я часто переименовываю утилиту apachectl в httpd и заменяюей в каталоге /etc/rc.d/init.d "оригинальный" httpd, который идет вместе с
дистрибутивом. Если вы его не ставили, то просто скрпируйте apachectl в нужный
каталог и сделайте аналогичные ссылки с соответвующих rc{x}.d - теперь Apache
будет запускаться и останавливаться вместе с системой. Как правильно прописать
ссылки - это уже другая тема.

(с) 2001 Вячеслав Калошин. multik@asplinux.ru

 Ответить на сообщение, помеченное *

Имя
E-mail
Заголовок
Текст
 
 
Top 10
35 Разгоняем жесткие диски
19 Веселие Руси есть Linux`ы
15 Lazarus - открытый ответ Kylix
14 ReiserFS - any comments?
10 120 mb + Linux
9 Новый форум
9 QNX свободна для некоммерческого использования ...
9 Эволюция идет. Полным ходом.
9 локализация Slackware 7.x
8 Никто не знает как дать права root какому либо пользователю
 
freshmeat.net
Mindless Automaton 0.81
Linux 2.4.3pre4
sng 0.9.4
aee 2.2.7
GNU glpk 2.2
KTouch 0.9
GNU cgicc 3.1.5
textutils 2.0.12
Fast Lexical Analyzer Generator 2.5.4a
XLogical 1.0-6
 
appwatch.com
XawTV 3.39
GNU LilyPond 1.3.139
GNU Backgammon 0.10
AutoGen 5.1.4
wmakerconf 2.8.1
Achievo 0.5.4
gPS 0.9.5
Sapphire 0.15.7pre8
heartbeat 0.4.9
GTM 0.4.7
TopList

 Авторское право

 
(c) 2001 SWsoft Pte Ltd.