今回、さくらインターネットのレンタルサーバーのPHPのバージョンアップ、および、同サーバーで運営しているWordPressのバージョンアップを行うにあたり、とても便利だったのが、さくらのサーバーに装備されているバックアップ&ステージング機能でした。
PHPのバージョンやWordPressのバージョンをいきなりアップしてしまうと、表示されなかったり、デザイン崩れを起こす可能性もあり、バージョンアップを行うのもなかなか躊躇してしまうところです。
また、WordPressのテーマの編集を行う際も、公開する前に事前にテストしたいという場合もあるかと思います。
そのようなケースでは、PHP開発環境オープンソースである「XAMPP(ザンプ)」を使用するのが一般的かと思いますが、設定等、あまり詳しくない方にとっては使い勝手に多少難があるではないでしょうか。
そうした方でも、比較的手軽に開発環境を作れるのが、このバックアップ&ステージング機能です。
バックアップ&ステージング機能とは?
さくらサーバーでの名称は、「バックアップ&ステージング」ですが、もともとは、株式会社ユニマルが運営している「Snapup」というサービスと提携してさくらが提供している機能です。
よって、さくらのレンタルサーバーを利用していない人でも、「Snapup」と個別に手続きを行えば利用することができます。
ただし、対応しているレンタルサーバーは限られていますし、無料プランも用意されていますが、さくらで提供している機能と同程度のプランを利用する際には有料となるなど、制約もあるようですので、詳しくは「Snapup」の公式サイトで確認してください。
詳しくは⇒「Snapup」の公式サイトを参照。
さて、さくらサーバーの「バックアップ&ステージング」機能とはどういったものなのでしょうか?
バックアップ機能
まず一つ目は、データのバックアップができるということです。
さくらのサーバー内に存在する、www以下のファイルやデータベースのデータをスナップショットという形で、さくらのバックアップ用のサーバーに保存することができます。
ステージング機能
2つ目がステージング機能で、さくらのサーバーから取得したスナップショットを上述の「Snapup」のステージングサーバー上に展開することにより、本番サーバーと同様のテスト環境で、本番サーバーには影響を与えることなく、事前に変更の影響を確認することができます。
今回は、このステージング機能に焦点を当てて、その使い方について掲載してみたいと思います。
ステージング機能のココが便利
ステージング機能を使ってみて、ここが便利だなと思った点は、以下のような点です。
①さくらレンタルサーバーの利用者であれば、無料で何度でも利用可。
②本番サーバーと同じPHPバージョン、データベースのバージョンを設定できる。
③データベースも本番環境と同じものを取得できる。
④ステージングサーバーで変更を加えた内容を本番サーバーへリリースできる。
ステージング機能の設定の仕方
では、ステージング機能の使い方について見ていきたいと思います。
ステージング機能は、さくらのサポート外ということなのですが、一通り、さくらのサポートページで、その導入方法や使い方が掲載されています。
詳しくは⇒さくらサポートページ「バックアップ&ステージングとは」を参照。
これを見れば、バックアップ&ステージングの利用開始方法や、設定方法などは、大体のことはわかります。
しかし、これだけでは、実際に使う上で足りない部分もあるかと思いますので、自分で使ってみて引っかかった点などを中心に使い方を解説してみたいと思います。
さくらのコントロールパネルの[バックアップ&ステージング]⇒[Snapupで開く]以降は、上述しました株式会社ユニマルが運営している「Snapup」上での操作となります。
「Snapup」上で、ステージングサーバーを設定するまでの大まかな作業の手順としては、以下のようになります。
①検証したいサイトの登録
②スナップショットの作成
③ステージングサーバーの作成
④ステージングサーバへスナップショットを設定
サイトの登録
「Snapup」の画面に進み、まず最初に[SERVERS]と題された画面になるかと思いますので、その中の[SAKURA]と記されているサーバーアイコンをクリックします。
管理画面に遷移したら、画面左上の[サイトを追加する]をクリックして、検証したいサイトの登録を行います。
[サイト名]は任意のものを記入し、次の[サイトタイプ]でWordPressを選択すると、その下の[WPパスを選択]の欄に、サーバーにアップしているWordPressサイトのパスが表示されますので、対象サイトのパスを選択し、[追加]ボタンを押せば、登録完了です。
ちなみに、WordPressサイトではなく、HTMLサイトも登録可能で、その際は、[サイトタイプ]で[HTML]を選択、[対象パス]に対象となるサイトが入っているフォルダまでのパスを記述し、下の[URL]の欄には、そのサイトのhttp://から始まるサイトURLを記述します。
今回は、WordPressサイトを検証する際の手順について解説していきます。
なお、さくらの上記マニュアルによると、初めて、このステージング機能を使用し、サイト登録した際には、以下のような画面が表示され、スナップショットの作成⇒ステージングサーバーの作成⇒ステージングサーバへスナップショットを設定までの手順をすべて自動で行ってくれるそうです。
しかし、私の場合何らかの理由で、上記画面が表示されなかったのですが、以下のように個別に設定を進めることも可能なので、もし上記画面が表示されなくても、心配は要りません。
スナップショットの作成
スナップショットとは、登録したサイトのサーバー内にあるファイルやDBデータなどのコピーのことで、スナップショットの作成で、データを「Snapup」上にコピーして持ってきます。
まず、画面左の先ほど登録したサイトのキャプチャ画像を選択し、真ん中の[スナップショットを追加、作成する]をクリックします。
そして、[本番サーバから取得]をクリックします。
[コメントを入力]するよう求められますので、適当な任意のコメントを記入し、[実行]ボタンをクリックします。
[スナップショットの取得中です]という表示が現れますので、[終了処理]になれば取得完了です。
⇒さくらサポートページ「WordPressのスナップショットを作成する手順」
ステージングサーバーの作成
ステージングサーバーとは、「Snapup」のサーバー上に作る、今回、検証作業を行うためのテスト環境の事です。
まず、画面右の[STAGING SERVER]の[ステージングサーバを作成する]ボタンをクリックします。
表示によっては、[ステージングサーバを作成する]というボタンが隠れて見えない場合もあるかもしれませんが、スクロールすれば、下にボタンがあります。
画面が切り替わって、検証したいサーバー環境の条件を入力していきます。
その際、[ステージングサーバ名]の入力を求められますが、この時、上記のサイトの登録で入力した任意の[サイト名]と同じ文字列を記入したら、エラーではじかれて、ステージングサーバを作成することができませんでした。
なので、[ステージングサーバ名]については、デフォルトで表示される任意の文字列をそのまま使用するか、先ほど入力した[サイト名]とは違う文字列を記入した方がいいでしょう。
後は、[http/https]、[MySQLバージョン]、[PHPバージョン]など、こちらが検証したいサーバー環境を設定し、[追加]ボタンを押すと、作成完了です。
⇒さくらサポートページ「ステージングサーバ作成・削除手順」
ステージングサーバへスナップショットを設定
サーバーから取得したスナップショットをステージングサーバーへリリース、展開する作業です。
先ほど取得したスナップショットをクリックし、[ステージングサーバへセット]をクリックします。
そして、[スナップショット#を ステージングサーバーへセットします。よろしいですか? ]の画面で、[サイトURLをリリース先にあわせる(既定)]と[サイトURLの書き換えを行わない ]という選択肢が表示されます。
説明書きにも記載されていますが、検証後、リリース(本番サーバーに戻す)先が同じURLなら、[サイトURLをリリース先にあわせる(既定)]にチェックを入れ、リリース先が引っ越しなどで現在のドメインとは異なる場合には、[サイトURLの書き換えを行わない ]にチェックを入れるようです。
[サイトURLをリリース先にあわせる(既定)]にチェックで問題はありませんでしたが、このあたりは、ご自身の環境に合わせて、説明書きをじっくり読んで選択してください。
[OK]ボタンを押すと、設定作業が開始されますが、私の場合、それほど容量が無いにも関わらず、30分以上かかるなど、環境によってはかなり時間がかかる場合もあるようなので注意が必要です。
以上で、ステージングサーバーが使えるようになりました。
ステージング機能を使った検証や作業の仕方
上記手順で、ステージングサーバーが使えるようになったら、まずは、サイトが表示されるかどうか確認してみましょう。
サイトを確認するには、画面右の[STAGING SERVER]の欄に表示されているURLをクリックします。
このURLは、先ほど、[ステージングサーバ名]で入力した文字列で構成されたURLになっており、本番サイトのURLとは異なることがわかるかと思いますが、このURLで行われる作業は、一切、本番サイトには影響がありませんので、安心して作業を行うことができます。
認証情報を確認する
ステージングサーバのサイトは、上述のように、この一連の設定を行った「Snapup」の設定画面から直接URLをクリックし表示させた場合は、認証無しにアクセスできるのですが、別のブラウザからURLを入力しサイトにアクセスする際には、認証を求められます。
認証情報を確認するには、右横の[STAGING SERVER]の[認証情報を確認する]ボタンをクリックすれば表示されます。
ファイルマネージャーでサイトの編集を行う
ステージングサーバを使って、サイトテーマの編集を行い、検証を行いたいという場合には、ステージングサーバのサイトのテーマファイルを編集したいという場合もあるかと思います。
その際は、一応、[ファイルマネージャー]という機能もあり、クリックして開くと、本番サーバーと同様のWordPressファイルが表示されます。
しかし、この[ファイルマネージャー]上のファイルを実際に開いて、編集しようとすると、中のコードを削るのは大丈夫そうなのですが、何かを付け加えようとし、[編集]ボタンを押すと、下記のように、ローカルのファイルをアップロードするよう求められます。
つまり、これらの[ファイルマネージャー]上のファイルを編集するには、ローカルで編集した同じWordPressファイルをアップロードしないとダメなようです。
このあたりは、何か、他の設定方法があるのかもしれませんが、調べてもわからなかったため、ステージングサーバのWordPressサイトの管理画面にログインして、直接、テーマの編集からファイルの編集などを行いました。
WordPressの管理画面にログインする
ステージングサーバのWordPressサイトの管理画面にログインするには、まず、画面右の[STAGING SERVER]の欄に表示されているサイトURLをクリックし、ブラウザのアドレスバーに表示されているステージングサーバのサイトURLの後に続いて、[wp-login.php]を記入すれば、ログイン画面が表示されます。
[wp-login.php]を別の名称に変更している場合には、本番サイトと同様のログインページのファイル名を記入します。
データベースにログインする
WordPressサイトの場合、ステージングサーバー上のデータベースにもログインし、編集することができます。
その際、データベースへログインするには、本番サーバーのデータベースと同じユーザー名、およびパスワードではログインすることはできませんので注意が必要です。
ステージングサーバー上のデータベースにログインする際には、上述の「認証情報を確認する」で解説した要領で、データベースのユーザー名、およびパスワードでログインします。
ステージングサーバーで編集したデータを本番サーバーへリリースする
ステージングサーバーで編集したファイル等のデータを今度は、本番サーバーへリリースリリースすることも可能です。
手順は以下のような流れになります。
①バックアップとして、本番サーバーからスナップショットを作成
①ステージングサーバからスナップショットを作成
①②で作成したスナップショットを本番環境へリリース
ただし、さくらのサポートページも注意書きとして、「ステージング環境はさくらのレンタルサーバとは異なる環境となるため、PHPプログラムなど各種動作が変わる可能性がございます。」と書かれているので注意が必要です。
私自身は、この点が少し気になったので、このリリース機能は使わず、検証を行った変更点を本番サイトに手作業で再現するという手順を踏みました。
ただ、こうしたことを念頭に、リリース前に、バックアップとして、現時点の最新の本番サーバーのスナップショットを取得しておき、もし万が一のことがあれば、そのバックアップとしてのスナップショットをリリースして元に戻せるようにしておけば、大丈夫なのかもしれません。
⇒さくらサポートページ「ステージングサーバから公開領域へリリースする手順」
サーバーの引越し時にも便利
今回は、さくらのサーバーからスナップショットを取得し、ステージングサーバーで検証を行い、またさくらのサーバーにリリースするという流れで解説してきましたが、その他にも、さくらのサーバーから別のレンタルサーバーへ引っ越す際にも、この「バックアップ&ステージング」が使えるようです。
大まかな流れは、さくらのサポートページ「ステージングサーバから公開領域へリリースする手順」の下の方に記載されています。
サーバーの引越しを検討されている方は、マニュアルに沿って、試してみてもいいのかもしれません。
バックアップ&ステージングを使ってみた感想
以上、さくらレンタルサーバーで無料で提供されている「バックアップ&ステージング」機能の使い方についてまとめてみました。
今回、WordPressサイトのバージョンアップ、およびサーバーのPHPのバージョンアップにおいて、この「バックアップ&ステージング」機能はとても役立ちました。
こうしたテスト環境が無く、なかなかバージョンアップに踏み切れないという方にとっては、お勧めのツールだと思います。