ОС: выпуск Red Hat Enterprise Linux Server 6.4 (Сантьяго)
Текущая установка apache для этой ОС на 2.2%. Мне нужна последняя ветка 2.4.x, поэтому я начал ее вручную. Я отметил полную процедуру, которую я предпринял, включая распаковку источников apr
и apr-util
в источники apache заранее, но я думаю, что наиболее важная часть процедуры:
GATHER LATEST APACHE AND APR
$ cd ~
$ mkdir apache-src
$ cd apache-src
$ wget http://apache.insync.za.net//httpd/httpd-2.4.6.tar.gz
$ tar xvf httpd-2.4.6.tar.gz
$ cd httpd-2.4.6
$ cd srclib
$ wget http://apache.insync.za.net//apr/apr-1.5.0.tar.gz
$ tar -xvzf apr-1.5.0.tar.gz
$ mv apr-1.5.0 apr
$ rm -f apr-1.5.0.tar.gz
$ wget http://apache.insync.za.net//apr/apr-util-1.5.3.tar.gz
$ tar -xvzf apr-util-1.5.3.tar.gz
$ mv apr-util-1.5.3 apr-util
INSTALL DEVEL PACKAGES
yum update --skip-broken (There is a dependency issue with the latest Chrome needing the latest libstdc++, which is not available for RHEL and CentOS)
yum install apr-devel
yum install apr-util-devel
yum install pcre-devel
INSTALL
$ cd ~/apache-src/httpd-2.4.6
$ ./configure --prefix=/etc/httpd --enable-mods-shared="all" --enable-rewrite --with-included-apr
$ make
$ make install
ПРИМЕЧАНИЕ. Во время выполнения выше,
/etc/http
пуст.
Кажется, все прошло нормально, пока я не попытаюсь запустить службу httpd. Кажется, что каждый модуль включает в httpd.conf
сбой с сообщением, аналогичным этому для mod_rewrite
:
httpd: Syntax error on line 148 of /etc/httpd/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_rewrite.so into server: /etc/httpd/modules/mod_rewrite.so: undefined symbol: ap_global_mutex_create
Я прошел через список включенных модулей в httpd.conf
и прокомментировал их по одному. Все инициируют ошибку, как указано выше, однако символ undefined: значение "часто отличается (так не всегда ap_global_mutex_create
).
Я пропустил шаг? Хотя я нахожу часть этой ошибки в Google, большинство решений сосредоточено вокруг файлов .so
, которые недоступны. Это, похоже, не проблема, и модули присутствуют в /etc/http/modules
.
ПРИМЕЧАНИЕ. Во время выполнения выше,
/etc/http
пуст.