Debian10にApacheWebサーバーをインストールする方法
序章
Apache HTTPサーバーは、世界で最も広く使用されているWebサーバーです。 動的にロード可能なモジュール、堅牢なメディアサポート、他の一般的なソフトウェアとの広範な統合など、多くの強力な機能を提供します。
このガイドでは、Debian10サーバーにApacheWebサーバーをインストールする方法について説明します。
前提条件
このガイドを開始する前に、サーバーにsudo権限を持つ通常の非rootユーザーが設定されている必要があります。 さらに、必須ではないポートをブロックするには、基本的なファイアウォールを有効にする必要があります。 通常のユーザーアカウントを設定し、サーバーのファイアウォールを設定する方法については、Debian10の初期サーバー設定ガイドに従ってください。
利用可能なアカウントがある場合は、root以外のユーザーとしてログインして開始します。
ステップ1—Apacheをインストールする
ApacheはDebianのデフォルトのソフトウェアリポジトリ内で利用可能であり、従来のパッケージ管理ツールを使用してインストールすることができます。
最新のアップストリームの変更を反映するようにローカルパッケージインデックスを更新することから始めましょう。
- sudo apt update
次に、apache2
パッケージをインストールします。
- sudo apt install apache2
インストールを確認した後、apt
はApacheと必要なすべての依存関係をインストールします。
ステップ2—ファイアウォールを調整する
Apacheをテストする前に、ファイアウォール設定を変更して、デフォルトのWebポートへの外部アクセスを許可する必要があります。 前提条件の指示に従ったと仮定すると、サーバーへのアクセスを制限するようにUFWファイアウォールを構成する必要があります。
インストール中に、ApacheはUFWに登録して、ファイアウォールを介したApacheへのアクセスを有効または無効にするために使用できるいくつかのアプリケーションプロファイルを提供します。
次のように入力して、ufw
アプリケーションプロファイルを一覧表示します。
- sudo ufw app list
アプリケーションプロファイルのリストが表示されます。
OutputAvailable applications:
AIM
Bonjour
CIFS
. . .
WWW
WWW Cache
WWW Full
WWW Secure
. . .
ApacheプロファイルはWWWで始まります。
- WWW :このプロファイルはポート80(通常の暗号化されていないWebトラフィック)のみを開きます
- WWWキャッシュ:このプロファイルはポート8080のみを開きます(キャッシュやWebプロキシに使用されることもあります)
- WWW Full :このプロファイルは、ポート80(通常の暗号化されていないWebトラフィック)とポート443(TLS / SSL暗号化トラフィック)の両方を開きます
- WWW Secure :このプロファイルはポート443(TLS / SSL暗号化トラフィック)のみを開きます
構成したトラフィックを引き続き許可する最も制限の厳しいプロファイルを有効にすることをお勧めします。 このガイドではまだサーバーのSSLを構成していないため、ポート80でのトラフィックのみを許可する必要があります。
- sudo ufw allow 'WWW'
次のように入力して、変更を確認できます。
- sudo ufw status
表示された出力に許可されたHTTPトラフィックが表示されます。
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
WWW ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
WWW (v6) ALLOW Anywhere (v6)
ご覧のとおり、プロファイルはWebサーバーへのアクセスを許可するようにアクティブ化されています。
ステップ3—Webサーバーを確認する
インストールプロセスの最後に、Debian10はApacheを起動します。 Webサーバーはすでに稼働しているはずです。
systemd
initシステムで、次のように入力してサービスが実行されていることを確認してください。
- sudo systemctl status apache2
Output● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2019-07-19 15:33:01 UTC; 4min 13s ago
Docs: https://httpd.apache.org/docs/2.4/
. . .
Jul 19 15:33:01 debssh systemd[1]: Starting The Apache HTTP Server...
Jul 19 15:33:01 debssh apachectl[2791]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive global
Jul 19 15:33:01 debssh systemd[1]: Started The Apache HTTP Server.
この出力からわかるように、サービスは正常に開始されたように見えます。 ただし、これをテストする最良の方法は、Apacheにページを要求することです。
デフォルトのApacheランディングページにアクセスして、ソフトウェアがIPアドレスを介して正しく実行されていることを確認できます。 サーバーのIPアドレスがわからない場合は、コマンドラインからいくつかの異なる方法で取得できます。
サーバーのコマンドプロンプトで次のように入力してみてください。
- hostname -I
スペースで区切られたいくつかのアドレスが返されます。 Webブラウザーでそれぞれを試して、機能するかどうかを確認できます。
別の方法は、curl
ツールを使用することです。これにより、インターネット上の別の場所から見たパブリックIPアドレスが得られます。
まず、apt
を使用してcurl
をインストールします。
- sudo apt install curl
次に、curl
を使用して、IPv4を使用してicanhazip.comを取得します。
- curl -4 icanhazip.com
サーバーのIPアドレスを取得したら、それをブラウザのアドレスバーに入力します。
http://your_server_ip
デフォルトのDebian10ApacheWebページが表示されます。
このページは、Apacheが正しく機能していることを示しています。 また、重要なApacheファイルとディレクトリの場所に関する基本的な情報も含まれています。
ステップ4—Apacheプロセスの管理
Webサーバーが稼働しているので、いくつかの基本的な管理コマンドを見ていきましょう。
Webサーバーを停止するには、次のように入力します。
- sudo systemctl stop apache2
停止時にWebサーバーを起動するには、次のように入力します。
- sudo systemctl start apache2
サービスを停止してから再開するには、次のように入力します。
- sudo systemctl restart apache2
単に設定を変更するだけの場合、Apacheは接続を切断せずにリロードできることがよくあります。 これを行うには、次のコマンドを使用します。
- sudo systemctl reload apache2
デフォルトでは、Apacheはサーバーの起動時に自動的に起動するように構成されています。 これが希望どおりでない場合は、次のように入力してこの動作を無効にします。
- sudo systemctl disable apache2
起動時にサービスを再度有効にするには、次のように入力します。
- sudo systemctl enable apache2
サーバーが再起動すると、Apacheが自動的に起動するようになりました。
手順5—仮想ホストの設定(推奨)
Apache Webサーバーを使用する場合、仮想ホスト(Nginxのサーバーブロックと同様)を使用して、構成の詳細をカプセル化し、単一のサーバーから複数のドメインをホストできます。 次のコマンドで、を your_domain
を独自のドメイン名に置き換えます。 DigitalOceanを使用したドメイン名の設定の詳細については、DigitalOceanDNSの概要を参照してください。
Debian 10上のApacheでは、/var/www/html
ディレクトリからドキュメントを提供するように設定された1つのサーバーブロックがデフォルトで有効になっています。 これは単一のサイトではうまく機能しますが、複数のサイトをホストしている場合は扱いにくくなる可能性があります。 /var/www/html
を変更する代わりに、[X94X]