apacheを使ってWEBサーバを構築はよく記事も見るのでSSL通信をメインに記載しています。
構築時に入っていれば下記のインストールは不要です。
apacheのインストール
# yum install httpd
apache用のSSLモジュールをインストール
# yum install mod_ssl
opensslのインストール
# yum install openssl
一通りインストールが終わったらSSL認証の証明書を作成していきます。
まずサーバ承継書作成用のディレクトリに移動します。
# cd /etc/pki/tls/certs/
Makefileで有効期限を365日になっているので3650日にする。有効期限は任意の値でいいですが1年じゃ短いのでとりあえず10年に
# vi Makefile
↓365を3650にする
/usr/bin/openssl req $(UTF8) -newkey rsa:$(PRIVATE_KEY_BITS) -keyout $$PEM1 -nodes -x509 -days 3650 -out $$PEM2 -set_serial $(SERIAL) ; \
サーバ用秘密鍵と証明書を作成します。
# make server.crt
umask 77 ; \
/usr/bin/openssl genrsa -des3 2048 > server.key
Generating RSA private key, 2048 bit long modulus
…………+++
……..+++
e is 65537 (0x10001)
Enter pass phrase: ←パスワード入力
Verifying – Enter pass phrase: ←パスワード確認
umask 77 ; \
/usr/bin/openssl req -utf8 -new -key server.key -x509 -days 365 -out server.crt -set_serial 0
Enter pass phrase for server.key:
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) [GB]:JP ←国名
State or Province Name (full name) [Berkshire]:Kanagawa ←都道府県
Locality Name (eg, city) [Newbury]:Kawasaki ←市町村
Organization Name (eg, company) [My Company Ltd]:nekofamily.ddo.jp ←会社、個人なら何でもいい
Organizational Unit Name (eg, section) []: ←部署?ここは空でいい
Common Name (eg, your name or your server’s hostname) []:nekofamily.ddo.jp ←サーバ名
Email Address []:nekomaster@nekofamily.ddo.jp ←管理者メールアドレス
鍵を作成したらそのままだとWEBサーバ起動時にパスワードを聞かれるのでサーバ用秘密鍵を削除します。
# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key: ←パスワード入力
writing RSA key
apacheのSSL設定で証明書の指定を先ほど作ったファイルに変更します。
またドキュメントルートを有効にします。
# vi /etc/httpd/conf.d/ssl.conf
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateFile /etc/pki/tls/certs/server.crt ← サーバー用証明書を指定
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateKeyFile /etc/pki/tls/certs/server.key ← サーバー用秘密鍵を指定
#DocumentRoot “/var/www/html” ←コメントアウトしている部分を解除
↓
DocumentRoot “/var/www/html”
後はapacheを再起動すれば設定が反映されます。
# /etc/init.d/httpd restart
注意事項
iptablesで443ポートを許可していない場合は許可して下さい。
ルータ等で443ポートを解放していなければ解放して下さい。
PS.
ちなみにこのサイトもSSL通信対応です。