Webサーバーの構築(Ubuntu 18.04 amd64)

Ubuntu18系のサーバーで、Apacheというフリーウェアを使用してWebサーバーを使えるよう設定します。

環境

Ubuntu 18.04
Apache 2.4.X

1.httpd(Apache)のインストール

下記のコマンドでhttpd(Apache)をインストールします。

ubuntu@:~$ sudo apt install apache2

確認メッセージが表示されるので、yを入力します。

Do you want to continue? [Y/n]

2.ファイアウォールの設定変更

アプリケーションのプロファイルを確認します。

ubuntu@:~$ sudo ufw app list

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

Available applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

Apacheには3つのプロファイルがあります。
・Apache: ポート80(通常の暗号化されていないWebトラフィック)のみを開きます。
・Apache Full: ポート80(通常の暗号化されていないWebトラフィック)とポート443(TLS/SSL暗号化トラフィック)の両方を開きます。
・Apache Secure: ポート443 (TLS/SSL暗号化トラフィック)のみを開きます。

一般的に暗号化通信が推奨されているため、「Apache Secure」を本来であれば有効にしますが、まだSSLを設定していないため、今回は「Apache Full」を有効にします。

ubuntu@:~$ sudo ufw allow 'Apache Full'

変更されたか確認します。

ubuntu@:~$ sudo ufw status

下記のように「Apache Full」が表示されていれば、Webサーバーへのアクセスが許可されています。

Status: active

To                         Action      From
--                         ------      ----
2222                       ALLOW       Anywhere
Apache Full                ALLOW       Anywhere
2222 (v6)                  ALLOW       Anywhere (v6)
Apache Full (v6)           ALLOW       Anywhere (v6)

3.Webサーバーの起動確認

下記のコマンドでApacheが起動しているか確認します。

ubuntu@:~$ sudo systemctl status apache2

出力コード内に下記の通り表示されていれば起動中です。

Active: active (running)

また、サーバーのIPアドレスをブラウザのアドレスバーに入力することで「Apache2 Ubuntu Default Page」が表示されます。

以上で、Webサーバーの構築は完了です。

仮想ホストの設定(推奨設定)

仮想ホストを設定することで複数のドメインでWebサーバーを構築することができます。
今回は、original_domainで設定しますが、これを自分のドメインに置き換えて設定してください。

仮想ホスト用のディレクトリ作成

ubuntu@:~$ sudo mkdir /var/www/original_domain

作成したディレクトリに所有権を割り当て
※今回は例として、ユーザー「sakura」に所有権を設定します。

ubuntu@:~$ sudo chown -R sakura:sakura /var/www/original_domain

所有者「sakura」には読み取り・書き込み・実行可能権限を、グループには読み取り・実行可能権限のみを付与します。

ubuntu@:~$ sudo chmod -R 755 /var/www/original_domain

次にサンプルページ(index.html)を作成します。

ubuntu@:~$ sudo vi /var/www/original_domain/index.html

下記のような分かりやすい適当な文字を入力して保存します。

original_domain working!

デフォルトの設定ファイル「/etc/apache2/sites-able/000-default.conf」を直接変更する代わりに、「/etc/apache2/sites-available/original_domain.conf」の新しい設定ファイルを作成します。

ubuntu@:~$ sudo vi /etc/apache2/sites-available/original_domain.conf

新しいファイルに下記のように入力して保存します。
※original_domainの部分は、自分のドメインに置き換えてください。

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName original_domain
    ServerAlias www.original_domain
    DocumentRoot /var/www/original_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

a2ensiteツールを使用して、次のようにファイルを有効にします。

ubuntu@:~$ sudo a2ensite original_domain.conf
Site original_domain already enabled

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

ubuntu@:~$ sudo a2dissite 000-default.conf
Site 000-default disabled.
To activate the new configuration, you need to run:
  systemctl reload apache2

設定にエラーがないか確認します。Syntax OKと表示されれば問題ありません。

ubuntu@:~$ sudo apache2ctl configtest
Syntax OK

Apacheを再起動して完了です。

ubuntu@:~$ sudo systemctl restart apache2

サーバーのIPアドレスをブラウザのアドレスバーに入力することで、先程作成したoriginal_domain用index.htmlファイルの「original_domain working!」が表示されます。