背景情報


SSL証明書は、サイトの情報を暗号化し、より安全な接続を作成する方法です。 認証局はサーバーの詳細を検証するSSL証明書を発行できますが、自己署名証明書にはサードパーティによる確証はありません。 このチュートリアルでは、自己署名SSL証明書を作成し、それをVPSに追加し、証明書を世界中に表示するようにSSLファイルを構成する方法について説明します。

1)Apacheをインストールします


サーバーでApacheがまだ実行されていない場合、これらはapache2という名前でaptitudeですぐに利用できるApachehttpdパッケージです。

次のコマンドを実行してインストールします。

 sudo apt-get install apache2

パッケージが正しくインストールされていることをテストするには、ブラウザにVPSIPアドレスを入力します。 インストールが成功した場合、ブラウザは次のように表示します。

It works!

This is the default web page for this server.
The web server software is running but no content 
has been added, yet.

2)httpdを設定します


SSLをサポートするには、httpdを設定する必要があります。 これは、apache2-commonパッケージの一部としてhttpdインストールで利用できます。

次のコマンドを使用してSSLを有効にします。

 sudo a2ensite default-ssl
 sudo a2enmod ssl

今回は、前述のように、Apache2を再起動しましょう。

 sudo service apache2 restart

モジュールが正しくインストールされていることをテストするために、前と同じようにブラウザにIPアドレスを入力します。 ただし、今回は https://を使用します。 これに続いて、ブラウザのIPアドレスを入力します。

このページに初めてアクセスすると、ブラウザはサイトの証明書が信頼されていないことを警告します。 先に進むと、前と同じページが表示されます。

It works!

This is the default web page for this server.
The web server software is running but no content has been added, 	
yet.

3)自己署名証明書を生成します


自己署名証明書を使用するには、パッケージssl-certがインストールされている必要があります。

サーバー用に独自の自己署名証明書を構成し、それを/ etc / apache2/sslに保存したかったのです。 これを行うには、次のコマンドを実行します。

sudo mkdir /etc/apache2/ssl

新しい証明書をリクエストするときは、365を希望の日数に変更することで、証明書の有効期間を指定できます。 現状では、この証明書は1年後に期限切れになります。

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

このコマンドを使用すると、自己署名SSL証明書とそれを保護するサーバーキーの両方を作成し、両方を新しいディレクトリに配置します。

このコマンドは、入力する必要のあるフィールドのリストを表示するようにターミナルに指示します。

最も重要な行は「共通名」です。 ここに公式ドメイン名を入力するか、まだ持っていない場合はサイトのIPアドレスを入力します。

<pre>You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:<span class="highlight">US</span>
State or Province Name (full name) [Some-State]:<span class="highlight">New York</span>
Locality Name (eg, city) []:<span class="highlight">NYC</span>
Organization Name (eg, company) [Internet Widgits Pty Ltd]:<span class="highlight">Awesome Inc</span>
Organizational Unit Name (eg, section) []:<span class="highlight">Dept of Merriment</span>
Common Name (e.g. server FQDN or YOUR name) []:<span class="highlight">example.com      </span>            
Email Address []:<span class="highlight">[email protected]</span></pre><br/>

4)証明書を設定します


これで、完成した証明書に必要なすべてのコンポーネントが揃いました。次に行うことは、新しい証明書を表示するように仮想ホストを設定することです。

SSL構成ファイルを開きます。

nano /etc/apache2/sites-available/default-ssl

デフォルト