APR:Apacheポータブルランタイムライブラリ、Apacheポータブルランタイムライブラリ。主に、複数のオペレーティングシステムプラットフォームで使用できる低レベルのサポートインターフェイスライブラリを上位レベルのアプリケーションに提供します。
環境の準備:
CentOS7
インストールパッケージの準備:
メインパッケージ:httpd-2.4.46.tar.gz
依存パッケージ:apr-1.7.0.tar.gz、apr-util-1.6.1.tar.gz
関連のインストールパッケージ
yum -y install gcc make pcre-devel openssl-devel expat-devel
インストールパッケージを/ usr / localに解凍します
tar xf apr-1.7.0.tar.gz -C /usr/local/
tar xf apr-util-1.6.1.tar.gz -C /usr/local/
tar xf httpd-2.4.46.tar.gz -C /usr/local/
aprとapr-utilのソースコードをhttpdのソースコードとマージする
cd /usr/local/
mv apr-1.7.0/ httpd-2.4.46/srclib/apr
mv apr-util-1.6.1/ httpd-2.4.46/srclib/apr-util
[root@centos7 ~]#ll /usr/local/httpd-2.4.46/srclib/
total 16
drwxr-xr-x. 28 1001 1001 4096 Jan 22 09:31 apr
drwxr-xr-x. 21 1001 1001 4096 Jan 22 09:31 apr-util
-rw-r--r--. 1 root 40 121 Feb 11 2005 Makefile.in
3つを一緒にコンパイルしてインストールします
cd httpd-2.4.46
./configure \
--prefix=/app/httpd24 \ #设置安装位置
--enable-so \ #让apache核心装载DSO
--enable-ssl \ #开启SSL功能
--enable-cgi \ #实现CGI
--enable-rewrite \ #开启重读功能
--with-zlib \ #指定zlib压缩
--with-pcre \ #指定prec库
--with-included-apr \ #指定APR库
--enable-modules=most \ #开启绝大多数模块
--enable-mpms-shared=all \
--with-mpm=prefork #工作模式:prefork
make -j '可根据自己PC CPU内核按需设置,加快编译速度' && make install
専用ユーザーを作成する
useradd -s /sbin/nologin -r apache
httpdを実行しているユーザーを指定します
vim /app/httpd24/conf/httpd
user apache
group apache
環境変数を構成する
echo 'PATH=/app/httpd24/bin:$PATH' > /etc/profile.d/http24.sh
. /etc/profile.d/http24.sh
サービスユニットファイルを作成し、起動するように設定します
vim /usr/lib/systemd/system/httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
Documentation=man:httpd(8)
Documentation=man:apachectl(8)
[Service]
Type=forking
#EnvironmentFile=/etc/sysconfig/httpd
ExecStart=/app/httpd24/bin/apachectl start
#ExecStart=/app/httpd24/bin/httpd $OPTIONS -k start
ExecReload=/app/httpd24/bin/apachectl graceful
#ExecReload=/app/httpd24/bin/httpd $OPTIONS -k graceful
ExecStop=/app/httpd24/bin/apachectl stop
KillSignal=SIGCONT
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl enable --now httpd
マンヘルプを設定する
vim /etc/man_db.conf
MANDATORY_MANPATH /app/httpd24/man