|
|
CMS/LAMPシステムの構築
|
CMS/LAMPシステムとはApacheとPHPの設定MySQLの導入と基本設定MySQLのコントロールHTTPSのためのルーター設定phpMyAdminのインストールデータベースの作成と削除XOOPS CubeのインストールWordPressのインストールMovableType3のインストールMovableType4のインストールMovableType5のインストールosCommerceのインストールデータベースのバックアップデータベースのリストア |
CMSの導入に最適なMySQLバージョンについて2008年3月現在、一般的に利用されている MySQL のバージョンは、 "3.23.x" 、 "4.0.x" 、 "4.1.x" 及び "5.0.x〜5.1.x" です。 最新の "6.0.x" はまだ対応する アプリケーション が少ないようです。 WBEL3 及び CentOS3 に標準で インストール される "3.23.58" は、既に開発が終了している安定バージョンで、利用したい CMS がこのバージョンに対応していればそのまま利用するのが簡単で確実です。 しかしながら、これから新しくリリースされる CMS が "3.23.58" を正式にサポートすることはあまり期待できないでしょうし、現在利用できるCMSでも将来のバージョンアップによっては利用できなくなる可能性も否定できません。 もちろんに独自に新しいバージョンのMySQLを入手してWBEL3やCentOS3にインストールすることは可能です。しかしこの場合、WBEL3やCentOS3に標準で提供される Perl との連携プログラムなどがうまく対応できないことがあり、きちんとした動作環境を整えるのは初心者にはかなり難しい作業になる可能性があります。 従って 構築中のLinuxサーバー をCMSを中心とした 公開サーバー 運営に利用したい場合には思い切ってWBEL3やCentOS3の利用に見切りを付け、WBEL4やCentOS4にバージョンアップするのが賢明かもしれません。 一方、WBEL4やCentOS4には標準で比較的新しい安定バージョンの "4.1.2x" がインストールされますから(正しくは4.1.10から yum でアップデートされた後のバージョンです)、特に悩む必要はありません。そのまま付属のMySQLを利用すればOKです。 ちなみにMySQLは "4.0.x" から "4.1.x" にバージョンアップしたときに、2 バイト 文字、つまり私たち日本人にとって重要な 日本語の処理に関して大幅な変更 が行われています。 バージョンの数字に惑わされそうになりますが、実用上のイメージとしては "4.0.x" は "3.23.58" に極めて近く、そこから大きく内容が変わった "4.1.x" は "5.0.x〜5.1.x" 寄りのステップアップバージョンということになるでしょうか。 その相違点の詳細については割愛しますが、現実問題としては "3.23.58" や "4.0.x" の環境を "4.1.x" 以降にバージョンアップするには、それなりの難しさとリスクを背負うことになると理解してください。 一方、 "4.1.x" から "5.0.x〜5.1.x" への環境移行は比較的難易度が低いと思われますし、ひとまず "4.1.x" で利用をスタートしておけば、将来的にOSのバージョンアップを行って "5.0.x〜5.1.x" を利用しなければならなくなったとしてもあまり困ることはないでしょう。 そういう意味では "4.1.2x" を標準とするWBEL4やCentOS4の選択は現時点ではベターといえるでしょう。 |
||||||||
|
|
従って既に "5.0.45" が標準でインストールされているCentOS5を利用しているのであれば、同じ理由から将来的な問題はあまり考慮する必要はなく、そのまま利用すれば良いということになります。 以上のような理由から、このパートでは、 WBEL3及びCentOS3の場合: 標準のバージョン "3.23.58" を yum を利用してインストールする方法と及び初期設定。 WBEL4及びCentOS4の場合: インストール済みの "4.1.2x" の初期設定。 CentOS5の場合: インストール済みの "5.0.45" の初期設定。 のそれぞれについて解説します。
|
||||||||
WBEL3及びCentOS3へのMySQL"3.23.58"のインストール
WBEL3
や
CentOS3
の
インストール
の際は
CMS
の動向を見越して適切なバージョンを導入するため、「パッケージグループの選択2
しかし本来最初からインストールされるべき "3.23.58" であれば、 yum を利用して簡単にインストールを行うことができます。
まず、
サブネット
内の適当な
クライアント機
から
SSHクライアント
で
構築中のLinuxサーバー
に
ログイン
します
それから su コマンド で アカウント を "root" に変更し、引き続き以下のようにコマンドを実行してMySQLをインストールしてください。 |
|||||||||
|
ここでインストールするパッケージは、MySQL関係で本来WBEL3及びCentOS3のインストール時に導入されるべきものです。通常は不要なものも含まれますが問題はありません。
ちなみに右は i386 アーキテクチャ でのインストール例です。 x86_64 をお使いの場合はパッケージ名のアーキテクチャ表記が "x86_64" になります。 |
これでインストール作業は終了しました。 |
||||||||
|
この修正をしなくても、一見きちんと動作します。ところがずっと以前に
コスチュームの通販のサイト
を作成しているwebクリエータから「高知県と香川県が登録できない」という問題を聞き、解決したのがこの方法というわけです。
まさか意図的なバグとは思えないので、他にも似たような事例はあるかもしれません。 |
次に、MySQLの初期設定ファイル
"/etc/my.cnf"
を
nanoエディタ
で開き
↓
デフォルトの"/etc/my.cnf"
↓
これはMySQLで デフォルト の 文字セット として "ujis" 、すなわち EUC を利用する、という明示的な指定を意味します。
修正が終わったら
"/etc/my.cnf"
を保存し、nanoエディタを閉じてください
さて、MySQLは他の多くの サーバー アプリケーション と異なり、WBEL3やCentOSの OS 本体の アカウント とは無関係に動作します。 |
||||||||
| "root" ユーザーにパスワードをかけないでおくと、理屈としては SSHクライアント などで 構築中のLinuxサーバー に ログイン しているユーザー全員が好き放題にMySQLを使用できることになります。 |
また、インストールしたばかりのMySQLには、予め準備されている管理アカウントである "root" に対してパスワードが設定されていません。 そこでMySQLを起動したら、以下の要領ですぐに "root" に対してパスワードを設定してください。 |
||||||||
|
ご利用の環境によっては、ホスト
"web1.obenri.com"
に対してパスワードが設定できない場合があります。
これは "web1.obenri.com" が "localhost" と同じ IPアドレス "127.0.0.1" に名前解決されている場合に起こる現象です。 これを回避するには、 "/etc/hosts" の記述を、 "web1.obenri.com" → "192.168.100.11" になるように修正してください。
|
デフォルトのMySQLでは、 "localhost" とという ループバックアドレス を指し示す対象ホストと、 FQDN である "web1.obenri.com" を指し示す対象 ホスト が設置されていますから、それぞれの "root" に対してパスワードを設定してください。二つのパスワードは同じでかまいません。
|
||||||||
|
|
デーモン の一覧から mysqld にチェックを入れて OK してください。
"mysqld"を"ntsysv"で自動起動登録する
これでMySQLは常時稼動するようになるわけですが、念のため一度
構築中のLinuxサーバー
を
reboot
コマンドで再起動し、次の「MySQLのコントロール
|
||||||||
WBEL4及びCentOS4のMySQL"4.1.2x"の設定WBEL4 や CentOS4 には既に標準でバージョン "4.1.2x" の MySQL がインストールされているはずです。 従って、最低限の初期設定を行えば、MySQLはすぐ利用することができます。 さて、MySQLは他の多くの サーバー アプリケーション と異なり、WBELやCentOS本体の アカウント とは無関係に動作します。 |
|||||||||
| "root" ユーザーにパスワードをかけないでおくと、理屈としては SSHクライアント などで 構築中のLinuxサーバー に ログイン しているユーザー全員が好き放題にMySQLを使用できることになります。 |
また、利用開始前のMySQLには、予め準備されている管理アカウントである "root" に対してパスワードが設定されていません。 そこでメッセージに従ってすぐにパスワードを設定したくなるところですが、実はその前にやるべきことがあります。 MySQL "4.1.x" 以降では、 文字セット の扱いがそれまでのバージョンと異なり、従来サーバー側だけで行っていた文字セットの管理をクライアントにも分散し、自動変換するように仕様変更されています。 実はこの点がしばしば古い仕様の CMS との相性を悪くしていて、トラブルの原因になることがありますから、ここでは文字セットを EUC に固定し、更に文字セットの変換をキャンセルする設定を追加しておきます。 また、パスワードの暗号化の強化のため、データベース上のパスワードの記録長が長くなったという変更もありますが、これは デフォルト で "old_passwords=1" と記述され、旧式の暗号化が有効になっていますから、これはそのままにします。 従って "root" のパスワードを設定する前には、必ず初期設定ファイルである "/etc/my.cnf" の設定を行い、その設定を反映させておかなければなりません。
MySQLの初期設定ファイル
"/etc/my.cnf"
を
nanoエディタ
で開き
↓
デフォルトの"/etc/my.cnf"(WBEL4,CentOS4)
↓
"default-character-set=ujis" は デフォルト の 文字セット として "ujis" 、すなわち EUC を利用する、という明示的な指定を意味します。 従って使用したいCMSが UTF-8 にしか対応していない場合には、ここを "default-character-set=utf8" にしなければならないことがありますから覚えておいてください。 また、 "skip-character-set-client-handshake" はクライアントから送られる文字セットの変換を抑制する設定です。CMSにもよりますが、この設定を行ったほうが比較的文字種がらみのトラブルは少なくなるようです。
修正が終わったら
"/etc/my.cnf"
を保存し、nanoエディタを閉じてください
次にMySQLを起動します。
MySQLが起動したら、まず "root" のパスワードを設定します。 |
||||||||
|
ご利用の環境によっては、ホスト
"web1.obenri.com"
に対してパスワードが設定できない場合があります。
これは "web1.obenri.com" が "localhost" と同じ IPアドレス "127.0.0.1" に名前解決されている場合に起こる現象です。 これを回避するには、 "/etc/hosts" の記述を、 "web1.obenri.com" → "192.168.100.11" になるように修正してください。
|
デフォルトのMySQLでは、 "localhost" とという ループバックアドレス を指し示す対象ホストと、 FQDN である "web1.obenri.com" を指し示す対象 ホスト が設置されていますから、それぞれの "root" に対してパスワードを設定してください。二つのパスワードは同じでかまいません。
最後に、 ntsysv コマンドでMySQLの デーモン である mysqld を自動起動登録します。 デーモン の一覧から mysqld にチェックを入れて OK してください。
"mysqld"を"ntsysv"で自動起動登録する
これでMySQLは常時稼動するようになるわけですが、念のため一度
構築中のLinuxサーバー
を
reboot
コマンドで再起動し、次の「MySQLのコントロール
|
||||||||
CentOS5のMySQL"5.0.77"の設定CentOS5 には既に標準でバージョン "5.0.77" の MySQL がインストールされているはずです。 従って、最低限の初期設定を行えば、MySQLはすぐ利用することができます。 さて、MySQLは他の多くの サーバー アプリケーション と異なり、CentOS本体の アカウント とは無関係に動作します。 |
|||||||||
| "root" ユーザーにパスワードをかけないでおくと、理屈としては SSHクライアント などで 構築中のLinuxサーバー に ログイン しているユーザー全員が好き放題にMySQLを使用できることになります。 |
また、利用開始前のMySQLには、予め準備されている管理アカウントである "root" に対してパスワードが設定されていません。 そこでメッセージに従ってすぐにパスワードを設定したくなるところですが、実はその前にやるべきことがあります。 MySQL "4.1.x" 以降では、 文字セット の扱いがそれまでのバージョンと異なり、従来サーバー側だけで行っていた文字セットの管理をクライアントにも分散し、自動変換するように仕様変更されています。 |
||||||||
|
|
実はこの点がしばしば古い仕様の CMS との相性を悪くしていて、トラブルの原因になることがありますから、ここでは文字セットを EUC に固定し、更に文字セットの変換をキャンセルする設定を追加しておきます。 また、パスワードの暗号化の強化のため、データベース上のパスワードの記録長が長くなったという変更もありますが、これは デフォルト で "old_passwords=1" と記述され、旧式の暗号化が有効になっていますから、これはそのままにします。 従って "root" のパスワードを設定する前には、必ず初期設定ファイルである "/etc/my.cnf" の設定を行い、その設定を反映させておかなければなりません。
MySQLの初期設定ファイル
"/etc/my.cnf"
を
nanoエディタ
で開き
↓
デフォルトの"/etc/my.cnf(CentOS5)"
↓
"default-character-set=ujis" は デフォルト の 文字セット として "ujis" 、すなわち EUC を利用する、という明示的な指定を意味します。 従って使用したいCMSが UTF-8 にしか対応していない場合には、ここを "default-character-set=utf8" にしなければならないことがありますから覚えておいてください。 また、 "skip-character-set-client-handshake" はクライアントから送られる文字セットの変換を抑制する設定です。CMSにもよりますが、この設定を行ったほうが比較的文字種がらみのトラブルは少なくなるようです。
修正が終わったら
"/etc/my.cnf"
を保存し、nanoエディタを閉じてください
次にMySQLを起動します。
MySQLが起動したら、まず "root" のパスワードを設定します。 |
||||||||
|
ご利用の環境によっては、ホスト
"web1.obenri.com"
に対してパスワードが設定できない場合があります。
これは "web1.obenri.com" が "localhost" と同じ IPアドレス "127.0.0.1" に名前解決されている場合に起こる現象です。 これを回避するには、 "/etc/hosts" の記述を、 "web1.obenri.com" → "192.168.100.11" になるように修正してください。
|
デフォルトのMySQLでは、 "localhost" とという ループバックアドレス を指し示す対象ホストと、 FQDN である "web1.obenri.com" を指し示す対象 ホスト が設置されていますから、それぞれの "root" に対してパスワードを設定してください。二つのパスワードは同じでかまいません。
最後に、 ntsysv コマンドでMySQLの デーモン である mysqld を自動起動登録します。 デーモン の一覧から mysqld にチェックを入れて OK してください。
"mysqld"を"ntsysv"で自動起動登録する
これでMySQLは常時稼動するようになるわけですが、念のため一度
構築中のLinuxサーバー
を
reboot
コマンドで再起動し、次の「MySQLのコントロール
|
|
|
ApacheとPHPの設定
<<Previous
|
Next>>
MySQLのコントロール
|
| このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |