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!」が表示されます。