Инструменты пользователя

Инструменты сайта


build_httpd

Сборка Apache 2

Иногда требуется собрать web-сервер Apache «вручную»

Пример ситуации

Пример ситуации

Пример ситуации

На VPS не запускался Apache 2 «из коробки» (в смысле из «репозитория» base или CentAlt).
Хостер (хороший хостер, но несколько своеобразный) не пожелал сразу обновляться - обновлять kernel до следующей версии. Получилось такая ошибка:

Starting httpd: [Thu May 15 14:48:34 2014] [crit] (22)Invalid argument: alloc_listener: failed to get a socket for (null)
Syntax error on line 136 of /etc/httpd/conf/httpd.conf:
Listen setup failed

Что делать? - Собирать вручную!

Процесс сборки

  • 1. Установить rpmbuild:
# yum -y install rpm-build
  • 2. Создать структуру каталогов в /root:
# mkdir -p ~/rpmbuild/{SOURCES,SPECS,BUILD,RPMS,SRPMS}
  • 3. Загрузить исходные коды (загружать исходные коды следует с официального сайта ; в примере используется репозиторий unixlikeos.ru):
# cd ~/rpmbuild/SOURCES
# wget http://unixlikeos.ru/repo/pub/apache/httpd/httpd-2.4.4.tar.bz2
# wget http://unixlikeos.ru/repo/pub/apache/apr/apr-1.5.1.tar.bz2
# wget http://unixlikeos.ru/repo/pub/apache/apr/apr-util-1.5.3.tar.bz2
# wget http://unixlikeos.ru/repo/pub/apache/distcache/distcache-1.4.5-23.src.rpm
  • 4. Установить дополнительные приложения:
# yum -y install autoconf libtool doxygen expat expat-devel libuuid-devel db4-devel mysql-devel unixODBC-devel postgresql-devel sqlite-devel pcre pcre-devel lua-devel libxml2-devel openldap-devel nss-devel openssl-devel
  • 5. «Собрать» и установить arp:
# cd ~/rpmbuild/SOURCES/
# rpmbuild -tb apr-1.5.1.tar.bz2
# cd ../RPMS/i386/
# rpm -ivh ~/rpmbuild/RPMS/i386/apr-1.5.1-1.i386.rpm
# rpm -ivh ~/rpmbuild/RPMS/i386/apr-devel-1.5.1-1.i386.rpm
  • 6. «Собрать» и установить arp-utils:
# cd ~/rpmbuild/SOURCES/
# rpmbuild -tb apr-util-1.5.3.tar.bz2
# cd ../RPMS/i386
# rpm -iHv apr-util-*
  • 7. «Собрать» и установить httpd, distcache:
# cd ~/rpmbuild/SOURCES/
# rpmbuild -tb httpd-2.4.9.tar.bz2
# cd ../RPMS/i386/
# rpm -iHv httpd-*
# rpm -iHv mod_*
# cd ../RPMS/i386/
# rpmbuild --rebuild distcache-1.4.5-23.src.rpm

Проверка работоспособности

Запуск сервиса

Starting httpd:                                            [  OK  ]

Всё отлично!

build_httpd.txt · Последние изменения: 2014/05/26 12:49 — Alex