目次
Apache HTTP Server
Apacheの基本機能
- HTTP/1.1のサポート
- HTTP/2のサポート
- CGI SSI などの動的コンテンツの実行
- VirtualHost機能
- Proxyサーバー機能
- 認証機能
- SSLによる暗号化通信
Apacheのインストール
$ sudo apt install apache2
サービスの確認
Webブラウザを起動して「http://localhost/」または「http://127.0.0.1/」(自分自身に設定されたIPアドレス)にアクセスする。
Apacheの概要
Apacheの基本的な機能は「core」にある。これに必要なモジュールを追加することで用途に適したWebサーバーが構築される。
静的モジュール
Apacheのプログラム本体に組み込まれているモジュール
動的モジュール
Apacheを再コンパイルすることなく動的に組み込めるモジュール。通常ディストリビューションは殆どのモジュールを動的モジュールにしている。
※モジュールのパッケージ名の多くは「libapache2」という名前で始まる。
動的モジュールの置かれている場所
「/lib/apache2/modules」
モジュールの確認
組み込まれている静的モジュールの確認
$ apachectl -l
現在、有効になっているすべてのモジュールの確認
$ apachectl -M
Apacheの基本制御
Ubuntuではサービスを管理する「systemd」がサービスの起動や停止を制御する。「systemd」に処理の要求などを行うには「systemctl」コマンドを使用する。
systemctlによる制御
Apacheを開始する
$ sudo systemctl start apache2.service
※「.service」は省略可。(以下省略)
Apacheを停止する
$ sudo systemctl stop apache2
Apacheの設定ファイルを再読み込みする
$ sudo systemctl reload apache2
Apacheを再起動する
$ sudo systemctl restart apache2
Apacheの動作状況を確認する
$ sudo systemctl status apache2
※「Active:」の項目が「active (running)」となっていれば動作中。「inactive (dead)」となっていれば停止している。
Apacheの自動起動
$ sudo systemctl enable apache2
Apacheの自動起動の無効化
$ sudo systemctl disable apache2
Apacheの基本事項
ドキュメントルートの場所
「/var/www/html」
設定・関連ファイルの場所
「/etc/apache2」(基本的な設定ファイルが置かれるディレクトリ)
「/etc/apache2/apache2.conf」(メインの設定ファイル)
※最初にこの設定ファイルが読み込まれ、ここから他の設定ファイルも読み込まれるようになっている
※他の設定ファイル…「ports.conf」と「-enabled」で終わるディレクトリにある設定ファイルが読み込まれる
設定ファイルの形式
テキストにより記述される。1行につきひとつの「ディレクティブ」と呼ばれる指示が記述される。「#」で始まる行はコメントとみなされ無視される。指示の範囲の限定には「<」「>」が使用される。(<Directory>から</Directory>など)
設定ファイルの構成
「/etc/apache2/conf-available/」
グローバル構成フラグメントの設定ディレクトリ(全ての設定ファイル)
「/etc/apache2/conf-enabled/」
グローバル構成フラグメントの設定ディレクトリ(有効化された設定ファイル)
「/etc/apache2/envvars」
apacheの環境変数の設定が記述されているファイル
「/etc/apache2/magic」
Apacheが拡張子を見てファイルの種類を判別するためのファイル
「/etc/apache2/mods-available/」
モジュールの設定ディレクトリ(全ての設定ファイル)
「/etc/apache2/mods-enabled/」
モジュールの設定ディレクトリ(有効化されたモジュール設定ファイル)
「/etc/ports.conf」
ポートに関する設定(デフォルトでは80が設定されている)
「/etc/apache2/sites-available/」
VertualHostの設定ディレクトリ(全ての設定ファイル)
「/etc/apache2/sites-enabled/」
VirtualHostの設定ディレクトリ(有効化されたホスト設定ファイル)
「/etc/apache2/conf.d/」
Apacheの設定を追加するためのファイルを置くディレクトリ
Apacheの基本設定
既存の設定ファイルは書き換えない。
メインの設定ファイル「apache2.conf」がenabledディレクトリのconfファイル(モジュールに関してはloadファイルも)を読み込む。
※有効化された設定ファイルが読み込まれる。
新規サイト設定はavailableディレクトリにconfファイルを作成し有効化する。有効化されたconfファイルのシンボリックリンクがenabledディレクトリに作成される。
設定ファイルの有効化と無効化のコマンド
ディレクトリ | 有効化 | 無効化 |
---|---|---|
conf | a2enconf | a2disconf |
mods | a2enmod | a2dismod |
sites | a2ensite | a2dissite |
設定ファイルが読み込まれる順序
1~7の順番でファイルが読み込まれる。
設定ファイル | 概要 | |
---|---|---|
1 | apache2.conf | 全体で共通の設定(設定ファイルのパスやエラーログの指定) |
2 | mods-enabled/*.load | モジュールのロード |
3 | mods-enabled/*.conf | ロードされたモジュールの基本的な設定 |
4 | ports.conf | ポート番号の設定 |
5 | apache2.conf | 各ディレクトリの基本的な設定。ログの形式の設定など |
6 | conf-enabled/*.conf | 一般的な設定(文字エンコーディングやエラーページ、セキュリティなど) |
7 | sites-enabled/*.conf | バーチャルホスト(複数ドメインの運用)に関する設定 |