WEBコーダーでもわかった!!さくらVPS + 無料SSL対応!!
SSL対応の波が来ていますね。
あっちも、そっちもです。
自分のブログもちゃっかりSSL対応しましたが、それとは別に行ったSSL対応が大変だったので、今回はそのまとめになります。
Wordpressの対応もありましたので、そちらもまとめました。
注意点
SSL対応では、サーバの環境によって対応が異なります。
事前に自分のサーバ環境ご確認の上、記事を読んでいただけたらと思います。
この投稿では、
- さくらVPS
- CentOS 6.9
- Apache2.2
- Let’s Encrypt
を使用したの説明になります。
また、作業は、SSL通信が使用可能で、https用の443番ポートのファイアーウォール通過を許可されている前提で進めていきます。
そこまで設定が完了していない場合は、対応後にご確認いただけたらと思います。
参考サイト
CentOS6でLet's Encrypt! - 温室環境モニタシステムのIT工房Z
作業
作業は全て、rootユーザで行いました。
1. Python2.7のインストール
Let’s Encryptを使用する際に必要なPythonのバージョンは2.7になりますが、CentOS 6を使用している場合、インストールされるPythonは2.6になります。
まずは、Python2.7をインストールします。
パッケージのアップデート
yum update
Python2.7のインストール
yum install centos-release-scl-rh yum install python27
使用する。
scl enable python27 bash
以上になります。
これでLet’s Encryptを使用する準備ができました。
2. Let’s Encryptのインストール
まずは、関連ツールがEPELリポジトリにあるのでインストール。
yum install epel-release
続いて、ディレクトリの移動。
自動更新する際、以下のディレクトリのほうがいいという記事が多かったので、採用しました。
cd /usr/local
そして、certbot-autoをインストールします。
自動で設定してくれるので、思ったより簡単ですよ。
wget https://dl.eff.org/certbot-auto
権限を変更します。
chmod a+x certbot-auto
3. Certbotを実行と設定
以下で実行します。
./certbot-auto
実行後、インストールが始まり、「[y/N]」を確認されたら、「y」を入力し、Enterです。
その後は以下の選択が表示されるので、選択してください。
メールアドレス入力。自分のメールアドレスを入力。
Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel):自分のメールアドレス
利用規約。確認し「A」を入力し、Enterです。
Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v01.api.letsencrypt.org/directory (A)gree/(C)ancel:
メルマガ?の受け取り。好きな方を選んで、Enterです。
Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about EFF and our work to encrypt the web, protect its users and defend digital rights. (Y)es/(N)o:
どのドメインをSSL化するのか確認。希望のドメインの数字を入力し、Enterです。
Which names would you like to activate HTTPS for? 1: example.com 2: www.example.com 3: test.example.com Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel):
httpからhttpsへの自動ダイレクト設定。お好みの数字を入力し、Enterです。
勝手に書き込まれるのこわかったので、「1」を選びました。
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration.
以上で、インストールが終わります。
4. SSL証明の設定
ここまで来たら、SSL対応はあと少しです!
設定前に証明書の確認です。
インストールが完了すると「/etc/letsencrypt/live/ドメイン名」の下に証明書が作成されます。
使用するのは「cert.pem / privkey.pem / chain.pem」になるので、それぞれのパスを覚えておいてください。
証明書のパスを確認後、実行しファイルを開きます。
vi /etc/httpd/conf.d/ssl.conf
ファイルを開き、下記を設定します。
設定する行はあるので、確認しながら進めてください。
SSLCertificateFile /etc/letsencrypt/live/ドメイン名/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/ドメイン名/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/ドメイン名/chain.pem
設定が終わったらApacheの再起動です。
service httpd restart
以上で完了です。
httpsでサイトを開いてみてください!!
サイトの構成で問題なければ、httpsで表示されるはずです!!
5. WordPressのSSL対応
WordPressを使用している場合は、さらに設定が必要になります。
手順を簡単にまとめてみました。
- サイト・データベースのバックアップ
- ローカル or テスト環境で、ベタ書きになっている http://〜 から始まる自サイトアドレスがないか確認。あれば修正。
- WPプラグイン「Really Simple SSL」をインストール。有効化。
- 本体の設定画面で登録しているURLを「http」→「https」に変更。
- サイト全体確認。くずれている箇所やコンソールエラーがあれば修正。
- Google AnalystやSearch ConsoleなどのURL変更の設定。
以上です。
そんなに難しいこともないので箇条書きでまとめました。
注意点として、WPのバージョンによってはプラグインが使用できないかもしれないということですね。
事前に対応する前に、サイトの構成の確認をお願いします。
番外編. SSL証明の自動更新
Let’s Encryptは3ヶ月で更新が切れるため、その都度更新が必要になります。
ただし、サーバで設定すれば自動更新されるようです。
自動更新をしたい場合は、下記サイト確認の上、対応をしてみてください。
まとめ
いかがでしたでしょうか?
実際やる前は、難しく複雑なんだろうなと思ってましたが、自動でやることも多く選択が基本なのであまり苦労はしませんでした。
今対応に追われてたり、考えている人の参考になれば幸いです。
ここまで読んでいただき、ありがとうございました。
コメント一覧