.
WEB/DB 関連 => CMSサイト制作環境の構築 > 3.CMSによるサイト制作環境で必要となるサービス
Linux 活用ガイド:目次

サーバ構築ガイド

レンタル ガイド

ショップ 構築ガイド

情報漏洩対策

CMSによるサイト制作環境で必要となるサービス

Apeche Webサーバーの PHP、CGI をそれぞれのユーザー権限で動作させるための環境は整いましたが、CMS を利用したサイト制作環境を利用してもらうために必要なインターフェイスも、併せて提供する必要があります。

FTPサーバーの構築

既に従来のサイト制作環境をLAN内の制作スタッフに提供出来ていることを想定しているので、本稿では既に FTPサーバーは構築されていると仮定しています。

SSLにより保護されるFTPサーバーの構築手順については、過去にこのサイトでも紹介しています。

ただ suEXEC のために /ver/www ディレクトリ配下に移動しているので、、FTPサーバー側でも変更の必要が出てきます。FTPサーバーの構築については、個々では割愛します。

MySQL DBアカウント発行手続き(DBサーバ管理者)

LAN内のサイト制作スタッフに CMS を自由に設置させるためには、ユーザーが自由に扱えるデータベースのアカウントとデータベースをサーバー管理者側で用意し、ユーザーに提供してあげる必要があります。

本稿では、WordPress を例に説明していますので、WordPress が必要とするMySQLについて説明します。

CMS によっては PostgreSQL を必要とするものもありますが、必要に応じて、サーバー管理者が用意する必要があります。

MySQL の初期設定

MySQL データベースサーバーが既にインストールされている必要があります。パッケージがインストルされていない場合は、インストールします。

# yum install mysql-server

システム起動時に MySQL サーバーが起動するようにします。

# chkconfig mysqld on

MySQL サーバーを起動します。

# service mysqld start

root ユーザーのパスワード設定

初めて MySQL サーバーを起動する場合、最初に必ず行うべきことは、root ユーザーのパスワード設定です。これは、 MySQL内のユーザー rootであって、OS の root ユーザーのことではありません。

mysql コマンドを操作して、MySQLデータベースサーバーに root ユーザーでログインします。以下は MySQL に root ユーザーで接続した状態です。

# mysql -u root
mysql>

ログインしているユーザーのパスワードを設定するには以下のように操作します。

mysql> SET PASSWORD FOR root@localhost=PASSWORD('******');

Query OK, 0 rows affected (0.00 sec)

***** の箇所が設定する任意のパスワードです。exit で MySQL から抜けます。

mysql> exit

Bye
# ← ぬけた

MySQL におけるネットワークの接続制限は、通常、デフォルトでは localhost のみに許可するようになっています。これは、自分以外のネットワークからの接続は一切認めないことを意味しています。

つまり、MySQL と Apache Webサーバーが、同一ホストで動いている場合は、Apache Webサーバーは、MySQLのアカウントがあれば、接続する事が出来る位置関係にあるということを前提にしています。

MySQLユーザーの作成

LAN内の制作スタッフの数だけMySQLのユーザーアカウントをサーバー管理者が準備する必要があります。具体的には、MySQL の root ユーザーが、sqlコマンドを使ってアカウントを作成します。

先ず、MySQL に root ユーザーでログインします。今度は、先ほど設定したパスワードの入力が必要になります。

# mysql -u root -p
Enter password:*********

データベース wordpress を作成します。

mysql> create database wordpress;

以下の要領でwordpress を操作する専用の mysqlユーザー user1 を作成し、データベース wordpress に対して全ての特権を与えます。

mysql> grant all privileges on wordpress.* to user1@localhost identified by '**************';

mysql> exit (MySQLから抜けます)

******** は sqlユーザー user1 の任意のパスワードです。以上で MySQL ユーザー user1 のアカウント情報と、user1 が全ての特権を有するデータベース wordpress が作成できました。

サーバー管理者は、「これがあなたの MySQL アカウント情報ですよ」と user1 に、この MySQLアカウントを提供することになります。

WordPress というデータベースは作成していますが、user1 は、このアカウントを用いて、CMS のインストールに必要な新たなデータベースを自分で作成することも出来ます。

これらの操作は、一般的には SSH でサーバーにログインし、CUI で操作します。データベースの操作には sql コマンドを修得する必要があり、一般の方には敷居が高い問題があります。そこで sqlコマンドを GUI で操作できるツールを導入する必要性が出てきます。

.

phpMyAdmin や phpPgAdmin などのツール提供

MySQL を ブラウザを利用して GUI で操作する phpMyAdmin というPHPで書かれた Webプログラムが古くから存在しています。PostgreSQL も同様に phpPgAdmin というプログラムがあります。

phpMyAdminインターフェイス1

これらのツールは、WebサーバーとMySQLサーバが同一ホストであれば、ユーザー自身が、自分で設置して利用できますが、これはサーバー管理者が設置して、そのURLをユーザーに伝えるようにします。

SSLに限定するなど、セキュリティ2関して強化できるからです。

本稿の場合は、LAN内の限られた環境なので、サーバー管理者が定期的にデータベースのバックアップを取るなど制約が一切無いので、特に問題にはなりませんが、インターネットを経由してphpMyAdmin を提供する場合は、通信経路の暗号化は必須です。

何れにせよ。これらのインターフェイスは、ユーザーが個々に設置するのではなく、サーバー管理者側が設置して、ユーザーに対してそのURLを教える方法で対応するようにします。

phpMyAdmin の設置に求められるセキュリティ条件

本稿の場合は、制作環境を提供するための VPN を含めたイントラサーバーを前提としているので、Apache の公開設定では、接続元のネットワークを限定する以外は、特に注意する必要はないかもしれません。

ただ、インターネット経由でこれらのツールを提供する場合には、通信経路の暗号化は必須です。

つまり、ホスティングサービスの場合が、これに該当するわけですが、提供されている phpMyAdmin や phpPgAdmin といったツールが SSL により通信経路が暗号化されているかは、サービスを選ぶ上で重要なチェック項目になります。

セットアップについてはこのサイトでも紹介していますので、ここでの説明は割愛します。関連 => MySQLをGUIで操作する ~ phpMyAdmin について

phpMyAdmin の用途について

CMS によるサイト制作、おもにデザインのカスタマイズ等の作業内容の情報は、全てデータベース内に保存されます。

完成したサイトを納品する場合、制作者は、データベースを手元にダウンロードし、納品先のデータベースサーバーに復元する必要があります。前述したように、SSH による sqlコマンド操作は一般の方には敷居が高いので、これらの作業がGUIで行えるツールとして phpMyAdmin を提供します。

サイト運営者の場合は

これがホスティングサービスを利用しているサイト運営者の場合は、CMS で使って作成するサイトのコンテンツ(中身)は全てデータベースに保存されるため、サイトの内容を定期的にバックアップを行う必要があります。

そのために phpMyAdmin などの GUI ツールをレンタルサーバー業者は提供しているわけですが、CMS によるサイト運用は、ブラウザさえあれば、コンテンツを制作できる手軽さがある反面、データは手元に残りません。

これが手元で作成したファイルを FTP クライアントでアップロードする従来のサイト制作と根本的に異なる点です。

常に異なるハードウェアに複数のファイルが存在しているわけではなく、全て1箇所のハードウェア(サーバ)にしかデータが存在していないことになることは、デメリットの章でも説明したとおりです。

つまり、非常に面倒なわけです。コンテンツを制作する度に、毎回、phpMyAdmin を使ってダウンロードするのは、手段としては簡単でも常に人が手をかけないといけないので、どうしても保守管理が手薄になります。

CMS によるサイト運用を考えた場合、phpMyAdmin のようなツールの提供だけでなく、データベースが定期的に自動でバックアップするようなサービスが提供されているか、それらが別々のハードウェアに保存されていて、ハード障害に対応出来ている必要もあります。

CMSによるサイト運用を想定した場合、レンタルサーバーを選ぶ上で、非常に重要な要件になります。単に phpMyAdmin の通信経路が暗号化で保護されているから、だけでは物足りないことも認識しては必要です。

次の章からは

ここまではサーバー管理者側の開発環境を準備する視点で見てきました。引き続き、これまでの説明を踏襲する形で、CMSをサーバーに設置するクライアント側(本稿ではWebサイト制作者)の視点で、WordPress を例に CMSの導入手順を見ていきます。

CMSサイト制作環境の構築

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