CPIのシェアードプランSV-BasicやACE01(現在は販売終了)は、公開サーバーとテストサーバーの利用が可能なだけでなく、SmartReleaseというプロダクトが利用できます(こちらの記事「サイト運営者がCPIのシェアードプラン SV-Basicを使うためのヒント」を参照)。
SmartReleaseは、2012年からシェアードプランに提供されているプロダクトで、テストサーバーから公開サーバーへファイル転送をする「リリース」と、公開サーバーからテストサーバーへファイル転送をする「ファイル転送」、公開サーバーとテストサーバーのバックアップおよびリストアを行う「バックアップ」の3つの機能が利用できるプロダクトです。
サイト運営をしていると、様々な「困った」に直面するのですが、よくあるのがCMSのバージョンアップに伴いサイトが見られなくなった、表示が崩れたというときに、SmartReleaseのバックアップからのリストアをつかうと、CMSの更新前の状態に戻すことができます。かくいう私もこれに助けられたことが多くあります(多くあってはいけませんが)。
そんなSmartReleaseですが、サイト運営でどのように活用すれば良いのかわからない方もいるかと思います。今回は、私がKDDIウェブコミュニケーションズのコーポレートサイトをどのように運営しているのかをお見せしながら、SmartReleaseの使い方の一例をご紹介したいと思います。
まずはサイトの規模とサーバー環境の紹介
SmartReleaseの利用方法の前に、運営しているサイトの規模と環境について少し触れておこうと思います。SmartReleaseは、多くのサイト運営者に使ってもらいたいと思えるプロダクトではありますが、サイトの規模や企業規模によってサイトに関わる人はさまざまです。今回紹介する例は、一例ではありますがSmartReleaseを使ってサイト運営を行う上でのヒントになればと思っています。
サーバー環境は、販売終了したCPIのシェアードプラン ACE01をコーポレートサイト用に単独で利用しています。通常シェアードプランは、他のユーザーと共用利用が基本なので、利用しているACE01は実際の利用者と比べると贅沢仕様になりますが(笑)、なにかしらのアクセスが増えたことで他のお客さまにご迷惑をおかけしないということが前提のものになります。ただし、共用サーバー一棟丸貸し利用以外は、機能自体の差異はありません。
現在販売中のSV-BasicとACE01では、コントロールパネルや一部機能的な違いがあるものの、SmartReleaseはどちらも同じものを利用しているので、今記事で触れるSmartReleaseについてはどちらのサーバーを使っていても見た目も含めて同じですので読み進めてもらって大丈夫です。
次に、CMSです。CMSはアップルップル社のa-blog cmsを利用していますが、基本的にニュース配信での利用です。お知らせ以外のサイトデータは、すべてローカルで管理していて、変更などがある際にはローカルで作業を行っています。
サイトの規模は、ご覧いただけばわかりますが、弊社のコーポレートサイトは、会社の情報のみを提供し、サービス詳細などは各サービスサイトにてご覧いただくのがお客さまにとって最適であるという理由から、サイトにある情報はスッキリしています。また、リクルートサイトや弊社の取り組みを紹介しているプロジェクトサイトは、メンバーが運営しやすいようにジンドゥーで制作していて、それぞれサブドメインで運営しているので、wwwサブドメイン配下で運営している情報は、ニュース以外のスタティックなページは20ページにも満たないボリュームです。
サイト内コンテンツを全てCMS管理していない理由は、運営者が変わったときのCMSの学習コストを考えたとき、サイトの規模からもデザイナーであればコーディングはできることが前提という理由からニュース以外はスタティックなページにしています。
こんな環境で弊社のサイトは運営されていることを前提に、SmartReleaseの活用方法について解説します。
ローカル開発からテストサーバーへのファイルアップ
現在運営しているサイトは、ニュース部分をCMSで管理し、その他のページは全てスタティックなページを修正、追加するかたちをとっています。これについては、運営しているサイトによってCMSの扱い方も異なるでしょうから、この形がベストという意味ではなく、あくまでも弊社での運営に最も合ったものが、このような構成だったということをご理解いただいて読み進めていただければと思います。
サイト運営で修正依頼が入った際に、まずはローカル環境でページ修正を行う必要があるのですが、弊社の場合、開発環境をローカルで立ち上げて修正作業を行います。
ターミナルを立ち上げて、ローカルに保存しているサイトデータへ移動し、「gulp」と打つと、ローカルサーバーが起動し、ローカルでの最新のサイトが表示されます。作業フォルダへ移動し、修正をしたいファイルを開き、修正作業を行い保存をすると、ローカルサイトが更新され必要なファイルが集められます。
このサイトデータが集まったフォルダは、CMSのテーマフォルダ名になっていて、このテーマフォルダをFTPでテストサーバーにアップします。FTPは、コントロールパネルでテストサイト用に作ったアカウント情報を利用します。ちなみに、SV-BasicやACE01では、公開サーバーとテストサーバーでは同じFTPユーザー名を利用することはできません。
テストサーバーは、コントロールパネルからアクセス制限をかけており、Basic認証が通らないと閲覧できない状態にしています。また、SmartReleaseからはIPアドレスでのアクセス制限をかけることもできます。どちらの方法をとるのか、または両方の手段をとるのかは運営者側のルールの下で制限をかけてください。
SmartReleaseを立ち上げ、バックアップデータの管理
サイト運営時、SmartReleaseはどのように使ったら良いのでしょうか?ここで、弊社のサイト運営を例にして、その利用方法を紹介します。
SV-Basicの場合は、コントロールパネルの左にあるアイコンの一番下にある「SmartRelease」をクリックします。ACE01の場合は、ユーザーポータルにログイン後、メインエリアの真ん中にある「SmartRelease」をクリックします。どちらもシングルサインオンでログイン無しでSmartReleaseへアクセスできます。
テストサーバーへFTPやSSHを使ってファイルをアップロードすると、これまであったテストサーバーのデータが書き換えられてしまいます。これを直前の状態に戻したいことがあると思うので、SmartReleaseのメニューにある「バックアップ」をクリックします。テストサイトタブが開いている状態になっていると思います。ここで、最新のバックアップを確認してみます。
SmartReleaseは、一日一回毎夜テストサーバーと公開サーバーのバックアップをしています。最大30世代まで、毎日バックアップしてくれています。
ファイルをアップロードしたのが本日なので、最新のバックアップは最上位にあるものになります。これが、夜にバックアップされた前日までテストサーバーにあったデータになります。
先ほどFTPにてファイルをアップロードしたので、このバックアップデータとは差分が発生しています。
そのため、何かあったときに元に戻したい場合は、この最新のバックアップから戻す形になります。
そこで、最新のバックアップにある鉛筆マークをクリックします。すると、バックアップデータに名前を点けることができるようになるので、わかりやすい名前を入れておきます。
名前をつけたら、リストアというボタンの隣にあるピンのようなアイコンをクリックします。ボタンが赤色に変わります。これは、バックアップを保持する機能で、毎夜バックアップを取得しているSmartReleaseは、30世代を超えると古いものから削除される仕様のため、保持しておきたいバックアップはこのピンを使って保持しておくことで、古くなった場合でも削除対象から外れ、保持され続けるからです。
これで、ローカルファイルから好きなだけテストサーバーにファイルをアップロードすることができます。ファイルのアップロードを失敗してテストサーバーの表示がおかしくなったり、表示されないと言った場合は、この最新のバックアップから「リストア」ボタンを押すだけでFTPでアップロードする直前のものにいつでも戻すことが出ます。
テストサーバーを使って関係者確認などを行い、フィードバックをもらってローカルで修正し、再びFTPでファイルをアップロードし、公開直前の状態までもっていきます。
公開サーバーへファイルをアップロードせず、SmartReleaseで公開対応
テストサーバーで関係者確認が終わると、いよいよ公開サーバーへファイルをアップロードしてサイトの更新となりますが、弊社のサイトでは公開サーバーへのFTPアカウントは全て削除していて、外部からFTPアクセスができないようになっています。これは、なにかのきっかけでFTPアカウントが乗っ取られ、サイトの改ざんがされないようにするため、緊急を要する場合はコントロールパネルから一時的にFTPアカウントを作成して、一時対応が終わったら削除するというルールを作って運営しています。
SSHをつかうことで、FTPのリスクはなくなりますが、将来的に担当が変わったりした際、ターミナルの操作に不慣れな人だと、そこから教える必要があるので、可能な限り安全かつ楽な方法で運営することを前提とした場合、このSmartReleaseがもっとも有効な方法だと思っています。
SmartReleaseのメニューにある「リリース」をクリックします。
「すべてリリース」と「ファイルを選択してリリース」というタブがあるのがわかります。「すべてリリース」は、その名の通りテストサーバーにあるデータ全てを公開サーバーへ送る機能です。「ファイルを選択してリリース」は、テストサーバーにある一部のファイル、フォルダだけを公開サーバーへ送る機能で、弊社のサイトではこちらを使っておこなっています。
ファイルを選択してリリースをクリックすると、フォルダーのツリービューがあります。ここで、公開サーバーへ送りたいファイルもしくはフォルダにチェックを入れます。弊社のサイトでは、CMSのテーマフォルダを送っています。
公開サーバーへ送りたいファイルやフォルダにチェックを入れたら、「選択したファイルをリリース」をクリックします。
公開サーバーにファイルが転送されるまで少し時間がかかりますが、待ちます。
完了画面になったら、公開サーバーが新しいものに書き換わったか確認して終了です。
これで終了と言いたいところですが、ひとつだけ最後にSmartReleaseで作業が必要です。まずはメニューから「バックアップ」をクリックし、バックアップ画面にある「公開サイト」タブをクリックします。
公開サーバーのバックアップリストが確認できると思いますが、最新のバックアップを見てみると、タイムスタンプが先ほどリリース処理をした時間のものがあると思います。これは、SmartReleaseでリリース処理をしたときに直前の状態をバックアップしてくれたバックアップファイルです。前夜にも同じバックアップファイルがあるのでどちらを保持しておくかは自由なのですが、リリース直前のデータということで、私はこちらのバックアップデータに印をつけるようにしています。
鉛筆マークをクリックしてわかりやすい名前を入れて、ピンマークでバックアップを保持。これで、サイト更新前の状態にいつでも戻せるようにしています。
最後にもうひとつ、紹介をしたい機能があります。バックアップデータのダウンロードです。SmartReleaseを使わないサイト運営では、FTPで公開サイトへデータ転送する前にサイトのデータを丸っとFTPダウンロードすることってしていませんか?転送に失敗したり、やたらと時間がかかったりと、この作業が一番苦労しているような気がします。SmartReleaseではリリース前の状態を丸っとバックアップしてくれるだけでなく、バックアップデータを指定してダウンロードすることもできます。
「ダウンロードファイルを生成」をクリックすると開くダイアログで、ダウンロードしたいバックアップにチェックをつけ(ひとつしかチェックはできません)、「ダウンロードファイルを生成」をクリックすると、SmartReleaseがダウンロード用にファイルを準備してくれます。
サーバーにあるデータ全てをまとめるので、大きめの規模のサイトだと、ダウンロード用のデータが生成されるまで少し時間がかかるので、生成が完了するまで他の作業などをしておくと良いでしょう。サーバー側での処理なので、クライアント側に負荷がかからないのは良いですよね。
ダウンロードファイルが生成されると、バックアップデータのダウンロードのところに生成されたZipファイルがでてくるので、「Zipファイルをダウンロード」をクリックしてダウンロードします。
30世代までのバックアップなので、更新のたびにピン止めをしてキープしているとバックアップがされなくなってしまいますよね。そんなときは、バックアップデータをダウンロードして社内の共有サーバーなどに保管し、SmartReleaseにあるバックアップをゴミ箱アイコンをクリックして削除します。これにより、キープばかりになってSmartReleaseのバックアップがいっぱいでバックアップできないということを回避できると共に、SmartReleaseのバックアップを常に最新の状態に保っておくことができます。どのタイミングまでバックアップを残しておくのか、いつダウンロードするのかは運営側のルールの下で決めていけば良いと思います。
まとめ
いかがでしたでしょうか?SmartReleaseを使うと、FTPで丸っと上書きしてしまって、バックアップデータから戻すのが大変ということもなく、ローカルから公開サイトへ大量のファイルをアップロードするのにヒヤヒヤするなんてことがなくなり、簡単にそしてラクにできることがわかったかと思います。
運営者ひとりひとり、それぞれ使い方も異なるかもしれませんが、このように手順を踏んで使うと、いざというときの困ったを解決する上ではとても便利なプロダクトだと思っています。
最近では、GitHubなどを用いてバージョン管理をしながら、最新バージョンを公開サーバーへ適用するような運用もあると思います。バージョン管理がされて、いつでも旧バージョンに戻すこともできる大変便利な運用方法ですが、そうしたバージョン管理機能を用いる運営は、サイト運営者のスキルも必要になってきます。企業によってはそうしたスキルは持たないものの、HTMLやCSSを書く事ができるスキルとデザインスキルは有しているという担当者も多くいるのではないでしょうか。そうした担当者が安全なサイト運営を行う上では、SV-Basic は安心・安全、そしてラクに運用できるプランだと思っています。
SmartReleaseを活用して、ひとりでも多くのウェブ担当者が安心してサイト運営ができることを願いつつ。。。