宮島弥山山頂に行く途中で |
みなさん,こんにちは。
Webサーバソフトは,これまでApacheが主流でしたが,最近は,「Apache」よりも「nginx」が主流になりつつあります。しかし,Apacheも相当な高負荷でなければ十分に使えるソフトですので,今回は手慣れたApache2を利用することにしました。
詳しい事は,インターネットをググれば専門家がいくらでも教えてくれますので,要点のみ記載します。
それでは早速始めましょう。
Apache2のインストール
サーバスペックは,以下のとおりです。
種 別 | 内 容 | |
OS | Ubuntu 20.04 LTS | |
サーバ形態 | VPS | |
サーバスペック | 3CPU メモリ2GB SSD 50GB |
前提条件として,Ubuntu特有のsudo権限を持つroot以外のユーザーが設定されていること,さらには、必要で無いポートをブロックするファイアウォール機能(UFW)を有効にしてあることとします。
コード
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
プロファイル | 内 容 | |
Apache | このプロファイルは、ポート80(通常の暗号化されていないWebトラフィック)のみを開く。 | |
Apache Full | このプロファイルは、ポート80(通常の暗号化されていないWebトラフィック)とポート443(TLS/SSL暗号化トラフィック)の両方を開く。 | |
Apache Secure | このプロファイルは、ポート443 (TLS/SSL暗号化トラフィック)のみを開く。 |
次のようにコマンドを入力します。
コード
sudo ufw allow 'Apache Full'
入力後,設定状態を確認します。
コード
sudo ufw status
コード
Status: active
To Action From
-- ------ ----
Apache Full ALLOW Anywhere
Apache Full(v6) ALLOW Anywhere (v6)
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です。
このページは、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 件のコメント:
コメントを投稿