Как вы знаете, в составе почти всех 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. Прекрасный системный администратор, отзывчивый, и очень упорный в достижении поставленных целей человек. Это его личный авторский блог, где он пишет профессиональные заметки на тему системного администрирования и не только. Подписывайтесь!
Есть мысли на этот счет:
>make install
После этого читать перестал.
Спасибо за замечание, хоть и немного резкое. В чем заключается ошибка?
У сборки из исходников есть один недостаток — неудобное обновление. Так что вот наверное в этом весь трабл. Если уж очень хочется из исходников — то вот Гента для этого создана (также упомяну FreeBSD и её систему портов)
Верно. Согласен. Но так всегда: там где есть преимущества, есть и недостатки. Интересно, кстати, было бы почитать о том, как эту проблему — , при установке из исходников, решают.
Перестал, ну и удачи!
Если не новичек – то тебе эта статья сто лет не упала, если начал читать, значит либо новичек, либо интересующийся, или просто решил отписаться просто так. Убивают такие комменты.
А подойдёт компилятор для С++?
Какой именно компилятор для С++ Вы имеете ввиду? GNU C Compiler компилирует как С, так и С++.
как раз самое полезное начинается после make install =) Автору спасибо!