序章

Apache HTTPサーバーは、世界で最も広く使用されているWebサーバーです。 動的にロード可能なモジュール、堅牢なメディアサポート、他の一般的なソフトウェアとの広範な統合など、多くの強力な機能を提供します。

このガイドでは、ApacheWebサーバーをUbuntu18.04サーバーにインストールします。 このチュートリアルの詳細については、 Ubuntu18.04にApacheWebサーバーをインストールする方法を参照してください。

前提条件

このガイドを開始する前に、次のものが必要です。

  • Ubuntu18.04サーバーとsudo権限を持つ通常の非rootユーザー。 さらに、必須ではないポートをブロックするには、基本的なファイアウォールを有効にする必要があります。 Ubuntu 18.04 初期サーバーセットアップガイドに従って、通常のユーザーアカウントを構成し、サーバーのファイアウォールをセットアップする方法を学ぶことができます。

利用可能なアカウントがある場合は、root以外のユーザーとしてログインして開始します。

ステップ1—Apacheをインストールする

Apacheは、Ubuntuのデフォルトのソフトウェアリポジトリ内で利用できます。 従来のパッケージ管理ツールを使用してインストールできます。

ローカルパッケージインデックスを更新します。

  1. sudo apt update

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

  1. sudo apt install apache2

ステップ2—ファイアウォールを調整する

利用可能なufwアプリケーションプロファイルを確認します。

  1. sudo ufw app list
Output
Available applications: Apache Apache Full Apache Secure OpenSSH

構成したトラフィックを引き続き許可する最も制限の厳しいプロファイルを有効にし、ポート80(通常の暗号化されていないWebトラフィック)でのトラフィックを許可します。

  1. sudo ufw allow 'Apache'

変更を確認します。

  1. sudo ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Apache ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache (v6) ALLOW Anywhere (v6)

ステップ3—Webサーバーを確認する

systemd initシステムで、次のように入力してサービスが実行されていることを確認してください。

  1. sudo systemctl status apache2
Output
● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: active (running) since Tue 2018-04-24 20:14:39 UTC; 9min ago Main PID: 2583 (apache2) Tasks: 55 (limit: 1153) CGroup: /system.slice/apache2.service ├─2583 /usr/sbin/apache2 -k start ├─2585 /usr/sbin/apache2 -k start └─2586 /usr/sbin/apache2 -k start

デフォルトのApacheランディングページにアクセスして、ソフトウェアがIPアドレスを介して正しく実行されていることを確認します。

http://your_server_ip

デフォルトのUbuntu18.04ApacheWebページが表示されます。

Apache default page

Apache Webサーバーを使用する場合、仮想ホスト(Nginxのサーバーブロックと同様)を使用して、構成の詳細をカプセル化し、単一のサーバーから複数のドメインをホストできます。 your_domain というドメインを設定しますが、これを独自のドメイン名に置き換える必要があります。 DigitalOceanを使用したドメイン名の設定の詳細については、 DigitalOceanDNSの概要を参照してください。

your_domainのディレクトリを作成します。

  1. sudo mkdir /var/www/your_domain

ディレクトリの所有権を割り当てます。

  1. sudo chown -R $USER:$USER /var/www/your_domain

unmaskの値を変更していない場合は、Webルートのアクセス許可は正しいはずですが、次のように入力して確認できます。

  1. sudo chmod -R 755 /var/www/your_domain

nanoまたはお好みのテキストエディタを使用して、サンプルのindex.htmlページを作成します。

  1. nano /var/www/your_domain/index.html

内部に、次のサンプルHTMLを追加します。

/var/www/your_domain/index.html
<html>
    <head>
        <title>Welcome to Your_domain!</title>
    </head>
    <body>
        <h1>Success!  The your_domain virtual host is working!</h1>
    </body>
</html>

終了したら、ファイルを保存して閉じます。

/etc/apache2/sites-available/your_domain.confで新しい仮想ホストファイルを作成します。

  1. sudo nano /etc/apache2/sites-available/your_domain.conf

次の構成ブロックを追加し、your_domainの代わりに新しいディレクトリとドメイン名を含めるように更新しました。

/etc/apache2/sites-available/your_domain.conf
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName your_domain
    ServerAlias your_domain
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

終了したら、ファイルを保存して閉じます。

a2ensiteで仮想ホストファイルを有効にします。

  1. sudo a2ensite your_domain.conf

000-default.confで定義されているデフォルトサイトを無効にします。

  1. sudo a2dissite 000-default.conf

構成エラーをテストします。

  1. sudo apache2ctl configtest

次の出力が表示されます。

Output
Syntax OK

Apacheを再起動して、変更を実装します。

  1. sudo systemctl restart apache2

これで、Apacheがドメイン名を提供するはずです。 これをテストするには、http://your_domainに移動します。ここで、次のように表示されます。

Apache virtual host example

結論

Apache Webサーバーがインストールされたので、提供するコンテンツのタイプと、より豊かなエクスペリエンスを作成するために使用するテクノロジーについて、多くのオプションがあります。

より完全なアプリケーションスタックを構築したい場合は、 Ubuntu18.04でLAMPスタックを構成する方法に関するこの記事を確認してください。