.
WEB/DB 関連 => CMSサイト制作環境の構築 > 4.サーバーに CMS(WordPress)を設置する手順 1/4
Linux 活用ガイド:目次

サーバ構築ガイド

レンタル ガイド

ショップ 構築ガイド

情報漏洩対策

サーバーに CMS(WordPress)を設置する手順 1/4

引き続き、社内の制作スタッフ各々が、CMSによるサイト制作のためにサーバーに設置する手順について、WordPress を例に見ていきます。

SQLデータベースと連携して動作する CMS の導入手順、導入直後にセキュリティに関して注意すべき点は、どの CMS においても違いがある訳ではない点に着目して下さい。WordPress に限定される話しではありません。

ホスティングサービスにおいても同様ですが、行うことは同じでも、注意すべき点が大きく異なります。この点も補足しながら説明します。

CMS のインストールプロセス

インストールといっても、具体的にはプログラム本体をWebサーバーの公開ディレクトリに設置して、ブラウザでアクセスする単純なプロセスですが、セキュリティ上、注意しなければならないポイントが複数あります。

  1. サーバーの公開ディレクトリにFTPでプログラム本体をアップロード
  2. ブラウザで当該ディレクトリにアクセスすると対話式セットアップスクリプトが動作する

2の対話式セットアップスクリプトで求められる共通する入力項目、及び修正項目は以下の通りです。必要があれば修正を求められます。

  1. データベースアカウントの入力
  2. CMS の管理者アカウント(任意のIDとパスワード)
  3. テーブルの接続詞等の変更(通常はデフォルト)
  4. ロケールの確認等(タイムスタンプや通貨等の地域情報)

これらは全てブラウザを用いて行われるので、本稿のようにLAN内の限られたネットワークにおいては、不特定の第三者から盗聴される恐れはないので、特に注意すべきことはありません。

また、CMSを用いたサイトの運用が目的ではなく、CMSによるオリジナルサイトの制作、開発が目的になるので、ぶっちゃけ言えば、納品先と同様に動作さえすれば目的は達成されます。

とはいっても、最終的には納品して、そこで運用されるわけですから、サイト制作者であるスタッフには、これらのセキュリティに関する同様の知識、認識が必要となるので、全く無視できる話しという訳でもありません。

STEP1:動作環境の確認 ~ WordPress の場合

先ず、開発元のサイトで現行バージョンの動作要件を設置しようとしているサーバーが満たしているかどうか確認します。不明な場合は、サーバー管理者に確認して下さい。条件を満たしていることが出来れば最新版をダウンロードします。

ちなみに2014年1月の執筆段階で最新の WordPress のバージョンは 4.1 でした。2015年5月1日現在の最新版は 4.2.1 になっています。ここを見ても分かるようにセキュリティメンテナンスが行き届いていることが伺えます。

  • MySQL 5.0 以上
  • PHP 5.2.4 以上
  • php-mysql / php-mbstring ※

ちなみに本稿で説明した開発環境は CentOS6.6 を使用しています。現行の WordPress(本体)動作に必要なパッケージは、全て揃っています。

.

STEP2:アクセス制限

不特定多数がアクセス可能なインターネット上のサーバーにCMSを設置する場合、設置時の漏えいリスクを回避するために、ユーザー自身が行える可能性のある対策について考えられる事を挙げます。

本稿の目的である LAN 内の開発環境においては、通常は特に必要のない工程です。STEP3へ進んで下さい。

.htaccess によるアクセス制限

CMSを設置しようとしている Apache Webサーバーによっては、.htaccess によるアクセス制限が可能な場合があります。

Apache Webサーバー管理者が AuthConfig を許可していればディレクトリにアクセスした際にパスワードを要求する Basic認証が使えます。また、Limitが許可されていれば、接続を許可するネットワークを自分で指定する事も出来ます。

もし、.htaccessによるアクセスコントロールが可能なら、ブラウザで Proxy がオフであることを確認して、こちらにアクセスして、現在の自分のIPアドレスを調べます。仮に 82.133.56.105 だったとします。

テキストエディタで、ファイル名.htaccessというファイルを作成し、以下の内容を記述します。これを WordPress のルートディレクトリにFTPクライアントを使ってアップロードします。以下はその例です。

.htaccess

Order deny,allow
Deny from all
Allow from 82.133.56.105

注意したいのは、セットアップの途中で自分の IPアドレスが変わってしまった場合、アクセス出来なくなる点です。その場合は、パニックにならず、また IPアドレスを調べて、修正した.htaccessファイルをFTPで上書きアップロードをするだけです。

このアクセスが出来なくなるというのは、あくまでWebサーバーの話しであり、FTPを含めて一切の接続ができなくなる訳ではありません。

この対策が使えるかどうかは、サーバーによりますので注意して下さい。もし、サーバー側がこの機能を許可していない場合は、サーバーエラーを返すとおもいますが、念のため、最初は敢えて間違ったIPアドレスを記載したファイルをアップロードしてアクセス制限が機能しているか確認して下さい。

ちなみに .htaccess の利用許可は、サーバー管理者が Apache の ディレクティブ設定 AllowOverride を指定している必要があり、またアクセス制限に該当する Limit が。Basic 認証は AuthConfig が指定されている必要があります。これらが利用可能か不明な場合はサーバー管理者に問い合せて下さい。

このアクセス元を制限する対策は、ネットワークを平文で流れるデータベースのアカウント情報を第三者の盗聴から守る効果はありません。これだけではやはり不十分で、通信経路の暗号化が必要です。

また .htaccess で AuthConfig が認められている場合は、パスワードにより第三者の接続を弾くことが出来ます。導入時における一時的なアクセス制限の対策なので、このどちらか一つが行えれば良いのでAuthConfigの説明は割愛します。

これらの説明はLAN内のサーバーに開発環境を構築する目的においては不要です。自分でサーバー証明書を作成してSSLに対応したサーバーを構築出来るなら、自組織内の限られたスタッフにインターネットを経由して開発環境を提供する事も可能です。このサイトで紹介してるLinuxサーバーの活用は、あくまで限られた自組織内における利用が目的であり、不特定多数の第三者を対象にこうすべきと説明しているわけではありませんので注意して下さい。

STEP3:サーバーへの設置 ~ WordPress の場合

Step1で解凍した WordPress 本体を FTPクライアントを用いてサーバーにアップロードします。ホスティングサービスなど公共のネットワークでサーバーへ接続する場合は、必ず FTP の通信経路は暗号化で保護されている必要があります。

SSLによるデータ通信が可能で無料のFTPクライアントでは、WinSCP がお奨めです。本稿のようにLAN内に接続元が限定される用途においては、サーバー管理者側は必ずしもFTPの通信経路を暗号化する必要ありません。

STEP4 へ続きます。

CMSサイト制作環境の構築

bottom_mark
ページ最上部
ページ最上部 前のページ