В репозиторий добавлен Apache httpd 2.4.29 с поддержкой http2 для Red Hat Enterprise Linux и CentOS. Mod_ssl собран статически с OpenSSL 1.0.2l. Ссылки:
Заметим, что модуль Http2 Apache httpd с версии 2.4.27 не поддерживает prefork mpm. Ранее, в версии 2.4.26, мы наблюдали крахи с prefork и решили не выкладывать наши билды из-за них. Если вам нужен модуль mod_http2, отключите prefork mpm, включите worker mpm в /etc/httpd/conf.modules.d/00-mpm.conf
Это действите уже сделано в файле, который мы поставляем в пакете. Если вы обновляете вашу инсталляцию, обновите файл.
Для работы с SELinux установите следующий boolean:
setsebool -P httpd_execmem=1
Для инсталляции проще воспользоваться нашим репозиторием. Обращаю ваше внимание на тот факт, что в зависимостях пакета присутствуют apr-util 1.5.0+ и libnghttp, которые я бы рекомендовал взять из репозитория EPEL. Таким образом, для использования Apache HTTPd проще всего подключить репозиторий EPEL:
yum install -y epel-release
Where is the REPO gone?
Sorry, we were moving repo to separate host.
Fixed.
Hi
On a CentOS 7.4.1708 system (up to date) I’m using Apache 2.4.29 from your repo to run a PHP stack with a number of modules (using PHP5.6 from Remi repo). I also use another PHP extension (pdo_ibm.so) to access DB2 from PHP.
All PHP extensions are working.
However for pdo_ibm.so I need to have:
LD_LIBRARY_PATH=/opt/remi/php56/root/usr/lib64:/home/db2inst1/sqllib/lib64:/home/db2inst1/sqllib/lib64/gskit:/home/db2inst1/sqllib/lib32
So for Apache I’ve created an httpd.service.d/override.conf with:
[Service]
Environment=OPTIONS=-DLD_LIBRARY_PATH=/opt/remi/php56/root/usr/lib64:/home/db2inst1/sqllib/lib64:/home/db2inst1/sqllib/lib64/gskit:/home/db2inst1/sqllib/lib32
# systemctl daemon-reload,
# systemctl start httpd
13864 ? Ss 0:00 /usr/sbin/httpd -DLD_LIBRARY_PATH=/opt/remi/php56/root/usr/lib64:/home/db2inst1/sqllib/lib64:/home/db2inst1/sqllib/lib64/gskit:/home/db2inst1/sqllib/lib32 -DFOREGROUND
13865 ? Sl 0:00 \_ /usr/sbin/httpd -DLD_LIBRARY_PATH=/opt/remi/php56/root/usr/lib64:/home/db2inst1/sqllib/lib64:/home/db2inst1/sqllib/lib64/gskit:/home/db2inst1/sqllib/lib32 -DFOREGROUND
13866 ? Sl 0:00 \_ /usr/sbin/httpd -DLD_LIBRARY_PATH=/opt/remi/php56/root/usr/lib64:/home/db2inst1/sqllib/lib64:/home/db2inst1/sqllib/lib64/gskit:/home/db2inst1/sqllib/lib32 -DFOREGROUND
13867 ? Sl 0:00 \_ /usr/sbin/httpd -DLD_LIBRARY_PATH=/opt/remi/php56/root/usr/lib64:/home/db2inst1/sqllib/lib64:/home/db2inst1/sqllib/lib64/gskit:/home/db2inst1/sqllib/lib32 -DFOREGROUND
13868 ? Sl 0:00 \_ /usr/sbin/httpd -DLD_LIBRARY_PATH=/opt/remi/php56/root/usr/lib64:/home/db2inst1/sqllib/lib64:/home/db2inst1/sqllib/lib64/gskit:/home/db2inst1/sqllib/lib32 -DFOREGROUND
13873 ? Sl 0:00 \_ /usr/sbin/httpd -DLD_LIBRARY_PATH=/opt/remi/php56/root/usr/lib64:/home/db2inst1/sqllib/lib64:/home/db2inst1/sqllib/lib64/gskit:/home/db2inst1/sqllib/lib32 -DFOREGROUND
pdo_ibm.so not happy. Can’t access DB…
However PHP shows the pdo ibm 1.3.5 is loaded.
Now if I stop httpd and start it with:
/usr/sbin/httpd -DLD_LIBRARY_PATH=/opt/remi/php56/root/usr/lib64:/home/db2inst1/sqllib/lib64:/home/db2inst1/sqllib/lib64/gskit:/home/db2inst1/sqllib/lib32 -DFOREGROUND
Process stays in foreground. Can access DB!
25016 pts/0 S 0:00 | \_ -bash
14628 pts/0 S+ 0:00 | \_ /usr/sbin/httpd -DLD_LIBRARY_PATH=/opt/remi/php56/root/usr/lib64:/home/db2inst1/sqllib/lib64:/home/db2inst1/sqllib/lib64/gskit:/home/db2inst1/sqllib/lib32 -DFOREGROUND
14630 pts/0 Sl+ 0:00 | \_ /usr/sbin/httpd -DLD_LIBRARY_PATH=/opt/remi/php56/root/usr/lib64:/home/db2inst1/sqllib/lib64:/home/db2inst1/sqllib/lib64/gskit:/home/db2inst1/sqllib/lib32 -DFOREGROUND
14631 pts/0 Sl+ 0:00 | \_ /usr/sbin/httpd -DLD_LIBRARY_PATH=/opt/remi/php56/root/usr/lib64:/home/db2inst1/sqllib/lib64:/home/db2inst1/sqllib/lib64/gskit:/home/db2inst1/sqllib/lib32 -DFOREGROUND
14636 pts/0 Sl+ 0:00 | \_ /usr/sbin/httpd -DLD_LIBRARY_PATH=/opt/remi/php56/root/usr/lib64:/home/db2inst1/sqllib/lib64:/home/db2inst1/sqllib/lib64/gskit:/home/db2inst1/sqllib/lib32 -DFOREGROUND
14637 pts/0 Sl+ 0:00 | \_ /usr/sbin/httpd -DLD_LIBRARY_PATH=/opt/remi/php56/root/usr/lib64:/home/db2inst1/sqllib/lib64:/home/db2inst1/sqllib/lib64/gskit:/home/db2inst1/sqllib/lib32 -DFOREGROUND
14643 pts/0 Sl+ 0:00 | \_ /usr/sbin/httpd -DLD_LIBRARY_PATH=/opt/remi/php56/root/usr/lib64:/home/db2inst1/sqllib/lib64:/home/db2inst1/sqllib/lib64/gskit:/home/db2inst1/sqllib/lib32 -DFOREGROUND
In both cases it shows the LD_LIBRARY_PATH but starting with systemctl yields a negative result…
Not using selinux. Set to permissive/targeted.
Using the Apache MPM Prefork (which is not the default after installation of your packages).
I completely fail to see why starting with systemctl causes a problem…
Any plans on releasing newer Apache versions for CentOS? Latest Apache v2.4.33, CodeIT version v2.4.29.
Hi Binyamin,
Sure we are waiting for 2.4.33 release. Please check httpd official site, latest version is 2.4.29. Other versions are not official releases, 2.4.33 is in voting stage now.
Hi Alexander,
As far I see latest Apache version is 2.4.33; see in http://www.apache.org/dist/httpd/CHANGES_2.4, https://github.com/apache/httpd/releases and https://en.wikipedia.org/wiki/Apache_HTTP_Server.
I think https://httpd.apache.org lack of update, doesn’t it?
Actually no. They release lot of versions on github for testing, then vote if specific version should either be released or updated. I think 2.4.33 will be release, as soon as all votes are positive. However, this is still not official release.
Regarding Wikipedia: I checked article changes history and article source. I think that «latest stable version» is simply pulled from github and this is deeply incorrect.
Also we usually wait for httpd rpm maintainer for Fedora to start their work.