アクセスメソッド : GET, PUT, POST など
Order 、 Allow 、 Denyは、Apache 2.4で非推奨ディレクティブ、使うには、 mod_access_compatを有効にする必要ある。 公式仕様:https://httpd.apache.org/docs/2.4/ja/mod/mod_access_compat.html
blog : https://qiita.com/labpixel/items/b01ecd26d42246f54b1f logフォーマット:送信元IP - - [日時] "HTTPメゾッド /アクセス先 HTTPバージョン" ステータスコード レスポンスボディのサイズ 正 常 ロ グ :
Ubuntu 22 で Apache 2.4.52 を Apache 2.4.63 にアップデートするには、公式リポジトリでは提供されていないため、ソースからコンパイル する必要があります。
以下の手順でアップデートできます。
✅ Apache 2.4.63 へのアップデート手順
1️⃣ 必要なパッケージをインストール
まず、Apache をソースからビルドするために必要なパッケージをインストールします。
最後の四つのapr関連パッケージはインストール後に場所をwhichで格納したほうがいい、場所を見つからない場合は、
[configure]設定時に、[--with]
sudo apt update
sudo apt install build-essential libpcre3-dev libssl-dev libnghttp2-dev libapr1 libaprutil1 libapr1-dev libaprutil1-dev
2️⃣ Apache 2.4.63 のソースを取得
Apache の最新ソースをダウンロードします。
cd /usr/local/src
wget https://downloads.apache.org/httpd/httpd-2.4.63.tar.gz
tar xvf httpd-2.4.63.tar.gz
cd httpd-2.4.63
3️⃣ Apache をコンパイル
Apache をコンパイルする際に必要なオプションを指定します。[--prefix=]でビルド後のpkgの格納場所を指定。
./configure --prefix=/usr/local/apache2 --enable-ssl --enable-http2 --enable-http3
make
sudo make install
4️⃣ 設定ファイルの編集
Apache の設定ファイル (httpd.conf) に HTTP/3 を有効化する設定を追加します。
apache
Protocols h3 h2 http/1.1
また、SSL 証明書を設定する必要があります。
apache
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
5️⃣ Apache を再起動
設定を反映するために Apache を再起動します。
bash
sudo systemctl restart apache2
🚀 まとめ
• Ubuntu 22 の公式リポジトリには Apache 2.4.63 は含まれていない ため、ソースからコンパイル する必要がある。
• mod_http3 を有効化するために --enable-http3 オプションを指定してビルドする。
• Protocols h3 h2 http/1.1 を設定し、SSL証明書を適用する。
Apache 2.4.63 では QUIC(HTTP/3) のサポートが進んでいるため、アップグレードすると 高速な通信 が可能になります!
Apache 2.4.52 の公式リリースには QUIC(HTTP/3)のサポートが含まれていない ため、
mod_http3 を利用するには ソースからのコンパイル
●
sudo apt install build-essential libpcre3-dev libssl-dev libnghttp2-dev
●APR(Apache Portable Runtime)をインストール
sudo apt install libapr1 libaprutil1 libapr1-dev libaprutil1-dev
cd /usr/local/src
wget https://downloads.apache.org/httpd/httpd-2.4.63.tar.gz
tar xvf httpd-2.4.63.tar.gz
cd httpd-2.4.63
●Apache をコンパイル
./configure --enable-ssl --enable-http2 --enable-http3
OR
./configure --with-apr=/usr/bin/apr-1-config --enable-ssl --enable-http2 --enable-http3
make
sudo make install
●Apache の設定ファイル (httpd.conf) に HTTP/3 を有効化する設定を追加します。
Protocols h3 h2 http/1.1
●SSL 証明書を設定する必要があります。
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
▲ソースファイルのディレクトリ
cd /usr/local/src/httpd-2.4.63/
▲インストールされたバイナリ(メインの Apache 実行ファイル)
/usr/local/apache2/bin/httpd
▲通常、Apache の実行ファイルの にインストール場所
/usr/local/apache2/bin/
▲設定ファイル:
/usr/local/apache2/conf/httpd.conf
▲手動で .deb パッケージを作成した場合は に保存される
/usr/local/src/
▲Apacheインストール前に、使用するライブラリを確認
ldd /usr/local/apache2/bin/httpd
●セルフビルドしたapache2.4.63の実行ファイル[httpd]になる、名前はapache2でなくなる、apache2の名前で使うに、シンボリックリンクを作る必要。
sudo ln -s /usr/local/apache2/bin/httpd /usr/bin/apache2 ▲~/.bashrcに起動PATHを追加 export PATH=$PATH:/usr/local/apache2/bin ▲apachectlのシンポリックリンクも作る sudo ln -s /usr/local/apache2/bin/apachectl /usr/bin/apachectl
test@test:/usr/sbin$ dpkg -L apache2 /. /etc /etc/apache2 /etc/apache2/apache2.conf /etc/apache2/conf-available /etc/apache2/conf-available/charset.conf /etc/apache2/conf-available/localized-error-pages.conf /etc/apache2/conf-available/other-vhosts-access-log.conf /etc/apache2/conf-available/security.conf /etc/apache2/conf-available/serve-cgi-bin.conf /etc/apache2/conf-enabled /etc/apache2/envvars /etc/apache2/magic /etc/apache2/mods-available /etc/apache2/mods-available/access_compat.load /etc/apache2/mods-available/actions.conf /etc/apache2/mods-available/actions.load /etc/apache2/mods-available/alias.conf /etc/apache2/mods-available/alias.load /etc/apache2/mods-available/allowmethods.load /etc/apache2/mods-available/asis.load /etc/apache2/mods-available/auth_basic.load /etc/apache2/mods-available/auth_digest.load /etc/apache2/mods-available/auth_form.load /etc/apache2/mods-available/authn_anon.load /etc/apache2/mods-available/authn_core.load /etc/apache2/mods-available/authn_dbd.load /etc/apache2/mods-available/authn_dbm.load /etc/apache2/mods-available/authn_file.load /etc/apache2/mods-available/authn_socache.load /etc/apache2/mods-available/authnz_fcgi.load /etc/apache2/mods-available/authnz_ldap.load /etc/apache2/mods-available/authz_core.load /etc/apache2/mods-available/authz_dbd.load /etc/apache2/mods-available/authz_dbm.load /etc/apache2/mods-available/authz_groupfile.load /etc/apache2/mods-available/authz_host.load /etc/apache2/mods-available/authz_owner.load /etc/apache2/mods-available/authz_user.load /etc/apache2/mods-available/autoindex.conf /etc/apache2/mods-available/autoindex.load /etc/apache2/mods-available/brotli.load /etc/apache2/mods-available/buffer.load /etc/apache2/mods-available/cache.load /etc/apache2/mods-available/cache_disk.conf /etc/apache2/mods-available/cache_disk.load /etc/apache2/mods-available/cache_socache.load /etc/apache2/mods-available/cern_meta.load /etc/apache2/mods-available/cgi.load /etc/apache2/mods-available/cgid.conf /etc/apache2/mods-available/cgid.load /etc/apache2/mods-available/charset_lite.load /etc/apache2/mods-available/data.load /etc/apache2/mods-available/dav.load /etc/apache2/mods-available/dav_fs.conf /etc/apache2/mods-available/dav_fs.load /etc/apache2/mods-available/dav_lock.load /etc/apache2/mods-available/dbd.load /etc/apache2/mods-available/deflate.conf /etc/apache2/mods-available/deflate.load /etc/apache2/mods-available/dialup.load /etc/apache2/mods-available/dir.conf /etc/apache2/mods-available/dir.load /etc/apache2/mods-available/dump_io.load /etc/apache2/mods-available/echo.load /etc/apache2/mods-available/env.load /etc/apache2/mods-available/expires.load /etc/apache2/mods-available/ext_filter.load /etc/apache2/mods-available/file_cache.load /etc/apache2/mods-available/filter.load /etc/apache2/mods-available/headers.load /etc/apache2/mods-available/heartbeat.load /etc/apache2/mods-available/heartmonitor.load /etc/apache2/mods-available/http2.conf /etc/apache2/mods-available/http2.load /etc/apache2/mods-available/ident.load /etc/apache2/mods-available/imagemap.load /etc/apache2/mods-available/include.load /etc/apache2/mods-available/info.conf /etc/apache2/mods-available/info.load /etc/apache2/mods-available/lbmethod_bybusyness.load /etc/apache2/mods-available/lbmethod_byrequests.load /etc/apache2/mods-available/lbmethod_bytraffic.load /etc/apache2/mods-available/lbmethod_heartbeat.load /etc/apache2/mods-available/ldap.conf /etc/apache2/mods-available/ldap.load /etc/apache2/mods-available/log_debug.load /etc/apache2/mods-available/log_forensic.load /etc/apache2/mods-available/lua.load /etc/apache2/mods-available/macro.load /etc/apache2/mods-available/md.load /etc/apache2/mods-available/mime.conf /etc/apache2/mods-available/mime.load /etc/apache2/mods-available/mime_magic.conf /etc/apache2/mods-available/mime_magic.load /etc/apache2/mods-available/mpm_event.conf /etc/apache2/mods-available/mpm_event.load /etc/apache2/mods-available/mpm_prefork.conf /etc/apache2/mods-available/mpm_prefork.load /etc/apache2/mods-available/mpm_worker.conf /etc/apache2/mods-available/mpm_worker.load /etc/apache2/mods-available/negotiation.conf /etc/apache2/mods-available/negotiation.load /etc/apache2/mods-available/proxy.conf /etc/apache2/mods-available/proxy.load /etc/apache2/mods-available/proxy_ajp.load /etc/apache2/mods-available/proxy_balancer.conf /etc/apache2/mods-available/proxy_balancer.load /etc/apache2/mods-available/proxy_connect.load /etc/apache2/mods-available/proxy_express.load /etc/apache2/mods-available/proxy_fcgi.load /etc/apache2/mods-available/proxy_fdpass.load /etc/apache2/mods-available/proxy_ftp.conf /etc/apache2/mods-available/proxy_ftp.load /etc/apache2/mods-available/proxy_hcheck.load /etc/apache2/mods-available/proxy_html.conf /etc/apache2/mods-available/proxy_html.load /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-available/proxy_http2.load /etc/apache2/mods-available/proxy_scgi.load /etc/apache2/mods-available/proxy_uwsgi.load /etc/apache2/mods-available/proxy_wstunnel.load /etc/apache2/mods-available/ratelimit.load /etc/apache2/mods-available/reflector.load /etc/apache2/mods-available/remoteip.load /etc/apache2/mods-available/reqtimeout.conf /etc/apache2/mods-available/reqtimeout.load /etc/apache2/mods-available/request.load /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-available/sed.load /etc/apache2/mods-available/session.load /etc/apache2/mods-available/session_cookie.load /etc/apache2/mods-available/session_crypto.load /etc/apache2/mods-available/session_dbd.load /etc/apache2/mods-available/setenvif.conf /etc/apache2/mods-available/setenvif.load /etc/apache2/mods-available/slotmem_plain.load /etc/apache2/mods-available/slotmem_shm.load /etc/apache2/mods-available/socache_dbm.load /etc/apache2/mods-available/socache_memcache.load /etc/apache2/mods-available/socache_redis.load /etc/apache2/mods-available/socache_shmcb.load /etc/apache2/mods-available/speling.load /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-available/ssl.load /etc/apache2/mods-available/status.conf /etc/apache2/mods-available/status.load /etc/apache2/mods-available/substitute.load /etc/apache2/mods-available/suexec.load /etc/apache2/mods-available/unique_id.load /etc/apache2/mods-available/userdir.conf /etc/apache2/mods-available/userdir.load /etc/apache2/mods-available/usertrack.load /etc/apache2/mods-available/vhost_alias.load /etc/apache2/mods-available/xml2enc.load /etc/apache2/mods-enabled /etc/apache2/ports.conf /etc/apache2/sites-available /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled /etc/cron.daily /etc/cron.daily/apache2 /etc/default /etc/default/apache-htcacheclean /etc/init.d /etc/init.d/apache-htcacheclean /etc/init.d/apache2 /etc/logrotate.d /etc/logrotate.d/apache2 /etc/ufw /etc/ufw/applications.d /etc/ufw/applications.d/apache2 /etc/ufw/applications.d/apache2-utils.ufw.profile /lib /lib/systemd /lib/systemd/system /lib/systemd/system/apache-htcacheclean.service /lib/systemd/system/apache-htcacheclean@.service /lib/systemd/system/apache2.service /lib/systemd/system/apache2@.service /usr /usr/lib /usr/lib/cgi-bin /usr/sbin /usr/sbin/a2enmod /usr/sbin/a2query /usr/sbin/apache2ctl /usr/share /usr/share/apache2 /usr/share/apache2/apache2-maintscript-helper /usr/share/apache2/ask-for-passphrase /usr/share/bash-completion /usr/share/bash-completion/completions /usr/share/bash-completion/completions/a2enmod /usr/share/bug /usr/share/bug/apache2 /usr/share/doc /usr/share/doc/apache2 /usr/share/doc/apache2/NEWS.Debian.gz /usr/share/doc/apache2/PACKAGING.gz /usr/share/doc/apache2/README.Debian.gz /usr/share/doc/apache2/README.backtrace /usr/share/doc/apache2/README.multiple-instances /usr/share/doc/apache2/copyright /usr/share/doc/apache2/examples /usr/share/doc/apache2/examples/apache2.monit /usr/share/doc/apache2/examples/secondary-init-script /usr/share/doc/apache2/examples/setup-instance /usr/share/lintian /usr/share/lintian/overrides /usr/share/lintian/overrides/apache2 /usr/share/man /usr/share/man/man1 /usr/share/man/man1/a2query.1.gz /usr/share/man/man8 /usr/share/man/man8/a2enconf.8.gz /usr/share/man/man8/a2enmod.8.gz /usr/share/man/man8/a2ensite.8.gz /usr/share/man/man8/apache2ctl.8.gz /var /var/cache /var/cache/apache2 /var/cache/apache2/mod_cache_disk /var/lib /var/lib/apache2 /var/log /var/log/apache2 /var/www /var/www/html /usr/sbin/a2disconf /usr/sbin/a2dismod /usr/sbin/a2dissite /usr/sbin/a2enconf /usr/sbin/a2ensite /usr/sbin/apachectl /usr/share/bash-completion/completions/a2disconf /usr/share/bash-completion/completions/a2dismod /usr/share/bash-completion/completions/a2dissite /usr/share/bash-completion/completions/a2enconf /usr/share/bash-completion/completions/a2ensite /usr/share/bug/apache2/control /usr/share/bug/apache2/script /usr/share/doc/apache2/changelog.Debian.gz /usr/share/man/man8/a2disconf.8.gz /usr/share/man/man8/a2dismod.8.gz /usr/share/man/man8/a2dissite.8.gz /usr/share/man/man8/apachectl.8.gz
●設定ファイル /etc/apache2/ apache2.conf #Apacheのメイン設定ファイル sites-available #仮想ホストの設定ファイル sites-enabled #など ●デフォルトのドキュメントルート /var/www/html/ #デフォルトのウェブページの格納場所、HTMLファイルやウェブコンテンツ ●ログファイル /var/log/apache2/ #アクセスログ(access.log)やエラーログ(error.log) ●実行ファイルとモジュール /usr/sbin/apache2 #実行可能なバイナリファイル /usr/lib/apache2/modules/ #モジュールは通常に配置されています。