apacheのSSL化
自宅PCのvineを6.5にアップグレードしました。
やっと32bitから64bitOSに載せ替えたのでやったことを日記に残します。
まずはapacheのインストール
apt-get install apache2
普段はCentをいじっているんでhttpdではなくapache2と指定するのに違和感を覚えます。
サービスを起動して動作確認します。
service apache2 restart
そっけない画面が出たのでapacheが無事起動できました。
次にSSL化に必要なモジュールを入れます。
apt-get install mod_ssl-apache2
mod_sslがインストールされたら、次にSSLで使用する秘密鍵を作ります。まずはkeyファイルから
openssl genrsa > server.key
こんな感じでできます
Generating RSA private key, 1024 bit long modulus ........++++++ .......++++++ e is 65537 (0x10001)
次にCSRファイルです。CSRファイルは認証局にサーバ証明書を発行してもらう時に使用するファイルで すが今回は、オレオレ認証のため適当に作ります。
openssl req -new -key server.key > server.csr 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]:JP State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
最後にサーバ証明書です。本来は認証局でcsrファイルを提出して正式な証明書を発行してもらうところですが今回は、ローカルで使うものなのでオレオレ証明書を作ります。
openssl x509 -req -signkey server.key < server.csr > server.crt Signature ok subject=/C=JP/ST=Some-State/O=Internet Widgits Pty Ltd Getting Private key
出来上がった秘密鍵とサーバ証明書の配置します。どこに配意という明確なものはないですが デフォルトで設定されている場所にkeyファイルとcrtファイルを配置します。
mv server.key /etc/apache2/conf/ssl.key mv server.crt /etc/apache2/conf/ssl.crt
移動先のフォルダパスが存在しない場合はあらかじめ作ってから移動しますが、vineでは 作られていたので特にmkdirコマンドは不要です。
配置したら/etc/httpd/conf.d/ssl.confの中に、配置した鍵と証明書のパスを設定します。
emacs /etc/apache2/conf.d/ssl.conf
ssl.confの以下2行を修正します。
SSLCertificateFile /etc/apache2/conf/ssl.crt/server.crt SSLCertificateKeyFile /etc/apache2/conf/ssl.key/server.key
保存してapacheを再起動します。
service apache2 restart
これでhttpsでアクセスできると思うのでhttps://でアクセスします。
port443と出ていますのでhttpsでアクセスできました。
今回はオレオレ証明書で作りましたが、正式な所ではちゃんと認証キーを作ってくださいね。