開発運用

Apache SSL設定方法 Ubuntu

SSL証明書をApacheサーバーにインストールして、Ubuntu 14.04でHTTPSを有効にする方法について、完全かつ包括的な記事を日本語で説明します。


はじめに

ウェブサイトを安全に運営するためには、SSL(Secure Sockets Layer)証明書をインストールして、通信を暗号化することが重要です。SSL証明書を使用することで、ユーザーの情報が暗号化され、第三者からの盗聴や改ざんを防ぐことができます。このガイドでは、Ubuntu 14.04上でApacheサーバーにSSL証明書をインストールし、HTTPS接続を有効にする手順を詳しく説明します。

必要な準備

  1. Ubuntu 14.04サーバーが稼働していること
  2. Apache2ウェブサーバーがインストールされていること
  3. ドメイン名が設定されていること(例: example.com)
  4. root権限を持つユーザーでアクセスできること

ステップ1: Apache2と必要なパッケージのインストール

まず、必要なパッケージがインストールされていることを確認します。SSLを有効にするために、mod_sslというモジュールを有効にする必要があります。以下のコマンドを実行して、必要なパッケージをインストールします。

bash
sudo apt-get update sudo apt-get install apache2 sudo apt-get install openssl sudo apt-get install ssl-cert

次に、ApacheのSSLモジュールを有効にします。

bash
sudo a2enmod ssl sudo service apache2 restart

これで、ApacheサーバーはSSL通信を扱う準備が整いました。

ステップ2: SSL証明書の取得

1. 自己署名証明書を作成(テスト用)

商用の証明書を購入する前に、自己署名証明書を使用してHTTPSの動作をテストすることができます。自己署名証明書を作成するには、以下のコマンドを実行します。

bash
sudo openssl req -x509 -newkey rsa:4096 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt -days 365

コマンドを実行すると、証明書の情報(国名、都道府県名、組織名、ドメイン名など)を入力するように求められます。適切な情報を入力してください。

2. 商用SSL証明書を購入

商用のSSL証明書を使用する場合、認証局(CA)から証明書を購入し、その証明書をサーバーにインストールする必要があります。購入後に証明書と秘密鍵ファイルが提供されます。商用証明書の場合、apache-selfsigned.keyapache-selfsigned.crtの代わりに、提供された証明書を使用します。

ステップ3: Apacheの設定ファイルを編集

SSL証明書を適用するために、Apacheの設定ファイルを編集します。設定ファイルを編集して、HTTPS通信を有効にします。

  1. SSL設定ファイルのバックアップを取ります。
bash
sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak
  1. 設定ファイルを編集します。
bash
sudo nano /etc/apache2/sites-available/default-ssl.conf

以下の設定を確認し、適宜変更します。

apache
ServerAdmin webmaster@localhost ServerName example.com # ここに自分のドメイン名を記入 DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt # 証明書ファイルのパス SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key # 秘密鍵ファイルのパス SSLCertificateChainFile /etc/ssl/certs/chain.crt # 中間証明書がある場合

設定ファイル内のSSLCertificateFileSSLCertificateKeyFileに正しい証明書ファイルと秘密鍵ファイルのパスを指定してください。

  1. SSL設定を有効にするために、以下のコマンドを実行します。
bash
sudo a2ensite default-ssl.conf
  1. Apacheを再起動して設定を適用します。
bash
sudo service apache2 restart

ステップ4: HTTPからHTTPSへのリダイレクト設定

HTTPでアクセスした際に自動的にHTTPSにリダイレクトされるように設定を行います。これにより、ユーザーが安全にウェブサイトにアクセスできるようになります。

  1. Apacheの設定ファイルを編集します。
bash
sudo nano /etc/apache2/sites-available/000-default.conf
  1. 以下のように、のセクションにリダイレクト設定を追加します。
apache
ServerAdmin webmaster@localhost ServerName example.com Redirect permanent / https://example.com/
  1. Apacheを再起動します。
bash
sudo service apache2 restart

これで、HTTPアクセスが自動的にHTTPSにリダイレクトされます。

ステップ5: SSL設定のテスト

ブラウザでウェブサイトにアクセスして、HTTPS接続が正常に動作しているか確認します。URLがhttps://example.comのように表示され、証明書の情報が表示されれば、SSL証明書のインストールは成功です。

ステップ6: SSL設定の強化(オプション)

セキュリティを強化するために、以下の設定を/etc/apache2/sites-available/default-ssl.confに追加できます。

apache
# SSLの強化設定 SSLCipherSuite HIGH:!aNULL:!MD5 SSLProtocol all -SSLv2 -SSLv3

これにより、弱い暗号スイートとSSLv2、SSLv3を無効にすることができます。

結論

これで、Ubuntu 14.04上のApacheサーバーにSSL証明書をインストールし、HTTPSを有効にする準備が整いました。セキュリティが強化され、ユーザーのデータが暗号化されて安全にやり取りされるようになります。自己署名証明書でテストを行い、商用SSL証明書を導入することで、さらにセキュリティを強化することができます。

Back to top button