#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/    #モジュールは通常に配置されています。

トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS