静的サイトとはいわゆる『普通のホームページ』のこと。
静的サイトは、ホームページの制作者(あなた)が、自分のパソコンの上で、HTMLを作り、画像を埋め込んで、FTPでサーバーにアップロードする。
アップされたアドレスをブラウザ(インターネットエクスプローラーなど)で呼び出してあげるとあなたのホームページが表示されます。
アップするファイル名の拡張子は.htmlとなっています。
10年前はほとんどがこの静的サイトでした。
WordPress(ワードプレス)などのブログツールを使ってつくられたホームページ。
オープンソースであるxoops(ズープス)などのシステムを使ってつくられたホームページ。
PHPなどのプログラム言語でオリジナルで作られたホームページで、MySQLなどのデータベースを利用しているサイト。
これらを、動的サイトといいます。
動的サイトはざっくり話すと、HTMLファイルを自分でつくらなくてもいいのです。
ブラウザでプログラムを実行させると、プログラムのほうで、データベースにデータ(文章や写真など)を読みにいって、テンプレートにそってHTMLを生成させて、ブラウザに表示します。
なので、HTMLを作るのはプログラムの役目であって、ブラウザでそのプログラムが呼び出されてはじめてHTMLが出現します。
動的サイトはあなたがパソコンでこつこつとページ作りをしなくていいですね?
たいていは、管理画面にログインして、記事を入力して更新ボタンを押すと、記事が反映されます。
・・・・・・・・・・・・・ということは、あなたのパソコンには、ホームページそのものはないわけです。
ということは・・・?静的サイトにくらべて、バックアップが大事なことに気がつくでしょう。
静的サイトは、自分のPCにまるっと保存されてますから、たとえばフォルダまるごとCDに焼いて、何年何月何日のデータって書いて置けば、万一のときは少なくともその日に戻せます。
では動的サイトはどうすれば?
動的サイトのデータを失う可能性は大きくわけて2種類。
人的災害と、天災です。
(1)天災の場合。地震・火事・カミナリ・オヤジはなくてあとは・・・戦争とか?
銀行とかJRなどの公共機関、NTTなどの大手のサイトは、ホームページをおいてあるサーバーが壊れたとしても、すぐに復旧できるように予備のサーバーで常に同時稼働させているそうです。(わかりやすくするために表現が乱暴になってることをご容赦ください)
ここまでのことを考える場合、現実的な方法は、ミラーサーバーをつくるしかなくなります。
それも、沖縄とか、海外とか、日本で災害があっても別サーバーに移動できるように常に二つのサーバーを同期させておく方法しかありません。
(2)サーバーが壊れる可能性?
たいていの大きな会社のレンタルサーバーは、2重化されているし、何かの作業を行うときはバックアップをとってから作業してくれますから、サーバー会社のミスでデータがなくなってしまう可能性はほとんどないと思って大丈夫です。
(でも実は大手であったんですが・・・・ほんとにまれな事故なので今回は考えないとします)
ということは・・・ここから先が現実的な、可能性が高い話になってきます。
(3)操作ミスでデータを消してしまった、壊してしまった
これはありえますが。
ただ、よくしくみが整っているCMS(ブログツール)の場合は、何個か前の動作に戻れるとか、誰がどんな操作をしたのか更新記録を残していけるものもあるので、そういったシステムを利用して、まちがってもすぐに戻せる可能性があります。
(4)ウィルス感染などでサーバー上のデータを壊されてしまった
FTPパスワードを盗まれるウィルスについての記事は別ページで書きました。
今、(2010年現在)流行しているガンプラー系のウィルスの場合、静的サイトだけを書き換えるという特徴があるので、DBまではやられないだろうという予測があるものの、今後どんなウィルスが出てくるかわからないし、ブログやCMSの管理権限をのっとって、中のデータを書き換える形のウィルスが出る可能性もあります。
社内からなんらかの形でパスワードが流出してしまい、外から操作される可能性もあります。
それを考えると、上記の3番、4番のことを考えて対策をたてれば良いかなと思います。
(面倒だけど)まず思い浮かぶ方法として、phpMyAdminなどのデータベースを操作するツールを使って、バックアップをとる方法です。
これに加えて、ブログなどで投稿した写真が保存されているフォルダを定期的にバックアップしていけば良いでしょう。
意外と多いのが、バックアップからの戻しの失敗で、大事なデータを上書きしてしまうことがあるそうなので、バックアップからのリストアは慎重に行いましょう。
バックアップをとりたいデータベースと、バックアップをとりたいフォルダを指定して、指定時間に定期的に自動バックアップをとるスクリプトを作りました。