LinuxУстановка Apache 2 из исходников

ApacheКак вы знаете, в составе почти всех Linux-дистрибутивов есть веб-сервер Apache. Однако я рекомендую все-равно вручную скачать исходные коды последней версии Apache, скомпилировать и установить вручную.

В этой небольшой заметке я расскажу как это делать. Прошу заметить, что эта статья написана исключительно для новичков.

Кроме того, говорят, скомпилированный вручную Apache будет работать быстрее, чем установленный стандартным способом. Так как происходит оптимизация под ваш процессор. Статья преимущественно для RedHat-based дистрибутивов, но, с некоторыми изменениями работает и для других систем.

1. Скачайте Apache

Скачайте последнюю версию исходных кодов с Apache HTTP Server Project. На момент написания данной статьи последний релиз был 2.2.13. После чего переместитесь в /usr/local/src и разархивируйте так, как это показано ниже.

cd /usr/local/src
gzip -d httpd-2.2.13.tar.gz
tar xvf httpd-2.2.13.tar

2. Установите Apache

Просмотреть все доступные опции конфигурирования можно с помощью команды ./configure --help(две черточки перед help). Наиболее часто используемая: --prefix={install-dir-name} для установки Apache в нужную вам дирректорию.

cd httpd-2.2.13
./configure --help

Остальные настройки и описания к ./configure вы можете посмотреть в официальной документации.

По умолчанию Apache будет установлен в /usr/local/apache2 (с поддержкой Dynamic Shared Object). Используя префикс --enable-so, вы можете подгружать модули во время работы через механизм Dynamic Shared Object.

Я ставил свой веб-сервер со следующими параметрами:

./configure --enable-so --enable-mem-cache
make
make install

Внимание: Во время выполнения ./configure может выскочить следующая ошибка:

./configure --enable-so --enable-mem-cache
 
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
configure failed for srclib/apr

Для решения проблемы установите gcc и сопутствующие ему модули, и выполните ./configure снова.

rpm -ivh gcc-4.1.2-14.el5.i386.rpm glibc-devel-2.5-18.i386.rpm glibc-headers-2.5-18.i386.rpm kernel-headers-2.6.18-53.el5.i386.rpm

Или воспользовавшись менеджером пакетов yum:

yum install gcc
 
Preparing...                 ########################################### [100%]
1: kernel-headers       ########################################### [ 25%]
2: glibc-headers         ########################################### [ 50%]
3: glibc-devel             ########################################### [ 75%]
4: gcc                        ########################################### [100%]

3. Запуск Apache

cd /usr/local/apache2/bin
./apachectl start

Теперь введите в браузере http://localhost/. Вам должна вывестись страница с надписью «It Works!».

4. Автоматический запуск Apache во время старта системы

Отредактируйте скрипт /etc/rc.d/init.d/httpd и измените значения переменных apachectl и httpd для того, чтобы они указывали на соостветсующее установке место. Кстати, обычно этот httpd скрипт установлен как часть старого Apache (т.е. при установке дистрибутива).

apachectl=/usr/local/apache2/bin/apachectl
httpd=${HTTPD-/usr/local/apache2/bin/httpd}

Теперь вы можете останавливать и запускать Apache этими двумя командами:

service httpd stop
service httpd start

Или другим способом:

[ПУТЬ]/bin/apachectl -k start
[ПУТЬ]/bin/apachectl -k stop

Давайте сделаем так, чтобы Apache автоматически запускался во время перезагрузки системы:

chkconfig --list httpd
httpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off
chkconfig --level 2345 httpd on
chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

За остальными подробностями обращайтесь в официальную документацию, где все достаточно понятно описано.

Вот и все! Быстродействующих Вам серверов!

P.S. Хочу порекомендовать вам хороший блог моего друга: http://dedicatesupport.com. Прекрасный системный администратор, отзывчивый, и очень упорный в достижении поставленных целей человек. Это его личный авторский блог, где он пишет профессиональные заметки на тему системного администрирования и не только. Подписывайтесь!


Есть мысли на этот счет:
Andy 23.09.2009 11:06 пишет:

>make install

После этого читать перестал.

    v673 23.09.2009 11:27 пишет:

    Спасибо за замечание, хоть и немного резкое. В чем заключается ошибка?

      junqed 27.09.2009 19:44 пишет:

      У сборки из исходников есть один недостаток — неудобное обновление. Так что вот наверное в этом весь трабл. Если уж очень хочется из исходников — то вот Гента для этого создана (также упомяну FreeBSD и её систему портов)

        v673 27.09.2009 20:16 пишет:

        Верно. Согласен. Но так всегда: там где есть преимущества, есть и недостатки. Интересно, кстати, было бы почитать о том, как эту проблему — , при установке из исходников, решают.

    pterik 27.09.2009 19:34 пишет:

    Перестал, ну и удачи!

    Если не новичек – то тебе эта статья сто лет не упала, если начал читать, значит либо новичек, либо интересующийся, или просто решил отписаться просто так. Убивают такие комменты.

Дмитрий 14.10.2009 13:57 пишет:

А подойдёт компилятор для С++?

    v673 14.10.2009 20:19 пишет:

    Какой именно компилятор для С++ Вы имеете ввиду? GNU C Compiler компилирует как С, так и С++.

Alli 18.01.2011 15:11 пишет:

как раз самое полезное начинается после make install =) Автору спасибо!

Есть что сказать?
Ваше имя:
Ваш e-mail:
Ваш сайт:
Ваше мнение:




земляные работы в Донецке