2023年10月11日

Ubuntu20.04 Apache2(1)インストールと起動方法

宮島弥山山頂に行く途中で
宮島弥山山頂に行く途中で


みなさん,こんにちは

さて,前回はUbuntuサーバ用のUFW(ファイアウォール)について学習しました。今回は,WebサーバソフトウェアであるApache2について,インストールと稼働確認までをざっと学習します。

Webサーバソフトは,これまでApacheが主流でしたが,最近は,「Apache」よりも「nginx」が主流になりつつあります。しかし,Apacheも相当な高負荷でなければ十分に使えるソフトですので,今回は手慣れたApache2を利用することにしました。

しい事は,インターネットをググれば専門家がいくらでも教えてくれますので,要点のみ記載します。

それでは早速始めましょう。


  Apache2のインストール

サーバスペックは,以下のとおりです。

種 別 内 容
OS Ubuntu 20.04 LTS
サーバ形態 VPS
サーバスペック 3CPU メモリ2GB SSD 50GB

前提条件として,Ubuntu特有のsudo権限を持つroot以外のユーザーが設定されていること,さらには、必要で無いポートをブロックするファイアウォール機能(UFW)を有効にしてあることとします。

Apache2は基本ソフトなので,root権限で構築します。今回はUbuntuのッケージ管理ツールaptコマンドを使用します。それでは,ユーザのホームディレクトリ「$」にログインしてください。
aptソフトをアップデートして、最新のバージョンにします。

コード

sudo apt  update

次に、apache2パッケージをインストールします。 

コード

sudo apt install apache2

これにより,apache2に必要なファイルがインストールされます


  ファイアウォール(UFW)への追加

前回述べたように,UFWによるポート制限はかかっていると思いますが,今回はこれに加えてApache2へのアクセス制限を加えます。特にWebサーバソフトは,インターネットに晒されますので,Apache2の制限を加えた方が良いです。

Apache2はインストール時に,UFWに対してアプリケーションプロファイルをいくつか加えています。以下を入力して、UFWアプリケーションプロファイルの一覧を表示します。

コード

sudo ufw app list

次のようなアプリケーションプロファイルの一覧が表示されます。

コード

Available applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

この中にApache2に関係したプロファイルが3つあります。

プロファイル 内 容
Apache このプロファイルは、ポート80(通常の暗号化されていないWebトラフィック)のみを開く。
Apache Full このプロファイルは、ポート80(通常の暗号化されていないWebトラフィック)とポート443(TLS/SSL暗号化トラフィック)の両方を開く。
Apache Secure このプロファイルは、ポート443 (TLS/SSL暗号化トラフィック)のみを開く。

セキュリティ上は,最も制限の厳しいプロファイルを有効にするのが良いのですが,SSLに対応していないポートが必要なこともあるため,Apache Fullを選択します
のようにコマンドを入力します。

コード

sudo ufw allow 'Apache Full'

入力後,設定状態を確認します。

コード

sudo ufw status

以下のような一覧が表示されます。

コード

Status: active
To                   Action       From
--                   ------      ----
Apache Full           ALLOW       Anywhere
Apache Full(v6)       ALLOW       Anywhere (v6)
これにより,ApacheWebサーバへのアクセスが許可されていることがわかります。


  Apache2の起動

Apache2の起動準備が整いましたので起動します。まずは,Apache2のステータスを確認します。

コード

sudo systemctl status apache2

ここで,以下のように「Active: active (running)」と 出た場合は,既に起動しています。

コード

Apache2.service - The Apache HTTP Server
  Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Active: active (running) since Sat 2023-09-30 16:48:20 JST; 1 weeks 1 days ago
  ・・・

もし,起動してない場合は,次のコマンドを入力して起動してください。

コード

sudo systemctl start apache2

さらに,ブラウザ側からApacheの起動を確認します。サーバのIPアドレスが分かっている場合はいいのですが,そうでない場合は次のコマンドを入力して,IPアドレスを取得してください。

コード

hostname -I

または,次のコマンドでも同じです。

コード

sudo curl -4 icanhazip.com

IPアドレスが分かれば,ブラウザからURL「http://IPアドレス」を入力します。これにより,デフォルトのUbuntu 20.04 Apache webページが表示されます。ブラウザによっては,httpsでないとエラーが出ますが,以下の「文字画面」が出ればOKです。


Apache2 Ubuntu Default Page

このページは、Apacheが正常に機能していることを示しています。また,Apacheファイルとディレクトリの場所に関する基本的な情報を記述しています。


  Apacheプロセスのコマンド群

これでApache2のインストールまで出来ましたので,以下にプロセスコントロールのためのコマンド群を記載します。

①Webサーバを停止する場合

コード

sudo systemctl stop apache2

②Webサーバを起動する場合

コード

sudo systemctl start apache2

③Webサーバをリスタートする場合

コード

sudo systemctl restart apache2

④設定だけを変更する場合

コード

sudo systemctl reload apache2

⑤サーバ起動時に自動的に起動するようにする設定

コード

sudo systemctl enable apache2

⑥サーバ起動時に自動的に起動しないようにする設定

コード

sudo systemctl disable apache2

これらのコマンドを利用して,Apache2をコントロールします。


  まとめ

Apache2のインストールと起動方法について説明してきましたが,Apache2にはいろいろと定義ファイルがあり,使い方が独特です。そこで,各ファイルの内容について説明しておきます。

ドキュメント

プロファイル 内 容
/var/www/html Apacheのデフォルトでは,コンテンツは/var/www/htmlディレクトリから提供される。これは、Apache設定ファイルを変更することで変更できる。

サーバ設定

プロファイル 内 容
/etc/apache2  Apacheの設定ディレクトリ。すべての設定ファイルがこの下にある。 
/etc/apache2/apache2.conf Apacheの設定ファイル。これを変更して、Apacheのグローバル設定を変更する。このファイルは、他のファイルを設定ディレクトリにロードする。
/etc/apache2/ports.conf Apacheがリッスンするポートを指定するファイル。デフォルトはポート80をリッスンし、SSL機能を提供するモジュールが有効であれば、ポート443もリッスンする。
/etc/apache2/sites-available/ サイト内の仮想ホストを保存するディレクトリ。Apacheは、sites-enabledディレクトリにリンクされない限り、このディレクトリにある設定ファイルを使用しない。通常、すべてのサーバーブロック設定はこのディレクトリで行われ、他のディレクトリにa2ensiteコマンドでリンクすることで有効になる。
/etc/apache2/sites-enabled/ 有効化されたサイト内の仮想ホストが保存されているディレクトリ。通常、これらはsites-availableディレクトリにある設定ファイルにa2ensiteをリンクすることで作成される。Apacheは、このディレクトリの設定ファイルとリンクを読み込み、完全な設定をコンパイルするために起動またはリロードする。
/etc/apache2/conf-abvailable/
/etc/apache2/conf-enabled/
これらのディレクトリは、sites-availableディレクトリ、sites-enabledディレクトリと同様のリレーションシップを持っているが、仮想ホストに属さない設定ファイル類の保存に使用する。conf-availableディレクトリ内のファイルは、a2enconfコマンドで有効に、a2disconfコマンドで無効にできる。
/etc/apache2/mods-available/
/etc/apache2/mods-enabled/
これらのディレクトリにはそれぞれ、使用可能なモジュール、有効になったモジュールが含まれる。拡張子が.loadのファイルには特定のモジュールをロードするフラグメントが、拡張子が.confのファイルにはそれらのモジュールの設定が含まれる。モジュールは、a2enmod/a2dismodコマンドを使用して、有効/無効にできる。
ログ
プロファイル 内 容
/var/log/apache2/access.log デフォルトでは、Webサーバへのリクエストはすべて、Apacheで特に設定されていない限り、このログファイルに記録される。
/var/log/apache2/error.log デフォルトでは、すべてのエラーはこのファイルに記録される。Apache設定のLogLevelディレクティブは、エラーログに記録されるレベルを指定する。
 

これで,Apache2のインストールと起動方法は終わりです。次回は,Apache2の仮想ホスト設定について記述します。

(注意)情報の正確性を期していますが,実施される場合には自己責任でお願いします。


0 件のコメント: