https化の波に乗れZenlogicで無料独自SSLを使ってWordPressを公開までをやる
これからのウェブサイトしては、完全に独自SSLを使った暗号化されたhttps接続によるサイト運営が基本となるでしょう、Wordpressの公式ブログでもWordpressの暗号化について触れられてたりします。
GoogleはSSL化を推進しており検索結果の順位の判断基準にも取り入れていることを公表しています。検索経由でのアクセスを必要とするサイトである以上
これはもう避けては通れない道となりつつあります、しかし独自SSLって個人ではドメイン単位の認証しか利用できませんから、企業なら企業として独自SSLの認証をとっていろいろなサイトで利用できますが。
さらに独自SSLは有料のものなら多くのレンタルサーバーで利用できますが、1ドメインごとに必要になるので安くても1年間1,500円とコストはかなりかさみます。
そこで心強いのが無料の独自SSLの台頭です「Let’s Encrypt」これは海外のサービスで無料で利用できるものです、運営はアメリカのカルフォニア州にある公益法人ですインターネットの安全性を確保するための慈善事業ですね。なので無料で独自SSLを発行してくれます。
これ、VPSやサーバーを使っている方は自動化で使うことが出来ますが、3ヶ月更新なので手動でするならかなりの手間です、ドメイン数×手間です。
しかし、これZenlogicならレンタルサーバーでありながら無料で自動でやってくれます、しかも設定が超簡単です。またLet’s Encryptだけではなく、Zenlogicの独自の無料独自SSLもありこちらはシマンテックのやつみたいです、こちらは自動更新有りで更新期間は1年です。
Zenlogicなら特別な知識がなくても簡単に Zenlogic でサイトを暗号化したhttpsで公開する事が出来ます。
今回はこの Zenlogic を使って WordPress を httpsで公開するまでの手順の紹介とコントロールパネル等を使ってみてのレビューとなります。
Zenlogicの料金等
まずZenlogicってどんなものかというと、クラウド型のレンタルサーバーです。VPSとレンタルサーバーの中間的な存在になります。
VPSのようにOSのインストールからセットアップなどをする必要もなく、レンタルサーバーの様に使えてリソース(CPUやメモリ)が割り振られて利用できるので、共有レンタルサーバーの様にリソースの取り合いというのは置きないです。(例えば同じ共有レンタルサーバーに収納されている他の人の人気サイトの影響でレスポンスが下がる等)
料金の方ですが プラン S と プラン1~7まであります
プランSは期間限定のプランで、プラン1とCPUとメモリが同じでディスクの容量が300GBでプラン1~7は1TBといった違いで、処理能力自体はプランSとプラン1に違いはなさそうです。
一応プランSは20周年記念特別限定プランで2017年6月30日までとなっています、過去1回2016年11月30日までだったのから延長されていますからもしかしたら再延長や定番かもあるかもしれない。(期間が延長されました)
料金をみてわかると思うのですが、プランSとプラン1では性能差は無いのに価格が3倍近くなっています。ディスク容量が300GBで十分という方はプランSがかなりオトクなので、Zenlogicを使うのならこの期間中が良いですね。また1年契約すると料金も随分と下がるので、どうせなら1年契約がオトクです。
プラン変更が容易
ちなみにディスクが足りない、上のプランに行きたいってときは、申請すれば上位プランに変更できるのでプランSから始めるのがベストかと思います、また通常プランからプランSへはプラン変更出来ないのですが、プラン3からプラン1とかにスケールダウンは出来るようです。
一般的なレンタルサーバーではプラン変更するとなると、再契約で新たにプランを申し込みそちらに自力で移転作業を行わないといけないのですが、Zenlogicではプラン変更を申し込めば自動でZenlogicがやってくれます、移転というよりはリソースの追加削減といった作業ですので設定とかそのままです、料金もかからないようですからクラウド型のレンタルサーバーの強みですね。
サイトが大きくなってきたので上位へ行こうとおもったらかなり手軽にできるので、専門的な知識も要らないしかなり良い仕組みです。
ただ、上位プランから下位プランに移行するのは契約更新のタイミングとなるので年間契約の場合は注意が必要。
無料独自SSL 2種が無料
Zenlogicを選ぶ理由としては今回のテーマである独自SSLが無料であるということが大きいでしょう。Zenlogicはマルチドメイン無制限ですので沢山のドメインでサイトを展開しても、そのサイト分の独自SSLを取得しても無料です。
例えば、無料の独自SSLを展開していないさくらインターネットのレンタルサーバーなら独自SSLひとつが最安で1,500円です。サイトを20個運営してたとしたら 1,500円×20の30,000円の費用がレンタルサーバーと独自ドメイン以外に発生しますね。
これが Zenlogic なら無料で利用できてさらに自動更新なので手間も最初の数ステップだけでほとんどなしなので差は歴然ですね。
さくらインターネットのスタンダードプランは月額約500円ほどで利用できるのでコスパはかなりいいのですが、独自SSLが絡んでくるとコスパはZenlogicの方が圧倒的によくなりますね。
無料独自SSLも2つから選べる、https化してGoogleの検索エンジン対策するという目的ならどちらでも良いですが。
さらに詳しいプランの詳細とかはこちら → Zenlogic
独自ドメインを設定する
申し込み等は流れに従ってやるだけなので割愛させて頂きます。
まずやることは独自ドメインの設定です、Zenlogicではネームサーバーはデフォルトでは提供されていません。
最大6個までドメインの設定と一緒にDNSを作ることが出来ます、7個目からはオプションサービスで増やせるようです。
ネームサーバーを使わなくても、ドメインの設定は可能です。ドメインを取得しているドメイン管理会社が提供しているDNSを使うことで出来ますのでマルチドメインも無制限に出来ます。
ムームードメインやお名前ドットコムのDNS設定で、AレコードにサーバーのIPを指定することでドメインの設定が出来ます。
プチ解説
流れとしては PC → ドメイン → DNS → サーバー → PCへレスポンス という流れです。 このDNSからサーバーへの流れのところを開通させてやるために DNS設定にサーバーのIPを設定してやることになります。
独自ドメインの設定
- STEP 1:サーバーのIPを調べる
- STEP 2:ドメインを登録する
- STEP 3 – A:ドメイン管理会社のコントロールパネルでネームサーバー登録編
- STEP 3 – B:ドメイン管理会社のコントロールパネルでDSNにレコードを追加する
- STEP 4:少し待ってサイトがアクセス可能かチェックする
今回は新規にサイトを作る場合の流れです、サーバーの移転となる場合はファイルの移動からDBのインポートなどが必要になってきます。ドメインが変わる場合はさらに新ドメインに適応させるための処理も必要になります。
STEP 1:サーバーのIPを調べる
(ZenlogicのDNSを使う場合は不要です)
契約したサーバーのIPを調べるには、Zenlogicのカスタマーポータルサイトにログインします
https://zenlogic.jp/direct/login.html
カスタマーポータルにある、申し込んだホスティングプランの「コントロールパネル」を開きます
次に「サーバー情報」を開きます
サーバー情報にある 「サーバーIPアドレス」こちらが目的のIPアドレスとなります
xxxx.xxxx.xxxx.xxxx といったぐあいにコンマで4つに区切られた数字の羅列があります。
STEP 2:ドメインを登録する
コントロールパネルからドメイン設定を開きます
ドメイン設定追加を開きます
利用するドメインを設定します
ZenlogicのDNSを利用する場合は DSNゾーンの作成するにチェックを付けます
追加で完了です。
STEP 3 – A:ドメイン管理会社のコントロールパネルでネームサーバー登録編
次に、サーバーとドメインをつなげる作業になります。
先程作成したZenlogicのネームサーバーの情報を確認します
コントロール > ドメイン設定 > 対象ドメインのDNSゾーン編集を開く
ネームサーバーの項目に4つのアドレスがあるのでそれをメモ
【ムームードメインの場合】
・ドメイン操作 > ネームサーバー設定変更 ・対象のドメインの「ネームサーバー設定変更」を選択 ・GMOペパボ以外 のネームサーバを使用する を選択する ・表示されたネームサーバーの欄に先程メモしたものを入力して設定を保存する
【お名前.comの場合】
・コントロールパネルにログイン > ネームサーバーの変更 ・変更するドメインにチェック ・下に「他のネームサーバーを利用」の欄に、先程メモしたものを入れる ・設定を完了
STEP 3 – B:ドメイン管理会社のコントロールパネルでDSNにレコードを追加する
こちらはドメイン管理会社のDNSを利用する場合の方法です
【ムームードメインの場合】
・コントロールパネルにログイン > ムームーDNS ・対象のドメインの処理のところの変更をクリックで設定画面を開く ・設定2 のところのサブドメインのところにはサブドメインを使わない場合は空欄、種類はAレコード(A)、内容にサーバー情報でメモしたIPアドレスを入力。 ・セットアップ情報変更で確定
【お名前.comの場合】
・コントロールパネル > ドメイン設定 > DNS関連機能の設定 を開く ・対象のドメインにチェックをつけて次へ進む ・下の方の「DNSレコード設定を利用する」の設定するを開く ・A/AAAA/CNAME/MX/NS/TXT/SRV/DSレコード の下の入力欄に ホスト名(サブドメインを使わないなら空欄)、TYPEはAを選択、TTLはそのままで、VALUEにはコンマで区切られているとおりに先程メモしたサーバー情報のIPを入力で追加 ・さらに同画面に表示せている「情報の登録」に有るネームサーバー4つをホスト名(空欄)、TYPE NS、TTLそのまま、VALUEに4つのネームサーバーのアドレスと一つずつ登録する。 ・初めて設定する場合はサーバー情報のIPの1つネームサーバー4つの計5つのレコードがはいっている形になる ・設定を確定する
STEP 4:ドメイン設定が反映されるまで少し待つ
ドメインの設定が反映されるまで多少時間がかかる場合があります早い場合はすぐに見れます、ネームサーバーを設定していない状態でブラウザでそのドメインにアクセスしてしまっているとブラウザ側がキャッシュしてて表示が遅れる場合がちなみにあります。そのときはブラウザのDNSキャッシュをクリアしてみてください。
ドメインのアクセス先は、/htdocs/default のindex.html ファイルが表示されるかと思います
これが表示されればドメイン設定は完了しています。
実はこの中身を変更するには、FTPのセットアップとか必要になるのですが、とりあえずドメイン設定が完了をまずするということで。
表示されているのが正しい内容かどうかは、サーバー情報にあるデフォルトのドメインが表示するページと同一のものなら完了しています。
無料独自SSLを取得する
次に独自SSLの取得を行います、なぜ独自SSLの取得からではないのかと言うと。
独自SSLの取得をするには、httpでアクセスできるサイトがちゃんと見れる状態である必要があります
なので、まずはドメインとサーバーを開通させて何かしらのページが表示できるようにしておく必要があるのです。
無料独自SSLの取得はまず、Zenlogicのカスタムポータルに戻ります。
契約一覧のしたにあるクイックメニューから「お申込み」を開きます
「SSLサーバー証明書取得・管理」がありますのでそれの「+お申込み」を開きます
そうすると、独自SSLの証明書選択になります、Zenlogicオリジナルの無料独自SSLを選ぶ場合は「年額」の方(初期画面です、青色に反転しています) 表示独自SSL 0円/年 となっているのを選びあとは必要な情報を入力して(メールアドレスや電話番号など)申込みをします。
Let’s Encrypt を利用したい場合は、月額の方をクリックしてその他ラインナップにある Let’s Encrypt 0円/月 を選んで申込みをします。
どちらも自動継続されるようになっています。
申込みが完了すると、申し込み完了のZenlogicからメール来ます。
そのあとしばらくしてから、証明書の発行が完了された主旨のメールが来ます。
あとは、これをドメインに適応させる作業があります、再びサーバーのコントロールパネルへと行きます。
無料独自SSLをドメインとリンクさせる
次は独自ドメインと独自SSLをリンクさせます。
コントロールのWEB > WEB ドメイン設定 を開きます
先程登録した独自ドメインが存在するかと思いますが、それの証明書設定を開きます
証明書の変更設定のところで先程登録した証明書がありますので、同じドメイン名のものを選択し確認を押して確定させます。
これにてHTTPSでアクセスが可能になりました。
実際にHTTPSのアドレスで設定した独自ドメインにアクセスしてみましょう。
ブラウザに暗号化されている主旨が表示されているはずです、これにて独自SSLを使ってのセットアップは完了です。
このあとは Zenlogic を使っていく上でのFTP、データベースの作成、phpMyAdominの導入セキュリティ対策、Wordpressの公開となります。
この時点で独自SSL設定は完了しているので、サイトとしてはすぐにでも開始出来る状態ではありますが、やっておいたほうがいいことがいくつも有るのでその設定をします。
FTPアカウント作成、セキュアな鍵認証を利用
FTPといったら ホスト名とパスワードでログインするレンタルサーバーが大半ですがセキュリティ的に弱いです。そこで、秘密鍵と公開鍵を使った方法でのFPTサーバーへのログインが強固になります(SSH)
いろいろソフトがありますが、私が愛用している WinSCP を使った方法でのFTPアカウントのセットアップの紹介となります。一般的なパスワードを使ったFPT接続も可能ですので、そちらは単純にFTPアカウントを作成して利用するだけです。
FTPアカウントを発行する
コントロールパネル > FTP設定 > FTPアカウント を開く
FTPアカウント登録 を開く
FTPアカウントの「アカウント名」「パスワード」を入力します、あと何用かのコメントも付けると良いでしょう。ホームディレクトリはデフォルトのままでも良いでしょう。
ちなみにここので設定するパスワードは鍵認証を利用する際には必要とされません。
鍵認証を利用しないのでしたらFTP設定はココで終わりです。
FTP/SHH設定で鍵認証を使えるようにする
SFTPの接続をONにして有効にします
次にSSHキー設定で対象のFTPアカウントのSSHキー設定を開きます
SSHキー設定方法で、SSHキーペアを自動発行にチェックを付けます、そしてSSHキーペア自動作成をクリックで、公開鍵が作成されます。また自動で公開鍵のファイルがダウンロードされます。
WinSCPでセットアップする
WinSCPはこちらからダウンロードとインストール(すでにある人は不要)
http://forest.watch.impress.co.jp/library/software/winscp/
ダウンロードした鍵はWinSCPではそのまま使えません、なのでWinSCPで使える形式に変換してやります。
WinSCPを起動して、左下にあるツールよりPuTTgenを実行を選びます。
そうすると、PuTTY Key Generator のウィンドウが出てきます
Conversionsを選びます(ウィンドウの上の方にあります)
その中からImport Key を選択します、先程ダウンロードしたファイルを選択します
ファイルを読み込んだら、Save Private Key をクリックしてWinSCPに対応した秘密鍵に変換したものを保存します。
次にWinSCPでサーバーに接続するようにアカウントを登録します
WinSCPで新しいサイトを選択して
- 転送プロトコル「SFTP」
- ポート番号「22」
- ホスト名「サーバー情報の初期ドメイン」
- ユーザー名「FTPで作成したもの」
- パスワード「空欄」
- パスワード欄のしたにある設定を開く
- 設定画面の SSH-認証 項目で先程WInSCP用に変換した鍵ファイルを指定します(ファイルの位置を変えたい場合はファイルを移動させた後にココで選択してください)
- 設定を保存して完了です。
- 作った接続情報を使ってログインをします、サーバーに接続できて色々ディレクトリとか見れたら完了です。
一応これでWinSCPの設定が完了しました。
これでサーバーに接続したいときはWinSCPを起動してログインするだけです。
もし鍵を紛失してしまっても、またZenlogicのコントロールパネルから作ることが出来ますので、その際は鍵を作り直して設定してください。
ディレクトリ構造を改造する(セキュリティ編)
さて、FTP接続できるようになりましたから
サーバーにあるディレクトリの作成や変更、ファイルの転送等が出来るようになりました。
デフォルトのディレクトリではいろいろ問題があるので、セキュリティをアップさせるディレクトリ構成に変更しましょう。
Zenlogicでは基本的に htdocs 以下のディレクトリしか操作できません
上にあるログとかはみれますが、Virtual 直下にはファイルの作成やディレクトリの作成の権限が無いようです。
なので、htdocs 以下にウェブに公開用のディレクトリとそうではない内部用のディレクトリを分けて作ってやると良いです。
ディレクトリ構造例
- htdocs / private
- htdocs / private / backup / www
- htdocs / private / backup / db
- htdocs / open / https_redirect
- htdocs / open / www / domain.com
- htdocs / open / setting / phpmyadmin
まず、絶対ウェブに公開したくないものを設置するようの private 用のディレクトリを作るのがよ良いでしょう。
ここには、例えば .sh .php のCronで実行するようなファイルやバックアップ生成したファイルなどを設置するとよいでしょう。
https_redirect は複数のHTTPSサイトを持っているときに HTTPでアクセスがあったときにHTTPSへ転送するための .htaccess を設置するための場所にすると良いです。そうする事によって httpからhttpsへのリダイレクト処理が一括で出来て管理が楽になります。
www には公開するサイトを入れると良いでしょう、ドメイン名のディレクトリにしておけばどのサイトか管理しやすいと思います。
setting には phpmyadmin などをインストールするようのディレクトリにすると良いでしょう、実際にphpmyadminをインストールしたあとは、phpmyadminというディレクトリはあまりにも推測しやすいのでディレクトリ名をわからないように他のものに変更しておいたほうが良いです。
サーバーのデフォルトのドメインのディレクトリをsetteingにしておいて、基本的にはこのドメインでのアクセスを制限しておいて、phpmyadminを利用するときだけ制限を解除して利用する形にすればセキュリティ性が高まります。
httpからhttpsへのリダイレクト処理を作る
httpからhttpsへのリダイレクト処理用の.htaccesを作って専用のディレクトリに設置しておきましょう。
.htaccessの中身
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] </IfModule>
HTTPSが無効なときに同じドメインの同じURL構造となるhttpsへとリダイレクトする処理です。これひとつで全てのドメインに対応できるため、httpにアクセスさせたくないものはこれがあるところをルートディレクトリにしてやると良いです。
個別に書き加えなくて良くなるので楽です。
ドメインごとのディレクトリを設定する
次にドメインとルートディレクトリの紐付けをします
デフォルトのドメインはHTTPでもSSL(HTTPS)でもdefult がルートドメインになっています
HTTPとSSL(HTTPS)は別々にデフォルトを設定してやることが出来ます
設定の仕方
コントロールパネル > WEB > WEBドメイン設定 > 対象のドメインのドキュメントルート設定
ここで先程FTPで作成しておいた目的のディレクトリを設定してやります。
ちなみにサーバーのIPで接続された場合はデフォルトのドメインのページが表示されます、ここに直にphpmyadminとか置くと危険です。それ以下にディレクトリを作りディレクトリがわからないようにしてさらにアクセス制限と組み合わせましょう。
httpからhttpsへリダイレクトするようにする場合は事前に作っておいた .htaccess があるディレクトリをルートディレクトリに指定するよ良いです、httpとhttpsを同じディレクトリにしてサイト毎にリダイレクト処理を書く手間が省けます。
データベースの作成とphpmyadminのインストール
次にディレクトリ構造等がきまりましたらデータベースの作成とphpmyadminのインストールしましょう。
phpmyadminは必須ではないですが、DBのエクスポートやインポート、またはSQLクエリを実行してパッチ処理をする場合には必要になって来るのでインストールしておくとよいでしょう。
必要になってからインストールしても良いです。
まずはデータベースの作成
コントロールパネル > データベース > MySQL 5.1 を選択
パスワードを設定してデータベースの作成を行います、MySQL一つしかつくれません。
基本的にはこのデータベースひとつでいろいろ使っていくことになります。
phpMyAdminのインストール
コントロールパネル > 簡単インストール > phpMyAdmin > インストール
インストールディレクトリを選択します、ディレクトリはセキュリティ性を考慮して選んでください
インストールが完了で終わりです。
phpMyAdminはWEBからのアクセスになります、ディレクトリに対応するドメインからアクセスします。phpMyAdminには先ほど作成したデータベースのIDとパスワードを使います IDはrootと固定になっており、セキュリティ的に弱いので ディレクトリの構造やアクセス制限で補ってやる必要があるのです。
WordPressのインストール
最後いよいよWordpressのインストールになります。
私はクイックインストールを使わない派なので(過去にクイックインストールでインストールしたら英語版だったり、ファイルのパーミッションの問題でプラグインやテーマのインストール、FTPアカウントの設定が必要になったりした場合がありましたので)
WordPressの公式サイトより、最新のWordpressをダウンロードしてPCで解凍して置きます
その回答したWordpressが入ったフォルダの中身を公開したいドメインと紐付けしたディレクトリへ移動します。WinSCPならドラッグ・アンド・ドロップで出来ます。
次にWordpress用のデータベースを作成します
phpMyAdminにログインして
データベース > データベースを新規作成でデータベース名をつけます
データベース名には英字と数字そしてアンダーバーが使えます、紹介順序は「utf8_general_ci」を選択します。
あとは作成ボタンを押して完了です。
次に、Wordpressのインストール作業を行います
WordPressをインストールしたディレクトリにurlでアクセスします。
インストール画面が出てくるので
- データベース名:phpmyadminで作ったもの
- データベースユーザー:root
- データベースパスワード:MySQL作成時に設定したもの
- ホスト:127.0.0.1
データベースの接続が完了したら、次にはWordpressのアカウントの作成画面です
あとは好きな情報を入れてWordpressのインストールが完了です。
ドメインはhttpsの利用にしてあるので、Wordpressもhttpsで表示されます。
これで暗号化接続のWordpressの完成です。
あとは同じ要領で複数のWordpressのサイトを展開していけます。
今回説明した方法でWordpress以外の全般的なhttpsでのサイトの公開が出来ます。
仕上げにphpmyadmin等を使わないときのためのアクセス制限
もろもろがおわったら、phpmyadminにだれもアクセス出来ないようにしましょう。
デフォルトのドメイン下にphpmyadminをインストールしているのを前提になります。
コントロールパネル > WEB > WEBアクセス制限 を開く
WEBアクセス制限追加
対象のディレクトリ(phpmyadmin)を選択してネットワーク制限で、すべてのアクセスを拒否するにチェックを付けて保存です。
ファイルとデータベースの完全自動化バックアップ
WordPressにもバックアップ自動でやってくれるプラグインありますが、大体はデータベースであったりいろいろ足りないところが多いです
そこで、データベースと必要なディレクトリを自動で毎日バックアップ作成するスクリプトを作ってCronで実行させましょう。
今回はセットアップ編として色々と長々となりましたので、こちらは別記事で書きたいと思います。
バックアップ編はこちら
→ Zenlogicでデータベースとディレクトリを完全自動でバックアップする、さらにPCに自動でダウンロード(近日公開予定)
Zenlogicの申し込みはこちらから
プランSがかなりオトクなので利用開始をするならキャンペーンが終了する前に申し込むのがおすすめです、無料期間2週間の間一切制限なしに試せるのも良いですね。とりあえず試すだけ試すのも有り。
COMMENT