|
|
CMS/LAMPシステムの構築
|
CMS/LAMPシステムとはApacheとPHPの設定MySQLの導入と基本設定MySQLのコントロールHTTPSのためのルーター設定phpMyAdminのインストールデータベースの作成と削除XOOPS CubeのインストールWordPressのインストールMovableType3のインストールMovableType4のインストールMovableType5のインストールosCommerceのインストールデータベースのバックアップデータベースのリストア |
MySQL管理ツール"phpMyAdmin"の存在意義とはMySQL はいうまでもなく SQL 言語で制御を行う データベース アプリケーション で、データベースへのデータの追加や検索、抽出などの指示や、データベースの利用ユーザーの追加や削除など、操作のすべてはSQL言語によって行われます。 ではここでMySQLの プロンプト を呼び出し、ちょっとだけSQL言語に触ってみましょう。
まず、
サブネット
内の適当な
クライアント機
から
SSHクライアント
で
構築中のLinuxサーバー
に
ログイン
します
それから、以下のようにコマンドを実行してMySQLにログインしてみてください。
プロンプトが "mysql>" に変わったらログイン成功です。 ここから後の操作は、MySQLに指示を送るSQL言語を入力することになります。 引き続きに以下のように操作してみてください(以後は、 WBEL4 +MySQL "4.1.20" の例です。 他のバージョンをお使いの場合には少し表示が異なるかもしれません。)。
「意外に簡単かな?。」と思われるかもしれませんが、これは bash でいえば一番簡単な ls コマンド に相当しますから簡単で当たり前です。 |
||||||||||
|
|
これが例えば、 CMS の利用に必要なデータベースと、そのデータベースの操作権限をもつユーザーを作成するには、以下のような作業を行うことになります。
いかがでしょうか。少し命令が実用的になるとSQLコマンドはこのようにすぐに複雑になってしまいます。 もともとSQL言語はbashのような 「プロンプトからの OS の操作のための言語」 ではありません。どちらかといえば Perl のように 「他のアプリケーション同士の連携のための言語」 です。 従って「常識的に判りきっていることは省略して命令可能」な命令体系のbashと違い、SQLは「判りきっていても細かいオプションまで余すところなく指示を出す。」というアプリケーション間のやりとりに都合がよいような言語体系になっているわけです。 さて、実際にCMSを利用する場合、CMSは PHP を介してSQL言語でMySQLを制御します。 つまり人間は基本的には「人間の言葉でCMSに命令を下す」だけでよく、PHPスクリプトやSQL言語に精通しておく必要はありません。 ただ、例えば上の例のような 「CMSを利用するための最低限の準備作業」 や、データのバックアップの仕組みが準備されていないCMSを利用する場合のバックアップ作業などについては、このような「ユーザーフレンドリーではない」言語を利用しなければならない場面に遭遇してしまうことになります。 ただ問題なのはそれらが、 「滅多に使わない操作体系でありながら、プロンプト操作を間違えると致命的なダメージを受けかねない作業。」 だというです。 もちろん、SQLコマンドを自信を持って使いこなせるようになるまで勉強すれば良いのですが、SQL言語を使って新しいアプリケーションを開発するつもりでもない限りそれはお薦めしません。 そんな滅多に利用しないSQL言語を勉強するくらいならbashやperlなど「いろんな場面で役に立つ」言語の習得に力をかけるべきです。 そして、SQL言語やPHPを覚えなくても、CMSの利用に関するMySQLの一連の操作を安全に、簡単に行うために利用をお薦めするのが phpMyAdmin という サーバーサイドアプリケーションです。 |
||||||||||
| つまり広義に解釈すれば、phpMyAdminも立派なCMSということになります。 |
phpMyAdminは、MySQLの基本的な管理を Webブラウザ 上から GUI で行うことのできるツールで、その名前の通りPHPを利用して動作します。多言語対応なので日本語で使用することもできます。 つまりphpMyAdminは、その働きからすると Samba をWebブラウザ上から設定・制御する SWAT に類似した アプリケーション といえます。 ただしphpMyAdminはSWATのように サーバー の管理者だけのためのアプリケーションというわけではなく、もしも第三者に Apache の コンテンツ スペースを貸し出すような場合には、それぞれのコンテンツ管理者が独自にphpMyAdminをインストールし、データのバックアップなどに利用する(させる)ことも通常の利用方法のひとつです。 従って、phpMyAdminの使用についてはサーバー管理者であるあなた自身が独り占めせずに、むしろ積極的な利用を呼びかけて、 「MySQLのデータのバックアップは自己責任でやってください。」 という運用スタイルにしたほうがサーバー管理の手間も減ることになります。 このパートは、そういった管理の省力化まで視野に入れたphpMyAdminのインストールと設定方法について解説します。
|
||||||||||
phpMyAdminの入手とインストールphpMyAdmin は、公式サイトである から ダウンロード して利用するのがベターです。 もちろん RPM Search のように、 RPM に変換済みのパッケージを入手できるサイトを検索してダウンロードして利用する方法もあります。 |
|||||||||||
|
|
しかしphpMyAdminの場合は OS の動作と連携した インストール 形態をとらなければならないアプリケーションではなく、ひとつの コンテンツ として利用する PHP スクリプト と関連ファイルの集まりに過ぎませんから、「RPMとしての独自の初期設定」が行われていない公式のものを利用するほうが確実です。 phpMyAdminの本体は公式サイトの、 のページからダウンロードします。 |
||||||||||
| 2010年6月現在の情報です。 |
赤丸 で示している場所にバージョンが記載されています。 |
||||||||||
| バージョンが合わない場合でもインストールは可能ですが、初期設定を始めるときに警告が表示されます。 |
使用可能であればできるだけ最新バージョンのphpMyAdminを利用するのが望ましいのですが、 phpMyAdmin3.x以降はPHP5.2以降、MySQL5以降にしか対応していません(上のページ内で 青線 の部分に記載があります) ので、現在使用中のPHPやMySQLのバージョンによっては最新版が使用できないことがあります。 |
||||||||||
| WBEL や CentOS のような安定志向の LinuxOS の場合には最新版のPHPやMySQLが標準装備されることは少ないので、phpMyAdminも最新版ではなく少し前のバージョンを利用するケースが多いはずです。 |
従って、phpMyAdminをダウンロードするときは
phpMyAdminのダウンロードページには最新バージョンの他に少し前のバージョンも掲載されていますので、最新バージョンが利用できない場合はこちらからダウンロードすると良いでしょう(下のページ内で 青線 の部分に記載があります)。 ファイル名に "all-language-〜" を含むパッケージは「多言語対応版」ですので、これを選択するとphpMyAdminを日本語で扱うことができます。 WBEL3やCentOS3で標準の MySQL "3.23.58" をお使いの場合は、 "〜-utf-8-only-〜" のパッケージは利用できませんので注意してください。 もちろん "〜-utf-8-only-〜" の表記のないものを選んでおけばいずれにせよ間違いはありません。 |
||||||||||
|
|
更にパッケージは普通数種類の圧縮形式の中から選択できるようになっていますから、解凍作業が簡単な "*.tar.gz" または "*.zip" のどちらかの アーカイブ をダウンロードすると良いでしょう。 従ってここでは、 all-languages.tar.gz または all-languages.zip を選択してダウンロードしておきます。 さて、phpMyAdminは HTTP でアクセス可能な場所であればどこに設置しても構いませんが、コンテンツの管理がしやすいように専用の ユーザーアカウント の ホームディレクトリ 上で扱うのが良いでしょう。
まず、
サブネット
内の適当な
クライアント機
から
SSHクライアント
で
構築中のLinuxサーバー
に
ログイン
します
それから su コマンド で アカウント を "root" に変更し、引き続き useradd 及び passwd コマンドで新しいユーザーアカウントを作成してください。
ユーザーアカウント
"phpmyadmin"
が作成できたら
chmod
コマンドを使って、HTTPアクセスを有効にするためにホームディレクトリの
パーミッション
を
"755"
に変更してください
|
||||||||||
FTPサーバー
のローカルユーザーからの接続については
を参考にしてください。
|
ユーザーアカウントの準備ができたら、適当な FTPクライアント を使ってローカルユーザー "phpmyadmin" に FTP 接続し、ダウンロードしておいたphpMyAdminのアーカイブをホームディレクトリに アップロード してください。
アップロードが終了したら、他にはもうphpMyAdminのホームディレクトリにアップロードすべきファイルはありませんから、できれば
セキュリティ
確保のために、
次に、ユーザーを "phpmyadmin" に変更し、アップロードしたアーカイブの種類に合わせて tar または unzip コマンドで展開します。以下は "*.tar.gz" の場合の実行例です。 次に展開して新たに作成されたディレクトリ "/home/phpmyadmin/phpMyAdmin-2.11.10-all-language/" に クライアント からHTTPでアクセスできるように設定します。
基本的には
Apache
の設定ファイルである
"/etc/httpd/conf/httpd.conf"
に必要な設定を記述しても構いませんが、通常のコンテンツと混同するのを防ぐために、
"/etc/httpd/conf.d/"
以下に
nanoエディタ
で
"phpmyadmin.conf"
という
テキスト
ファイルを作成して記述するようにします
↓
以下のように記述します
この設定によって、
"/home/phpmyadmin/phpMyAdmin-2.11.10-all-language"
は、
"Alias"
ディレクティブ
「ディレクトリ "/home/phpmyadmin/phpMyAdmin-2.11.10-all-language" は、 "/phpmyadmin" という別名で URL 中の最上位のディレクトリとして存在するものとみなし、すべての ノード からのアクセスを許可する。」 という振る舞いをするため、ドキュメントルート外にも係わらずHTTPでのアクセスが可能になるというわけです。 |
||||||||||
|
|
もしも自宅以外からphpMyAdminの操作を行わない場合には、
のように設定して、自宅内の サブネット 以外からはアクセスできないようにしてしまいましょう。
設定ファイルを保存したら
以上でphpMyAdminのインストール作業は終わりです。 これから先は Webブラウザ で 構築中のLinuxサーバー にアクセスして初期設定を行いますが、その途中で シェル プロンプト からの操作が必要になります。 SSHで既にログインしている場合は ログアウト せずにそのまま次のステップへ進んでください。
|
||||||||||
phpMyAdminの初期設定の前準備早速、 HTTP アクセスが許可された任意の ホスト の Webブラウザ から、
http://www.obenri.com/phpmyadmin/
|
|||||||||||
phpMyAdmin
を利用するには、
MySQL
が稼動している必要がありますので、
を参考に動作を確認しておいてください。
|
でアクセスしてみてください。 構築中のLinuxサーバー と同じ サブネット のホストからであれば、
http://192.168.100.11/phpmyadmin/
でもOKです。 もしもここで、
phpMyAdminのエラー(バージョンの不一致) のようなメッセージが表示されるときは、インストールしたphpMyAdminと現在使用しているアプリケーションのバージョンが適合していません(この場合はPHPのバージョンの不一致)。 |
||||||||||
|
phpMyAdminはただの便利ツールです
から、phpMyAdminのバージョンに合わせてLAMPの中核であるPHPやMySQLを無理にアップグレードするのはナンセンスです。
phpMyAdminは適切なバージョンを使うことでどんなLAMP環境でも問題なく使用できますから、最新版のphpMyAdminに固執する理由はありません。 |
こういう場合、
構築中のLinuxサーバー
に
インストール
されている
アプリケーション
が、
yum
でアップデートできる範囲でメッセージに適合できるようであればひとまずアップデートしてみます
yumによるアップデートで対応できないバージョンの場合は自分でアプリケーションを入手して手動でアップデートするという方法もありますが、安定性重視のサーバー運用を考えるのであればこの方法はお勧めしません。理由については
というわけでこういった場合は、この コンテンツ では素直にphpMyAdminのほうを古いバージョンに入れ替えることをオススメします(古いバージョンのphpMyAdminの入手については、このページの前半を参考にしてください)。 phpMyAdminの入れ替えは、展開したphpMyAdminのデータを丸ごと削除して、別のバージョンのphpMyAdminを展開しなおすだけです。 |
||||||||||
|
|
さて、以上のような問題がなければ、以下のようなページが表示されるはずです。
phpMyAdminのログインページ(アクセス拒否) いきなりエラーが出て面食らうかもしれませんが大丈夫です。 エラーの理由はメッセージの通りで、まだphpMyAdminの設定ファイルが存在していないからです。 そこでメッセージに従って、 青丸 で示している セットアップスクリプト をクリックしてみてください。以下のようなページが表示されます。
phpMyAdminのセットアップスクリプト作成ページ1 ここに表示されているのは、セットアップスクリプトを作成するために必要な準備作業についての概要です。 (1) はウェルカムメッセージで、カラムの中の "documentation" をクリックすると設定の詳細が表示されますが、当面は内容を確認する必要はないでしょう。 |
||||||||||
| 説明は英語です。 |
(2) のメッセージは、「設定ファイルの保存と読み込みを行うための準備ができていない」ことを意味しています。その方法は同じカラムの中の "documentation" をクリックすると説明がありますが、その内容は、 1.phpMyAdminのディレクトリの最上位に"config"というディレクトリを作成する。 2.作成したディレクトリ"config"に任意のユーザーからの書き込み属性を与える。 となっていますから、 シェル プロンプト から指示どおりに作業すればOKです。 作業が終わったら、Webブラウザの再読み込みボタンをクリックしてください。 (2) のカラムが消えれば準備はOKです。
phpMyAdminのセットアップスクリプト作成ページ2 (3) は HTTPS による暗号化の有無の問いかけです。 現在のHTTPによる通信では、すべての内容がそのままのデータで流れてしまうため、理論的にはその内容を傍受することが可能になっています。 ここでカラム内の "this link" をクリックすると、以後は プロトコル がHTTP(80)からHTTPS(443)に変更になり、安全に設定作業ができるようになります。 もちろん設定作業を LAN 内から行う場合には強いてHTTPSに切り替える必要はないのですが、重要な内容を送受信する場合の習慣としてHTTPSを積極的に利用するほうがベターです。 |
||||||||||
|
WAN側からのHTTPSの利用は
ルーター
への
ポートフォワーディング
の設定で有効にできます。
その方法については
を参照してください。
|
例えば WAN 側から設定作業を行う場合はHTTPSは必須ですから、いずれにせよHTTPSを利用する可能性がある以上は常にHTTPSを利用するようにしておいたほうが良いという考え方です。 というわけですから、ここは "this link" をクリックしてHTTPSによる暗号化通信を有効にしてください。 |
||||||||||
|
|
すると、
SSL証明書なしでHTTPS接続をすると表示されるダイアログ(IE6)
SSL証明書なしでHTTPS接続をすると表示されるホームページ(IE8) のような ダイアログ あるいはホームページが表示されますから(上の例のように表示はOSやWebブラウザの種類で異なります)、ここで OK ボタンをクリックする、あるいは 「閲覧を続行する」 のように接続を続行するアクションを行うと、 (3) のカラムも消えて初期設定の準備完了となります。
phpMyAdminのセットアップスクリプト作成ページ3 以下で引き続きphpMyAdminの初期設定を行います。
|
||||||||||
phpMyAdminの初期設定まず、 phpMyAdmin のセットアップスクリプト作成ページから、左下の Add ボタンをクリックします。
phpMyAdminのセットアップスクリプト作成ページ4 すると、以下のような設定項目の入力画面になります。
phpMyAdminのセットアップスクリプト入力ページ1 ここで 赤丸 で示している "Authentication Type(認証タイプ)" のプルダウンメニューから "cookie" を選択し、下にスクロールして Add ボタンをクリックします。
phpMyAdminのセットアップスクリプト入力ページ2 すると以下のようにセットアップスクリプト作成ページに戻ります。
phpMyAdminのセットアップスクリプト作成ページ5 このページを下にスクロールすると、初期設定ファイルの改行コードの種類を指定する項目がありますので、 (1) のプルダウンメニューから "UNIX/Linux 〜" を選んで (2) の Change end of line ボタンをクリックします。 |
|||||||||||
|
|
これで一通りのの設定は終わりましたが、この段階ではまだ設定は保存されていませんので (3) の Save ボタンをクリックします。
phpMyAdminのセットアップスクリプト作成ページ5(下) すると、設定ファイル "config.inc.php" が、先ほど作成したディレクトリ "/home/phpmyadmin/phpMyAdmin-2.11.10-all-language/config/" 以下に保存され、以下の画面が表示されます。
phpMyAdminのセットアップスクリプト作成ページ6 さて、これで一応初期設定ファイル "config.inc.php" は作成されましたので、これを "/home/phpmyadmin/phpMyAdmin-2.11.10-all-language/" 以下にコピーすればphpMyAdminを利用できるようになります。
しかしその前に一つだけ手作業で
"config.inc.php"
に追加記述しておくと良い設定項目がありますので、
nanoエディタ
で
"config.inc.php"
を開き
↓
セットアップスクリプトから作成した"config.inc.php"
↓以下のように設定行を追加記述します
追加記述が終わったらファイルを保存し、nanoエディタを閉じてください
phpMyAdminは MySQL 上にphpMyAdmin専用のデータベースを作成することで、より高度な管理機能を発揮することができるように設計されています。 しかし実際に CMS の利用に必要なのは、ユーザーの作成とデータのバックアップとリストアの作業くらいですから、高度な管理機能を利用する必要はありません。 しかしそのままphpMyAdminを利用していると、操作中にその管理機能が無効になっている(デフォルトでは専用データベースがないため)ことを警告するアラートが表示されてしまいます。 ここで追加した設定は、その警告を表示させないためのものです。 最後に、この追加設定がなされた "config.inc.php" を、 "/home/phpmyadmin/phpMyAdmin-2.11.10-all-language/" 以下に cp コマンド でコピーしてください。
以上で初期設定作業は完了です。
|
||||||||||
phpMyAdminの動作確認では phpMyAdmin に ログイン してみましょう。 |
|||||||||||
|
|
HTTP または HTTPS でアクセス可能な ホスト の Webブラウザ から、
http://www.obenri.com/phpmyadmin/
にアクセスしてください。 サーバー機 と同じ サブネット の中のホスト機であれば、
https://192.168.100.11/phpmyadmin/
でもOKです。すると以下のようなログインページが表示されるはずです。
phpMyAdminのログイン画面1 |
||||||||||
MySQL4.1.2xでも5.0.77でも、
"/etc/my.cnf"
で
文字セット
は
EUC
に設定したはず
...。と思われるかもしれませんが、これはデータの出し入れに関する設定で、MySQLのシステム自身は
UTF-8
で動作しますからこれでOKです。
ホントにややこしいですね文字セットは。 |
ここで "Language" が、 WBEL3及びCentOS3(MySQL3.23.58)→"日本語 - Japanese (euc)" WBEL4及びCentOS4(MySQL4.1.2x)→"日本語 - Japanese (utf-8)" CentOS5(MySQL5.0.77)→"日本語 - Japanese (utf-8)"
になっていることを確認し、MySQLの管理ユーザー名
"root"
と、「MySQLの導入と基本設定
phpMyAdminのログイン画面2 以下のような画面が表示されれば接続確認はOKです。 |
||||||||||
| 右はMySQL5.0.77の例です。MySQLのバージョンが違う場合は表示も幾分異なります。 |
phpMyAdminの操作初期画面 CentOS5 を使用していて、
mcrypt拡張のエラー
というエラーが表示されるときは、
PHP
の暗号化関数拡張モジュールのインストールが行われていません。
もしも、
ユーザー認証のエラー のようなカラムが表示されてログインできないときは、ユーザー名やパスワードを間違えていますから正しく入れなおしてください。 |
||||||||||
|
MySQLはユーザーのパスワードや権限の情報を、
"mysql"
という名前のデータベースに格納します。
要するに、パスワードがデータベースに格納された後に文字セットの扱いを変更したために、不整合が起こってしまったわけですね。 |
またMySQL4.1.20を使用している場合に、
認証時の文字セットに関してよく見られるエラー
のようなカラムが表示されてログインできないときは、
"/etc/my.cnf"
|
||||||||||
| 一度 "root" でphpMyAdminにログインしてしまえば、任意のユーザーの任意のパスワードを変更することができますから、ホスト "web1.obenri.com" の "root" パスワードをここで変更する必要はないでしょう。 |
こういう場合は一度MySQLを停止し
パスワードの再設定が終わったらもう一度ログインしてみてください。今度はうまくいくと思います。
|
||||||||||
一般ユーザーのphpMyAdminの利用についてphpMyAdmin は、サーバー管理者にとってはMySQLシステムのバックアップ及び CMS 用の データベース 作成に重宝するツールです。
一方
コンテンツ
スペースを与えられているだけの
サーバー
利用者にとってphpMyAdminは、自分で運営しているCMS利用コンテンツのデータのバックアップ
|
|||||||||||
| 上の例で行ったようなディレクトリの作成や パーミッション の変更、設定ファイルの書き換えなどの操作は必ずしも プロンプト から行う必要はなく、FTPクライアントから行うことができます。 |
FTPクライアント の機能に詳しい人はもうおわかりかもしれませんが、phpMyAdminはサーバー上に "root" アカウント を持っていなくても インストール 可能な アプリケーション です。 また、 GUI から MySQL の管理を行うアプリケーションはphpMyAdmin以外にもいくつか種類があり、同様に利用者単位でのインストールと使用が可能です。 つまり本来phpMyAdminのようなデータベース管理アプリケーションは、利用者が自分の責任において導入と運用を行えるように設計・配布されているわけです。 ただここまでの説明でもお分かりの通り、MySQLの管理ツールのインストールや運用となるとそれなりに高度な知識と技術が必要になりますから、そういう方面にあまり明るくないコンテンツスペース利用者に対しては、このパートでインストールしたphpMyAdminをそのまま利用させても良いでしょう。 もちろん、詳しい人には独自に管理ツールをインストールしてもらって、できるだけ自己責任で運営してもらうのが望ましいのはいうまでもありません。
|
|
|
HTTPSのためのルーター設定
<<Previous
|
Next>>
データベースの作成と削除
|
| このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |