WEBサーバーの引越しとパーミッションの設定
2016年06月27日サーバー
CGI の実行権限
長らくサーバーを利用しているとセキュリティー関係でサービスが終了してしまう場合や、他のサーバーへの移行など、引越しを余儀なくされてしまうケースもあるかと思います。
また○○がしたいから等の理由でサーバーを乗換えることも。
一昔前は、静的HTMLファイルで構築しているWEBサイトが多かったのでサーバーの引越しは、単純に新サーバーにファイルをアップロードするだけでした。
昨今は、PHPやCGIで構築されたサイトも多くなり、引越しの際にそのサーバーの特性に併せたパーミッション設定などが必要になります。
プログラムの設計によっては、設定ファイルなど置くディレクトリーやファイルのパーミッションの違いによりエラーとなってしまうこともあって
設計者が誰だか分からない(仕様のわからない)プログラムや、自分で設置したけど仕様を忘れてしまった物など、引越し作業が面倒だったりします。
私自身も数年前よりHDEコントローラーや古いプレスクを管理ツールとしていたホスティングサービスが、立て続けにサービス終了となる経験をして沢山のサイトの引越しを余儀なくされました。
ワードプレスのサイトの場合は、MySQLのDB移管がありますのでそのようなサイトの引越しでは、ハンドリングでやっていますが
それ以外のサイト(HTMLとPHPやCGIが混在しているサイト)では、専用のperlスクリプトで、サイト全体を圧縮してファイル化→新しいサーバーで解凍しています(量が多い場合は、適当に分割)
そして全ファイル(フォルダ)のパーミッション情報を取得して、新サーバーでファイル解凍後にスクリプトからパーミッションの復旧をしています。
この方法ですとサイト引越しの際に
・パーミッション変更の手間が無い
・設定ミスがない
・ファイルが沢山あるときほどラクチン
ですので、引越し用の自家製スクリプトで半自動化しています。
その時にサーバーによって挙動がことなりましたので、いつもの3つのサーバーのCGIの実行権などを調べてみました。(結論から言うと調査した3サーバーは、皆同じでした)
調査したサーバー
(1)エックスサーバー X10
(2)Bizホスティング メール&ウェブ エコノミー
■調査項目
ドキュメントルートに設置したCGIファイルよりドキュメントルートにディレクトリーを作成して生成されたディレクトリーのパーミッションや所有者を調べる
(1)(2)(3)ともに
生成されたディレクトリーのパーミッションは「411」
アップロードしたCGIの実行権限は、owner、所有者と実行ユーザーは、このCGIファイルの所有者(アップロードしたFTPアカウント)となりました。
そして(3)さくらインターネットのみ、生成されたディレクトリーをFTPクライアントからパーミッション変更が出来ました。
(1)と(2)に関しては、一旦CGIからパーミッション変更(chmod)をしないと、FTPからは変更できない状態でした。
この3つのサーバーでしたら、何れのサーバーでもCGIによるディレクトリー構成の復旧、パーミッション設定が可能でした。
これで引越し作業が少し楽できるかな。また機会がありましたら、サーバー引越しの際に手間が多い、メール関係の引越しラクチン方法を書きたいと思います。
2016年06月27日
サーバー