WordPressの管理画面を使うときHTTPSで接続できるようにする.
管理画面にアクセスするためにはユーザー名とパスワードを入力しなければならないわけですが,ただのHTTPだとちょっと不安だったのでHTTPSで接続できるようにしました.
手順としては,
で管理画面にHTTPSでアクセスできるようになります.まず,秘密鍵,証明書等をopensslを使って作ります.
手順はここがとてもわかりやすくまとまっていたのでこの通りにやりました.
OSはCentOSではなくUbuntuなので,ディレクトリ構成がちょっと違っていたためssl鍵は/etc/apache2/sslにおいておきました.
Apacheの設定ファイルは,
conf.d/ssl.confとして,
AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl SSLPassPhraseDialog builtin SSLSessionCache "shmcb:/var/run/apache2/ssl_scache(512000)" SSLSessionCacheTimeout 300 SSLMutex "file:/var/run/apache2/ssl_mutex"
WordPress用の設定は,sites-available/wordpressに
<VirtualHost *:443> ServerName blog.hoge.com VirtualDocumentRoot /srv/www/%0 ServerAdmin hoge@example.com ErrorLog ${APACHE_LOG_DIR}/wp-error-ssl.log TransferLog ${APACHE_LOG_DIR}/wp-access-ssl.log SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5 SSLCertificateFile /etc/apache2/ssl/blog.crt SSLCertificateKeyFile /etc/apache2/ssl/blog.key CustomLog "/var/log/apache2/ssl_request_log" \"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" # Store uploads in /srv/www/wp-uploads/$0 RewriteEngine On RewriteRule ^/wp-uploads/(.*)$ /srv/www/wp-uploads/%{HTTP_HOST}/$1 </VirtualHost>
と追加.
最後にports.confに
NameVirtualHost *:443
と一行追加してApacheの設定は終わり.
最後に,WordPressの管理画面から,プラグイン,新規追加でWordPress HTTPSというプラグインを追加します.
Force SSL Administrationにチェックを入れると,管理画面には必ずHTTPSでアクセスするようになります.
Force SSL Exclusivelyにチェックを入れると,管理画面以外,記事とかへのアクセスは,必ずHTTPになります.
これで終了.