マイウィキ

 ウィキシステム備忘録

ユーザ用ツール

サイト用ツール


ubuntu:apache

Apache HTTP Server

このページはUbuntuにおけるApache HTTP Server(以下:Apache)の説明になっています。

Apacheのロゴ


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 バーチャルホスト(複数ドメインの運用)に関する設定
ubuntu/apache.txt · 最終更新: by peconet