この記事では、mod_ssl を使用して Apache 2 をインストールする方法について順を追って説明します。
ソースから Apache をインストールすることを好みます。有効または無効にするモジュールをより柔軟に選択できるからです。また、Apache Foundation からパッチがリリースされた直後にアップグレードまたはパッチを適用することもできます。
1.アパッチをダウンロード
httpd.apache.org から Apache をダウンロードします。現在の安定版リリースは 2.2.17 です。
Apache の最新の安定バージョンをダウンロードするための直接 URL を取得したら、以下に示すように wget を使用してサーバーに直接ダウンロードします。
cd ~ wget http://www.eng.lsu.edu/mirrors/apache//httpd/httpd-2.2.17.tar.gz tar xvfz httpd-2.2.17.tar.gz
2. SSL/TLS で Apache をインストール
以下に示すように、使用可能なすべての Apache インストールおよび構成オプションを表示します。
cd httpd-2.2.17 ./configure --help
Apache モジュールをインストールするには、通常、–enable-{module-name} と言います。たとえば、Apache で SSL をインストールするには、–enable-ssl です。 LDAP モジュールをインストールするには、–enable-ldap です。
Apache に付属するデフォルト モジュールをアンインストールするには、通常、–disable-{module-name} とします。たとえば、Apache で基本認証を無効にするには、–disable-auth-basic です
この例では、すべてのデフォルト モジュールを使用して Apache をインストールし、–enable-ssl (SSL サポートのために mod_ssl をインストールするため) と –enable-so を追加して、動的共有を介して実行時に Apache にモジュールをロードするのに役立ちます。再コンパイルを必要としない、オブジェクト (DSO) メカニズム。
./configure --enable-ssl --enable-so make make install
注意 :デフォルトでは、上記は /usr/local/apache2 の下に Apache をインストールします。この場所を変更したい場合は、./configure で –prefix オプションを使用してください。
3. httpd.conf で SSL を有効にする
Apache 構成ファイル httpd.conf は /usr/local/apache2/conf の下にあります。
/usr/local/apache2/conf/httpd.conf ファイルの httpd-ssl.conf Include 行のコメントを外します。
# vi /usr/local/apache2/conf/httpd.conf Include conf/extra/httpd-ssl.conf
httpd-ssl.conf を表示して、デフォルトの SSL 構成をすべて確認します。ほとんどの場合、このファイルを変更する必要はありません。
vi /usr/local/apache2/conf/extra/httpd-ssl.conf
Apache を起動する前に、SSL 証明書とキーが必要です。先に進む前に、httpd-ssl.conf に記載されている server.crt および server.key ファイルを作成する必要があります。
# egrep 'server.crt|server.key' httpd-ssl.conf SSLCertificateFile "/usr/local/apache2/conf/server.crt" SSLCertificateKeyFile "/usr/local/apache2/conf/server.key"
4. server.crt と server.key ファイルを作成
まず、openssl を使用して server.key を生成します。
cd ~ openssl genrsa -des3 -out server.key 1024
上記のコマンドはパスワードを要求します。このパスワードを忘れないようにしてください。これは後で Apache を起動するときに必要になります。
パスワードを指定しないと、次のエラー メッセージが表示されます。
2415:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:849:You must type in 4 to 8191 characters
次に、上記の server.key ファイルを使用して証明書要求ファイル (server.csr) を生成します。
openssl req -new -key server.key -out server.csr
最後に、上記の server.key と server.csr ファイルを使用して、自己署名 ssl 証明書 (server.crt) を生成します。
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
詳細については、次を参照してください:Apache の SSL キー、CSR、および自己署名証明書を生成する方法
5. server.key と server.crt をコピーします
server.key および server.crt ファイルを適切な Apache 構成ディレクトリの場所にコピーします。
cd ~ cp server.key /usr/local/apache2/conf/ cp server.crt /usr/local/apache2/conf/
6. Apache を起動して SSL を確認する
以下に示すように Apache を起動します。
/usr/local/apache2/bin/apachectl start
これにより、秘密鍵のパスワードを入力するよう求められます。
Apache/2.2.17 mod_ssl/2.2.17 (Pass Phrase Dialog) Some of your private key files are encrypted for security reasons. In order to read them you have to provide the pass phrases. Server www.example.com:443 (RSA) Enter pass phrase: OK: Pass Phrase Dialog successful.
デフォルトでは、Apache SSL は 443 ポートで実行されます。 Web ブラウザーを開き、https://{your-ip-address} を使用して Apache にアクセスできることを確認します