このセクションではLinux、Apache/httpd、PHP及びMySQLを用いたLAMPシステムとそれを利用したCMSのインストールについて解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
CMS/LAMPシステムの構築

CMS/LAMPシステムとは

ApacheとPHPの設定

MySQLの導入と基本設定

MySQLのコントロール

HTTPSのためのルーター設定

phpMyAdminのインストール

データベースの作成と削除

XOOPS Cubeのインストール

WordPressのインストール

MovableType3のインストール

MovableType4のインストール

MovableType5のインストール

osCommerceのインストール

データベースのバックアップ

データベースのリストア


"CMS"とレンタルサーバーの微妙な関係

少し以前までのホームページ コンテンツ は、

「パソコンで HTML データを作成し、 FTPクライアント からそのデータを Webサーバー に アップロード する。」

という手順で作成されるケースがほとんどでした。

ただそのためにはHTML用の テキスト エディタ StyleNoteについて を利用したり、専用のHTML作成 アプリケーション を使ったりするわけですが、これらを使いこなすにはHTMLタグの知識が必要になったり、アプリケーションの操作方法を覚えなければならなかったりします。

更に、融通の利いたきれいなデザインのページを作成したり、対話的(動的)なコンテンツを作成するには、更にスタイルシートや CGI をも使いこなせなければならないでしょう。

しかし人には向き不向きがあって、HTMLの ソース が難しいプログラムに見えたり、HTML作成アプリケーションのツールボタン数を目の当たりにして目眩を起こし、「努力の前にあっさり挫折」という人も珍しくないでしょう。

素晴らしい情報と表現力を持っていて、その情報をホームページで発信したいという意欲があっても、この「コンテンツを作るうえでの 技術的な ハードル」を超えられずにページの作成を断念してしまったユーザーも決して少なくはないと思います。

その救世主となったのが、最近急速に利用者が増えている ブログ というコンテンツ作成・運用形態です。

ブログは情報の連携機能(トラックバック)を始めとした様々なリンクの形成機能があり、比較的容易にアクセスが上がって「すぐに楽しめるコンテンツになる」という面白さからとても人気があります。

しかしブログが普及した最大の要因は、

「 Webブラウザ から HTTP でWebサーバーに直接 ログイン して情報を打ち込む。」

という従来とは異なる作成・運用スタイルにあるといってよいでしょう。

つまり、HTMLの基本や専用アプリケーションの操作方法を知らないパソコンの初心者でも、比較的簡単にコンテンツを作成することが可能というわけです。

そしてその仕組みを提供するのが CMS と呼ばれる サーバーサイドアプリケーション です。

CMSは、基本的にHTMLの処理しか出来ない Apache と、宿命的にHTMLの操作が不完全な人間とのギャップを埋めるためのアプリケーションで、「可能な限り人間が扱いやすい方法でコンテンツを作成する」手段を提供します。

ブログ運営がとても簡単なのは、 ブログツール というカテゴリに分類されるCMSが、「可能な限り人間の感性に近い」操作を受け入れ、Apacheに受け渡しているからだといえるでしょう。

そしてそのスタイルが世界的に受け入れられた結果、現在では非常に多くのCMSが開発・リリースされていて、現代はまさに「CMS花盛り」といった活況を呈しています。

またCMSの多くはレンタルサーバー上での利用が可能なように設計されているのも普及した理由のひとつといえるでしょう。

レンタルサーバーの管理会社からコンテンツスペースと必要なアプリケーションの使用権だけ貸与してもらえば、多くのCMSは、

1.CMSのプログラムを FTPクライアント でサーバーに アップロード する。

2.FTPクライアントからCMSに対して必要な パーミッション 設定を行う。

3.Webブラウザでアクセスしてマニュアルどおりに初期設定を行う。

という手順だけで利用することができます。

つまりCMSはサーバーにインストールするアプリケーションでありながら、その作業はクライアント自身が行うというスタイルになるということです。

ただ、実はここに大きな「苦悩」が存在します。

このパートの後半で詳しく説明しますが、CMSを利用するには予めサーバー側で Webサーバー と適当な スクリプト 言語、そして データベース が稼動していなければなりません。

一方レンタルサーバーの利用者は、数多く存在するCMSの中から、自分の好みのものをそのサーバー上で利用したいところですが、そのCMSの動作条件がサーバー側の構成で満たされていなければ当然利用することはできません。

仮にそのCMSが無事利用できて、順調にコンテンツ運営が行われるようになっても油断は禁物です。

サーバー上のシステムは恒久的に同じ状態を維持している訳ではなく、 バグ 対策や性能向上のためにしばしば アップデート が行われますから、今まで何事も無く使用できていたCMSがある日突然変調をきたすことも珍しくありません。

安価に契約できるレンタルサーバーは、通常一台のサーバー上で数十あるいはそれ以上の利用者を抱えて稼動しています。

そしてそのサーバー上では個々の利用者が思い思いのCMSを利用している訳ですから、システムのアップデートによってそれまでの不具合が解消するコンテンツがある一方で、運悪く不具合が発生してしまうコンテンツも存在し得るということです。

「自分のコンテンツがおかしくなったからサーバーを元に戻してくれ!。」あるいは「今順調に運用できているから、アップデートなんかせずにそのままにしておいて!。」などと叫んでみたところで、こればっかりどうしようもありません。

この問題を回避するには二つの方法があります。

ひとつはレンタルサーバー業者から専用の サーバー機 を丸ごと一台契約してしまうことです。毎月パソコンが一台づつ買えるくらいの出費を覚悟できるならそれも悪くない選択かもしれません。

もうひとつはいうまでもなくこの「お便利サーバー.com」のコンセプトである、 自宅サーバーを利用すること です。

自前のサーバー機なら、自分が使いたいCMSの条件に合わせてサーバー側のアプリケーションを構成できますし、自分にとって不要なアップデートは自分の判断で見送ることもできます。

これでもうレンタルサーバーのシステム変更に戦々恐々とすることはありません。

このページの先頭へ↑

"CMS"を支えるベースシステム"LAMP"の誕生

Apache と人間を仲立ちするのが CMS だとすれば、フォームメールや掲示板などに古くから利用されている CGI スクリプト も、広い意味ではCMSと呼べなくはなりません。

しかし一般的にCMSという場合には、

「基本的な設定さえ済ませてしまえば、後はApacheの存在も HTML の構造も全く意識する必要のないコンテンツの製作・運用環境を提供するアプリケーション。」

を指します。

「部分的に」ではなく「総合的に」ApacheとCMSを連携させるには、両者を無駄なく効率的に対話させる言語が当然必要になります。

従来CGIでは汎用のスクリプト言語である Perl が用いられてきました。

Perlは優れた テキスト 処理機能を持っていたことと、ほとんどの UNIX 系 OS で利用可能であったため、インターネットの黎明期にはこれが Webサーバー 上での汎用の インタープリタ として広く利用されてきました。

しかしもともとPerlはWebコンテンツ用の処理言語として開発されたものではありませんから、CGIとして利用するには非効率な部分が多いばかりでなく、エラー時に バグ を見つけにくかったり、 セキュリティ 上の問題が起こりやすかったりするという欠点があります。

つまり、CMSとApacheを揺ぎ無く連携させて高速に動作させるには、Perlではどうしても役不足ということになります。

そこで脚光を浴びるようになってきたのが、 PHP です。

PHPでスクリプトを記述すると、同じ機能を提供するCGIをPerlで記述するよりもはるかにシンプルになり、とてもに高速に動作します。もちろん動作負荷も確実に小さくて済みます。

PHPはApacheとの連携を主眼に開発された言語ですので処理に無駄が少なく、Webサーバー上の処理で必要な機能はすべからく搭載していますので、CMSの利用にはまさに打ってつけというわけです。

そしてPHPにはもう一つ データベース アプリケーション との連携についても非常に強力であるという特徴があります。

それまでPerlを中心に構築されてきた動的なコンテンツでは、ユーザーやパスワード、投稿された文書などの管理は基本的に テキスト ファイルとして サーバー 上に蓄積され、管理されてきました。

比較的小規模なコンテンツではそれでも賄うことができたのですが、データ数が数百〜数千の規模になってくると処理の負荷が飛躍的に増大し、事実上取り扱いが困難になってきます。

なぜなら、もともとコンピュータは「人間が理解するための形式」であるテキスト書類を直接操作することが出来ないからで、膨大なデータをテキスト形式で管理してしまうと、それを並べ替えたり、必要なデータを抽出したりするには非常に手間をかけなければならないためです。

実際、活発なブログコンテンツでは一日に数十〜数百もの参照や書き込みは珍しくなく、しかもそれらにトラックバックなどの情報が付加されて相互に絡み合う形になってしまうため、もはやテキストファイル+Perlという管理方法では能力的に限界というわけです。

一方、昔から業務用の販売管理や顧客管理、在庫管理などに広く用いられてきたのが、データを最初から バイナリ 形式で格納、管理し、個々のデータが複雑に連携していてもコンピュータが高速に処理できるように工夫された、 「リレーショナルデータベース」 というアプリケーションです。

一昔前まではリレーショナルデータベースといえば高額な商用版しかなく、個人で使用することはまず考えられなかったのですが、現在では MySQL や PostgreSQL といった高性能な、 SQL データベースアプリケーションが無償で利用可能になり、誰でも手軽に利用できるようになりました。

そういう流れの中で、

1.無償で利用できて扱いやすい" LinuxOS "。

2.無償で利用できてPHPとの連携が強いWebサーバー"Apache"。

3.無償で利用できてPHPとの連携が強いSQLデータベース" MySQL "。

4.無償で利用できるWebサーバー向け処理言語"PHP"。

という組み合わせがCMSを利用するためのベースシステムとして一般化し、その頭文字を繋げた LAMP という呼称が生まれたわけです。

このページの先頭へ↑

WBELやCentOSで"CMS"を利用するには

個人で無償で使用できる CMS には、 MovableType をはじめとした多くの ブログ ツールの他、web通販御用達の osCommerce 、更にコンテンツをまるごと簡単に作成できる XOOPSCube のような統合型もあります。

これらはいずれも、

1. サーバー OS の種類とバージョン。

2. Webサーバー の種類とバージョン。

3. データベース の種類とバージョン。

4.使用言語の種類とバージョン。

の条件が満たされなければ利用することはできません。

ただ一般的に LAMP システムと呼ばれるように、

1. LinuxOS +2. Apache +3. MySQL +4. PHP

という組み合わせで、それぞれのバージョンが余程古いものではない限り大半は利用可能となるはずです。

ちなみに yum を利用して最新(2010/06/05現在)まで アップデート を行った WBEL3 は、

プロンプト から "cat /etc/redhat-release" 及び "cat /proc/version" で調べることができます。

OS:White Box Enterprise Linux release 3.0 (Liberation Respin 3)

CentOS3 は、

OS:CentOS release 3.9 (Final)

というOS名になります。

(WBEL3やCentOS3は「利用可能なバージョン」にリストされるほどメジャーな ディストリビューション ではありませんから、" RHEL3 "、 または RHL9 を大体の判定基準にしてください。)

プロンプト から順に "apachectl -v" 、 "mysql -V" 、 "php -v" で調べることができます。
MySQL の場合はオプションスイッチの "-V" は大文字になります。

また、WBEL3及びCentOS3に標準でインストールされているCMS関連のアプリケーションのバージョンは、

Apache:2.0.46

MySQL:3.23.58

PHP:4.3.2

となります。

また同じく最新(2010/06/05現在)までアップデートしたWBEL4は、

OS:White Box Enterprise Linux release 4 (Manifestdestiny Respin 2)

CentOS4は、

OS:CentOS release 4.8 (Final)

というOS名になります。

(WBEL4やCentOS4は「利用可能なバージョン」にリストされるほどメジャーな ディストリビューション ではありませんから、" RHEL4 "、 または FedoraCore1〜4 を大まかな判定基準にしてください。)

また、WBEL4及びCentOS4に標準でインストールされているCMS関連のアプリケーションのバージョンは、

Apache:2.0.52

MySQL:4.1.2x

PHP:4.3.9

となります。

また最新(2010/06/05現在)までアップデートしたCentOS5は、

OS:CentOS release 5.4 (Final)

というOS名になります。

(CentOS5は「利用可能なバージョン」にリストされるほどメジャーな ディストリビューション ではありませんから、" RHEL5 "、 または FedoraCore5〜7 を大まかな判定基準にしてください。)

また、CentOS5に標準でインストールされているCMS関連のアプリケーションのバージョンは、

Apache:2.2.3

MySQL:5.0.77

PHP:5.1.6

となります。

これらが動作条件に当てはまるCMSであれば通常は利用可能なはずです。

もしも利用したいCMSの動作条件がこれに当てはまらない場合には、それぞれの アプリケーション の開発元のコンテンツなどから該当するバージョンを インストール し直す必要があるかもしれません。

WBELやCentOS用に作成されている RPM 以外のアプリケーションの導入の考え方については、 アプリケーションの導入法 を参考にしてください。

著名なCMSであれば比較的適応バージョンが広いので、多少古めのものでも実際にはあまり心配する必要はありません。

ただ、もしも適合に問題が生じるとすれば WBEL3やCentOS3のMySQLのバージョン でしょう。

2010年6月現在、最新のMySQLのバージョンは "6.0.x" で、安定版の主流は "5.x.x" 及び "4.1.x" です。

従ってWBEL3やCentOS3標準の "3.23.58" では利用できないCMSがかなり見られるようになってきています。

しかしながらその一方では、バージョンアップの遅いCMSの場合は未だに "4.1.x" 以降のバージョンが利用できないことも珍しくありません。

といことはWBEL3やCentOS3で比較的新しいCMSを利用したいとき、そのCMSがMySQLのバージョン4以降が必須であるような場合は、 MySQLの公式サイト などから新しいバージョンのMySQLをインストールする必要がありますし、現在WBEL4やCentOS4をお使いの場合で利用したいCMSが "3.23.58" にしか対応していない場合はOSのダウングレードを検討しなければならないかもしれません。

しかしどちらかといえばWBEL3やCentOS3は既に積極的な開発が終了している ディストリビューション ということもあって、不具合が見つかっても充分な対処ができないようになってきていることもあり、できれば新しいバージョンのMySQLに対応したCMSを利用していきたいところです。

CMSの利用には非常に多くのアプリケーションが絡んできますから、後から不具合を修正するのはとても大変です。

従って、利用したいCMSの種類が特に決まってなく、これから色々なCMSを試してみたい、というのであれば、ここは思い切ってWBEL3やCentOS3の利用をあきらめ、WBEL4やCentOS4を利用を検討すべきではないかと思います。

CentOS5の場合はMySQLとPHPにかなり新しいバージョンが採用されていますから、開発の遅いCMSの場合は逆の意味で不具合が出る可能性は否定できません。

しかし一般的にいえば、CMS側のバージョン要求よりもサーバー側のLAMPのバージョンが新しいほうが不整合は起こりにくいので、将来性を考えてCentOS5を利用するというのも悪くない選択かもしれません。

このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System