Ubuntuは、非常に人気の高いLinuxディストリビューションで、特にサーバー環境で広く使われています。中でもApacheは、最も利用されているWebサーバーソフトウェアの一つです。本記事では、Ubuntuを使用してApacheをインストールし、Webサーバーを構築する手順をわかりやすく解説します。
本記事の読者層は以下の方を想定しています。
- UbuntuやApacheを使って初めてWebサーバーを構築しようとしている人
- 日常的にUbuntuや他のLinuxディストリビューションを使用しているシステム管理者
- 自分でサーバー環境を構築し・運用したいが手順や最新知識を学びたい人
Apacheとは
Apache(Apache HTTPサーバー)は、オープンソースで開発されているクロスプラットフォームのWebサーバーソフトウェアです。現在のバージョンは2.4系で、特に動的なWebサイトやアプリケーションのホスティングに向いています。
「Apache」はバージョン1からアップグレードされたバージョン2が広く使われています。現在では下記に示すように世界で34%ほど (2021年5月) のシェアを誇っておりNginxと人気を二分するほどです。今回は最新バージョン2.4の使用方法を解説します。
WEBプログラム | 特徴 |
---|---|
Apache (シェア33.8%) | ・全ての動作を平均的にこなす ・動的ファイルの処理に向いている ・技術情報が豊富 |
Nginx (シェア33.8%) | ・同時接続に強いWEBアプリ ・レスポンスが早い ・静的ファイルの処理に向いている ・技術情報が少ない |
最新情報は以下の「ApacheのHTTP SERVER PROJECT」をご参照ください。
Apache2は非常に多機能なサーバーソフトです。その都度、必要な機能だけを組み込めるようにライブラリ(拡張できるモジュール)がいくつか用意されています。
UbuntuにおけるApacheのインストール
1. Apacheのインストール手順
まず、Apacheをインストールします。Ubuntuにはパッケージ管理ツールapt
が用意されており、コマンドを入力するだけで簡単にソフトウェアをインストールできます
インストール手順
パッケージリストの更新
$ sudo apt update
Apacheのインストール
$ sudo apt install apache2
apache2のバージョン確認は「apache2 -v」コマンドを使います。
$apache2 -v
Server version: Apache/2.4.29 (Ubuntu)
Server built: 2022-06-23T12:51:37
Apacheの起動確認 インストールが完了すると、自動的にApacheが起動します。状態を確認するために以下のコマンドを使用します。
$ sudo systemctl status apache2
ブラウザで動作確認 Webブラウザを起動し、サーバーのIPアドレスまたはホスト名を指定してApacheのデフォルトページにアクセスします。
http://localhost
設定ファイルの構成
使用環境
- ホスト環境:Windows OS 10もしくは11
- 仮想環境マシン:WSL(Windows Subsystem for Linux) 1 もしくはWSL 2 (どちらでも)
- 仮想環境OS:Linux Ubuntu 18.04 LTS
- パッケージバージョン:Apache 2.4.29(Ubuntu)
Apacheディレクトリ構造
Apacheの設定ファイルは、すべて/etc/apache2/ディレクトリに保存されています。ここでは、主なディレクトリとファイルについて説明します。apacheの設定を行うために、Ubuntu server内の設定ファイル「apache2.conf」の変更が必要になります。
内容 | フォルダ・ファイル |
---|---|
トップページ | /var/www/html |
アクセスログ エラーログ | /var/log/apache2/access.log /var/log/apache2/error.log |
設定ファイル | /etc/apache2/apache2.conf |
次に、設定ファイルについて詳しく解説していきます。
apacheのログファイル
apacheのログフィあるは、「/etc/log/apache2/」内にあります。
apacheの設定ファイル
Apache HTTP serverでは、「/etc/apache2」ディレクトリにあります。以下コマンドで確認する事が出来ます。
$tree /etc/apache2
(* tree コマンドがなければ、「apt-get install tree」にてインストール下さい。)
関連ファイルが非常に多いので、ここではすべてを示すことは割愛しますが、主に以下に示す設定ファイルがあります。
・apache2.conf
apache2のメインの設定ファイル
・conf-available/
各種Webアプリケーションなどの設定ファイルを配置するディレクトリ
・conf-enabled/
上の設定で実際に使用するものを配置する。
・magic
mod_mime_magicのための設定ファイル。README.etcファイルで「このファイルを触る必要はたぶんない」
・mods-available/
.load(モジュールをロードするために必要な設定が記載されたファイル)や .conf(モジュールを利用するために必要な設定が記載されたファイル)を 保存するディレクトリ. モジュールがインストールさ際にここに書き込まれる。
・mods-enabled/
上の設定で実際に使用するものを配置する。
・ports.conf
どのポートやアドレスでLISTENするかを指定するファイルです。規定値はポート80番を利用しています。
・sites-available/
バーチャルホストに関する設定ファイルを保存するディレクトリ
CGIなどの許可をここで取り付ける。
・sites-enabled/
上の設定で実際に使用するものを配置する。
・envvars
この中にhttpdが起動する前に設定される環境変数
・/var/log/apache2/access.log
クライアントからのアクセスを記録する「アクセスログ」ファイル。デフォルトのアクセスログは「sites-enabled/000-default.conf」に定義されています。
・/var/log/apache2/error.log
エラーを記録する「エラーログ」ファイル
・/var/www/html
HTMLファイルや画像ファイルなどを配置するディレクトリで「ドキュメントルート」と呼ばれています。web無頼座のアドレスを指定した際、このドキュメントルートがトップページとなるようにアクセスします。
設定の書き換え処理
・conf-available/[コンフィグレーション].conf を書き換え後、設定を反映させるコマンド
$a2enconf [コンフィグレーション].conf
・sites-available/[コンフィグレーション].conf を書き換え後、設定を反映させるコマンド
$a2ensite [コンフィグレーション].conf
・mods-available/[コンフィグレーション].conf を書き換え後、設定を反映させるコマンド
$a2enmod [コンフィグレーション].conf
・一括設定の場合はサーバーが一時止まるが、再リロードしても良い。
$systemctl reload apache2
Apacheのプロセス管理
サーバーのプロセス管理は、安定稼働させるために非常に重要です。以下は、Apacheのプロセス管理に使用する基本的なコマンドです
操作 | コマンド |
---|---|
サーバー停止 | $ sudo systemctl stop apache2 |
サーバー起動 | $ sudo systemctl start apache2 |
サーバー再起動 | $ sudo systemctl restart apache2 |
設定のリロード | $ sudo systemctl reload apache2 |
自動起動の有効化 | $ sudo systemctl enable apache2 |
自動起動の無効化 | $ sudo systemctl disable apache2 |
まとめ
apache2のディレクトリ構造について解説
- Apache HTTP serverでは、「/etc/apache2」ディレクトリに、設定ファイルがあります。
次回の記事をご期待下さい。どうぞよろしくお願いいたします。
コメント