#author("2025-05-15T01:34:37+09:00","default:pengwei","pengwei") #author("2025-05-17T12:23:51+09:00","default:pengwei","pengwei") *[[Apache]] [#d19e511f] #contents **アクセスメソッド [#ta79a61a] アクセスメソッド : GET, PUT, POST など **mod_access_compat 非推奨 [#p2d269b3] Order 、 Allow 、 Denyは、Apache 2.4で非推奨ディレクティブ、使うには、 mod_access_compatを有効にする必要ある。 公式仕様:https://httpd.apache.org/docs/2.4/ja/mod/mod_access_compat.html **access log [#u99c01c7] blog : https://qiita.com/labpixel/items/b01ecd26d42246f54b1f logフォーマット:送信元IP - - [日時] "HTTPメゾッド /アクセス先 HTTPバージョン" ステータスコード レスポンスボディのサイズ 正 常 ロ グ : **Ubuntu 22 で Apache 2.4.52 を Apache 2.4.63 にアップデート [#n645f6a0] 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) のサポートが進んでいるため、アップグレードすると 高速な通信 が可能になります! ★結果として、2.4.63は正式リリースじゃないから、セルフビルドできても不安定で、upd通信がtcpよりどれくらい速くなるか不明確ですし、掛かる労力だけ大きい見込みで、やめておく。 **2.4.63までの概要 [#ad72783e] 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 **Apache2.4.52のインストールファイル一覧 [#qbf7d188] 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 **apache2.4.63でよく使うディレクトリ [#z992bdc3] cd /usr/local/apache2/logs/ sudo vim /usr/local/apache2/conf/httpd.conf **Apache2.4.52で[sudo apt install apache2]で展開したファイル [#k8e47d9e] ●設定ファイル /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/ #モジュールは通常に配置されています。