さくらインターネットの「バックアップ&ステージング」機能を使ってみる

一月にリリースされた「バックアップ&ステージング」機能を使ってみました。どういったサービスなのかは、サービス名からも一目瞭然ですが、さくらインターネット公式のページへのリンクを貼っておきます。「お知らせ」は短くまとめられているので、概要をつかむためにはそちらを読んでみるのが良いでしょう。

ステージングというのは実際に公開されている環境に変更を適用する前に確認ができる環境です。ワードプレスだったらアップデートやプラグインのチェックなどが事前に確認できる、ということになります。しかも、今回追加された機能は、ステージングに問題がなければそのままステージング環境の中身を1クリックで本番環境にリリースできるそうです。なかなか便利なものだと思います。

「お知らせ」にも書いてあるように、データベースはワードプレス以外はバックアップ(スナップショット)の対象とはなりません。さくらインターネットのコントロールの左メニューから「バックアップクイック作成」をクリックだけで、簡単にwww以下のバックアップは作れますが、データベースはバックアップされませんので、いつものように (?)データベース管理ツール(phpMyAdmin)からバックアップしましょう。

さて、データベースがバックアップされるのがワードプレスだけなので、ステージング機能というのもほぼワードプレス専用といった感じです。

たしかにステージング環境へは直接ファイルやデータベースの値を置換しているようなので、自作のアプリケーションなんかはまず無理ですね。

なお、ステージング環境のファイルの編集は、ブラウザのファイルマネージャーからでないと出来ないようです。

 

 

皆で使うサーバー上にDockerで開発環境を作る

課題と特徴、構成図

課題と特徴

PHPのWEBアプリ用の開発環境を作りました。

  • 開発環境をデザイナーを含む各スタッフのデスクトップに置かない。つまりVirtualboxは使わず、全員アクセス可能なサーバーで稼動させます。
    • なぜなら、他スタッフが別の場所(県)にいるからやり方を伝えたりするのが面倒そう。
    • なぜなら、デザイナーはフォトショップとかイラストレーターとかメモリをもりもり使っているのでさらに仮想環境を起動させるのはちょっと。
    • なぜなら、gitを使えないスタッフ居る。git覚えてもらうよりサーバー上で代わりにコミットしたほうが手っ取り早かったり。
  • 既存のレガシーWEBアプリを扱う場合が多い。設定が混乱しているので、設定を極力変えたくない。変えるのはデータベースの接続くらい。
  • 開発環境へのアクセスは本番環境と関係ない任意のドメインでアクセスできます。
  • データベースはDockerのホストで動かしている共通のもの。

残念な点

  • 実は2年くらい前の情報です。またDockerを使うのは初めてだったので詳しくありません。他にもっと良いやり方があると思います。
  • 設定することが多く、説明漏れもあると思います。正確性についても疑いつつ読んで下さい。
  • Dockerで残念だったのは、CentOSのカーネルをアップデートしてしまってDockerが動かなくなったこと。なんとか動くようにしたもののどう対処したか忘れました。

構成図とリクエストの流れ

ブラウザからのリクエストをDockerのホストサーバーのApacheが受け取り、mod_proxyで、Dockerのポートに送る。Docker内ではポート「本番機ドメイン:80」にアクセスされる、という流れになります。

ブラウザからのリクエストはワイルドカードでゾーン設定するなどして、スタッフ毎に割り振り、Dockerの待ち受けポートもスタッフ毎に割り振ります。

二人分の環境を作る場合に人によって異なる設定値は以下のものだけです。PHPアプリケーション内部では人によって違う設定をする必要はありません。

ホストマシン上でのURL 内部の80番にフォワードされる外部のポート ホスト上の作業ディレクトリ
staff1.example.com 10080 /home/staff1/workdir
staff2.example.com 10081 /home/staff2/workdir

“皆で使うサーバー上にDockerで開発環境を作る” の続きを読む

Symfony 3 学習メモ[03] ー ページ作成とデモアプリ

Getting Startedを一通り読み、ちょっとした達成感が得られたので、ひとまずSymfonyはここまでにしたいと思います😓。ですが、次にまた始める時になるべくスムーズに始められるようページ作成とサンプルのインストールくらいまではやっておくことにします。

“Symfony 3 学習メモ[03] ー ページ作成とデモアプリ” の続きを読む

cPanel(Hostgator)のメール転送

aaa@[ドメイン1] をaaa@[ドメイン2] に転送したいとき、日本のレンタルサーバーのコントロールパネルであれば単純に転送先と元の宛先にメールのコピーを残すかどうかをチェックすればよい。

cPanelはちょっと違っていて元の宛先にメールのコピーを残すかどうかのチェックボックスがあるわけではない。

どのようにすれば良いかというと、元の宛先のメールアカウントを作るかどうかでコピーを残すかどうかをコントロールする。

コピーを残さない転送の場合cPanelではアカウントは作成しない。転送設定のみを行う。

おなじ画面の下の方にある「ドメイン転送」を設定すれば、@の前の部分が同じであればひとつひとつ転送設定する必要はない。「ドメイン転送」を使って転送する場合でも、コピーを残すかどうかを元宛先のメールアドレスを作るかどうかで制御するのは同じである。

日本のレンタルサーバーのコントロールパネルのように「コピーを残す」というチェックボックスがなくて戸惑ったが、分かれば当たり前かなと思う。