証明書を取得する前に、Apacheの通信をHTTPSのみにします。リモートアクセス用パソコンからUbuntu Serverにログインして、次のコマンドを実行します。「[sudo] taro のパスワード:」のように表示されたら、ユーザーのパスワードを入力してください。
1 2 3 |
$ sudo a2enmod ssl $ sudo a2ensite default-ssl $ sudo systemctl restart apache2 |
最初のコマンドで「mod_ssl」という暗号化機能モジュールを有効にします。次のコマンドでHTTPSでアクセスするための設定(「/etc/apache2/sites-available/default-ssl.conf」ファイル内に記述)をApacheに組み込みます。最後のコマンドでApacheを再起動し、それらを反映します。
前回説明したファイアウォールを有効にしていたら、
1 |
$ sudo ufw allow https |
を実行してHTTPSが利用するTCP「443」番ポートへのアクセスを許可してください。
以上で、HTTPSの設定は完了です。UbuntuのApacheには、自前で作成した証明書が用意されているので、そのままでHTTPSによるアクセスができます。リモートアクセス用パソコンでWebブラウザーを開いて「https://Ubuntu ServerのIPアドレス/」にアクセスしてみてください。正式な証明書ではないので、図4(図2と同じ)のメッセージが表示されます。
最後に「http://Ubuntu ServerのIPアドレス/」のようにHTTPでアクセスした場合もHTTPSに切り替わるように、
1 |
$ sudo nano /etc/apache2/sites-enabled/000-default.conf |
を実行してテキストエディタで「/etc/apache2/sites-enabled/000-default.conf」ファイルを開き、「DocumentRoot /var/www/html」(12行目)の下に次の1行を追記します。
1 |
Redirect "/" "https://Ubuntu ServerのIPアドレス/" |
この設定を反映するために、
1 |
$ sudo systemctl restart apache2 |
を実行します。リモートアクセス用パソコンのWebブラウザーで「http://Ubuntu ServerのIPアドレス/」にアクセスし、図4のメッセージが表示されることを確認します。