VPS間でのサーバ引っ越し : 2 バーチャルホスト設定と、SSL化
前回からの続き。 ドメインのDNS変更と、バーチャルホストの設定 先にバーチャルホストの設定から。conf.d/配下にサイトごとに設定を行った。まとめても良かったんだけど。 # vim /etc/httpd/conf.d/mydomain.com.conf 内容 <VirtualHost *:80> ServerName mydomain.com DocumentRoot “/var/www/mydomain.com/public_html” DirectoryIndex index.html index.php ErrorLog /var/log/httpd/mydomain.com_error_log CustomLog /var/log/httpd/mydomain.com_access_log combined AddDefaultCharset UTF-8</VirtualHost> 次はSSL。 SSLの設定 無料のLets Encryptを使うことにします。事前に少し調査。 Lets Encryptについて 参考:https://ssl.sakura.ad.jp/column/free-or-paid/ 無料でも問題ないのか? 同じSSL証明書である以上、強度は同等らしい。 何故無料で運営できているのか? Lets Encryptは寄付により運用できている。 無料であることのデメリットは? フィッシングサイトなどで悪用される場合がある。このため永久的に暗号化を保証できるか微妙ではある。90日で更新が必要。なので自動化が必要になる。寄付なので、サービス終了が起こり得るリスクがある。 導入手順 基本はこれに従ってやればOK.https://letsencrypt.jp/usage/ mod_sslの確認 このコマンドで、 # httpd -M この表示があればOK. ssl_module (shared) 443ポートの確認 iptableで開放されているか確認。 iptables -L httpsの表示があればOK。 ACCEPT tcp — anywhere anywhere tcp dpt:https Certbot クライアント準備 Epelを有効に yum install epel-release certbot-autoをインストール # wget https://dl.eff.org/certbot-auto# chmod a+x certbot-auto# ./certbot-auto ./certbot-auto を実行することで、必要なパッケージがダウンロードされる。その後自動的に対話式で証明書作成が始まる。virtualhost設定を取得してドメインリストが表示されるので、該当のものを選択してEnter. 成功すると以下のような表示に。 Congratulations! You have successfully enabled xxxx.com~ pemファイルの格納場所や有効期限も記される。pemは、以下にあるらしい。 /etc/letsencrypt/live/ オプションで、sslの設定ファイルも自動生成可能。今回は生成した。 /etc/httpd/conf.d/mydomain.com-le-ssl.conf で、アクセスしてみるのだが、Virtualhostが反映されない。。。いろいろ調べたところ、自動生成されるSSL用confファイルの、ここだった。。 <IfModule mod_ssl.c><VirtualHost *:443> </VirtualHost></IfModule> これを #<IfModule mod_ssl.c><VirtualHost *:443> </VirtualHost>#</IfModule> これでOK.mod_sslは入っているはずなのだが、どういう意味だったのだろう。。。 ラクしたはずが逆に時間を食うという好例。。 とにかく、これでSSL化はOK.自動更新の設定だな。 自動更新設定 更新は、このコマンド一発でいけそう。 […]