必要ない資材をインストールしたくなかったため、WSL環境のubuntu(Linux)にapacheをソースからインストールしてみました。
開発環境
私が構築した時の開発環境は以下の通りとなります。
環境 | バージョン |
---|---|
ubuntu | 22.04.3 |
apache | 2.4.57 |
aprのインストール
apacheをインストールするために必要となるapr(Apache Portable Runtime)をインストールします。
sudo apt install gcc
sudo apt install make
cd /usr/local/src
sudo wget https://dlcdn.apache.org//apr/apr-1.7.4.tar.gz
sudo tar xvf apr-1.7.4.tar.gz
cd apr-1.7.4/
sudo ./configure --prefix=/opt/apr/apr-1.7.4
sudo make
sudo make test
sudo make install
apr-utilのインストール
同じくapacheをインストールするために必要となるapr-utilをインストールします。
cd /usr/local/src
sudo apt install libexpat1-dev
sudo wget https://dlcdn.apache.org//apr/apr-util-1.6.3.tar.gz
sudo tar xvf apr-util-1.6.3.tar.gz
cd apr-util-1.6.3/
sudo ./configure --prefix=/opt/apr-util/apr-util-1.6.3 --with-apr=/opt/apr/apr-1.7.4
sudo make
sudo make test
sudo make install
apacheのインストール
続いてapacheのインストールをします。
cd /usr/local/src
sudo apt install libpcre3-dev
sudo apt install libssl-dev
sudo wget http://archive.apache.org/dist/httpd/httpd-2.4.57.tar.gz
sudo tar xvf httpd-2.4.57.tar.gz
cd httpd-2.4.57/
sudo ./configure --enable-ssl --enable-rewrite --enable-so --with-apr=/opt/apr/apr-1.7.4 --with-apr-util=/opt/apr-util/apr-util-1.6.3
sudo make
sudo make install
mod_sslの導入
https通信ができるようにmod_sslを導入します。
cd /usr/local/src/httpd-2.4.57/modules/ssl/
sudo /usr/local/apache2/bin/apxs -c mod_ssl.c
sudo /usr/local/apache2/bin/apxs -i -a -c -I /usr/include/openssl -I ../md -D HAVE_OPENSSL=1 -lcrypto -lssl *.c
mod_rewriteの導入
リダイレクト処理が行えるようにmod_rewriteを導入します。
cd /usr/local/src/httpd-2.4.57/modules/mappers
sudo /usr/local/apache2/bin/apxs -i -a -n rewrite mod_rewrite.la
mod_proxyの導入
tomcatと連携できるようにmod_proxyを導入します。
cd /usr/local/src/httpd-2.4.57/modules/proxy
sudo /usr/local/apache2/bin/apxs -i -a -c mod_proxy.c proxy_util.c
sudo /usr/local/apache2/bin/apxs -i -a -c mod_proxy_ajp.c ajp_*.c
apacheのサービス起動
systemctlコマンドを使ってapacheが起動できるようにapache2.serviceを作成します。
sudo vi /usr/lib/systemd/system/apache2.service
[Unit]
Description=Apache 2
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/apache2/bin/apachectl start
ExecStop=/usr/local/apache2/bin/apachectl stop
RemainAfterExit=yes
User=root
Group=root
[Install]
WantedBy=multi-user.target
最後にapacheを起動します。
sudo systemctl start apache2
ブラウザ上で「http://localhost」にアクセスし、「It works!」と表示されればapacheは正常に動作してます。
コメント