@whitest
Развивающийся сисадмин

Актуальная установка apache2.4 from source?

Вопрос простой: знает кто-нибудь толковый мануал по установке Apache2.4 из исходников на Ubuntu Server 14 LTS? Желательно для новичков, пошаговый. Это для учебных целей, то есть именно чтобы научиться это делать, а бороду и свитер отращивать я буду постепенно. Установить из репозитория и настроить LAMP + Nginx + всё остальное я могу, это несложно, если по манам и статьям. Но вопрос именно про компиляцию для работы LAMP + Nginx.
В гугле (рус и англ) очень много статей, самых разных, но цельной информации от и до нет.
То есть общая суть такова:
Я качаю апач, компилю apr, apr-util, pcre, ставлю apxs, указываю всё это добро в configure. Также указываю ключи, которые по логике понадобятся при работе. И предварительно ставлю софт, который может понадобиться до компиляции: apt-get install build-essential libpcre3-dev libssl-dev gcc g++ libxml2-dev libexpat1 libexpat1-dev apache2-dev
Общий configure получается такой:
./configure --prefix=/opt/apache2 -with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre/bin/pcre-config --with-apxs=/usr/bin/apxs --config-cache --enable-mpms-shared=all --enable-deflate=shared --enable-so --enable-http --with-mpm=prefork --enable-pie --enable-include=shared --enable-mime-magic=shared --enable-mime=shared--enable-rewrite=shared --enable-log-config=static --enable-logio=static --enable-cache-disk=shared --enable-cache=shared --enable-mem-cache=shared --enable-file-cache=shared --enable-cern-meta=shared --enable-dumpio=shared --enable-ext-filter=shared --enable-charset-lite=shared --enable-cgi=shared --enable-dav-lock=shared --enable-log-forensic=shared --enable-proxy=shared --enable-proxy-connect=shared --enable-proxy-ftp=shared --enable-proxy-http=shared --enable-proxy-ajp=shared --enable-proxy-balancer=shared --enable-ssl=shared --enable-authn-dbm=shared --enable-authn-anon=shared --enable-authn-dbd=shared --enable-authn-file=shared --enable-authn-default=shared --enable-authz-host=shared --enable-authz-groupfile=shared --enable-authz-user=shared --enable-authz-dbm=shared --enable-authz-owner=shared --enable-authz-default=shared --enable-auth-basic=shared --enable-auth-digest=shared --enable-dbd=shared --enable-filter=shared --enable-env=shared  --enable-expires=shared --enable-headers=shared --enable-ident=shared --enable-usertrack=shared --enable-unique-id=shared --enable-setenvif=shared --enable-version=shared --enable-status=shared --enable-autoindex=shared --enable-asis=shared --enable-info=shared --enable-cgid=shared --enable-dav=shared --enable-dav-fs=shared --enable-vhost-alias=shared --enable-negotiation=shared --enable-dir=shared --enable-imagemap=shared --enable-actions=shared --enable-speling=shared --enable-userdir=shared --enable-alias=shared --enable-substitute=shared


Про /opt - это личный выбор, так сказать. Ничего для suexec и ldap включать не стал.
В общем, после make && make install и первичной настройки (порты и т.п.), например, в /etc/apache2 такого каталога нет, там просто ничего не создалось.
Кто-нибудь знает, почему?
И это уже раз пятый, когда я его пересобираю, но никак нигде не могу вычитать, почему он слушает только IPv6 и полностью игнорирует IPv4?
То есть после установки получается так:
netstat -lptun | grep http
tcp6       0      0 :::80                   :::*                    LISTEN      31058/httpd

Он прекрасненько висит на 80 порту, но только IPv6!
Кто-нибудь на Ubuntu14 его собирал в последнее время, есть идеи?

UPD:
1. Прописывать порт надо с указанием локалхоста: 127.0.0.1:80
2. После установки пакета apache2-doc все конфиги в /etc/apache2 создались.

UPD2:
Бой был неравный, но я его добил.
Главное: он не читает ничего из /etc, пока ему не укажешь в основном конфиге include. День убил на борьбу с этой мистикой.
Модули тоже оттуда не подключает, хотя a2enmod работает.
PHP надо подключать тоже ручками в основной конфиг, иначе работать не будет.
LoadModule php5_module  modules/libphp5.so
#AddType application/x-http-php  .php
DirectoryIndex  index.php  index.html

<IfModule mod_php5.c>
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps
</IfModule>

После make install установить допсофт: apt install apache2-utils ssl-cert apache2-doc libapache2-mod-php5
Обязательно настроить remoteip в конфигах апача и nginx (для совместной связки).
Vhost работать из /etc не будут, пока их include'ом не укажешь в основном конфиге апача в apache2/bin/httpd.conf. Либо можно их прямо туда прописать, но это будет не очень красиво.

А как потом на всё это добро (nginx+apache+mysql+php+apc+https) Bitrix накатывать, это просто отдельная песня. Ночной кошмар.
  • Вопрос задан
  • 373 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы