−XOOPSでコミュニティーサイトを作る(準備編)−

いきさつ
あちらこちらで「かっこいい」WEBページを見かけることが多くなりました。私も参加型のWEBページを構築するってことは以前から興味のあったことです。訪問させていただくページで「XOOPSで簡単に」とか「10分で構築」とか甘い言葉に誘われて,自分もできるかな?ってことで挑戦してみました。でも・・・,まともに動き出すまでに,延べ10時間ぐらいは費やしてしまいました。まだ,中身は何もないサイトですが,とりあえず動き始めたようなので,忘れないうちにってことで,構築の手順を書き留めておきます。ちなみにこのページがXOOPSで構築したページです。
下準備前の混乱(読み飛ばし推奨)
実はここで一番苦労しました。XOOPSを動かす環境として,ApacheとPHPとMySQLが動くという事が条件になります。私の場合RedHatLinux7.3でサーバを構築していて,すでにApacheとPHPは初期インストールから使える状態でした。
最初の環境
RedHatLinux7.3
Apache1.3.23
php(バージョン忘れた)
という状態です。じゃまずMySQLをインストールしようってことで,3.23のrpmパッケージを
MySQL ABのホームページ
から入手し,インストールしました。問題なく動作しました。それじゃ早速XOOPSをってことで,XOOPS 1.0 RC3.0.5を
XOOPS日本公式サイト
から入手し,指示通りインストール作業を進めました。簡単簡単と思ったのはここまでです。XOOPS Installation 以降に白紙の画面になってしまうのです。あれこれ原因を探って,php-mysqlがインストールされてないことが発覚。早速RPMパッケージをと思い,インストール。依存関係を解決しながら無事終了。ところがやっぱり「白紙」になってしますのです。phpinfo()の出力を確認するとMySQLに関する記述はないんですよね。
「あれこれ考えるの面倒だ!」ってことで,結局MySQLもphpも削除して,ソースからコンパイルしてインストールしてみることにしました。はじめからこっちの方法でやればよかったと,今となっては思っています。
下準備1(MySQLのインストール)
MySQLのインストール前に「MySQLを実行するアカウント」をOSに登録します。
# groupadd mysql ←group「MySQL」の追加
# useradd -g mysql -s /noexists -d /usr/local/var mysql ←user「MySQL」の追加
続いてMySQLのソースパッケージを
MySQL ABのホームページ
から適当なディレクトリにダウンロードします。私はこの時点で最新バージョンの「MySQL-3.23.53.tar.gz」を入手しました。早速コンパイルとインストールです。
# tar -zxvf musql-3.23.53.tar.gz ←ソースの解凍
# cd mysql-3.23.53 ←解凍先ディレクトリに移動
※コンパイルとインストール
# ./configure --with-mysqld-user=mysql --with-charset=ujis
--with-extra-charsets=all --without-docs without-bench
(実際は改行しません。)
# make
# make install
今までインストールにはほとんどRPMパッケージを使っていたので,少々不安でしたが,何の問題もなくインストールできました。続いてデータベースの初期化を行います。この作業は,初めてMySQLをインストールした後に,一度だけ行います。また,RPMパッケージをインストールした場合は,この作業はインストール時に自動的に行われます。
# mysql_install_db --user=mysql ←データベースの初期化
続いてオーナーの確認も行っておきます。
# chown -R mysql /user/local/var
# chgrp -R mysql /user/local/var
これでMySQLは動く環境になりました。ただ,このままだとMySQLのスーパーユーザ「root」には何のパスワードも設定されていません。だれでもデータベースにアクセス可能な状態です。MySQLを起動させてパスワードを設定します。
# mysqld -u root mysql ←MySQLを起動
mysql> set password for root-password('***************'); ←適当なパスワードを指定
mysql> flush privileges;
mysql> quit
#
これで完了です。
私は,XOOPSサイトを立ち上げてみたくてMySQLを導入したので,データベースサーバとしての使い方はまったく分かりません。とりあえず,忘れると具合の悪いコマンドだけ,備忘ということで記載しておきます。
※MySQLの起動
# safe_mysqld user=mysql &

※MySQLの停止
# mysqladmin -uroot shutdown

※MySQLデータベースへのアクセス
# mysql -u root -p mysql
私は,もっと簡単にってことと,Webminを使う上で便利ってことで次のようにしています。/usr/local/mysql内のmysql.serverファイルを,/etc/init.dにmysqlという名前でコピーして起動・終了を行っています。
# cp mysql.server /etc/init.d/mysql
# chmod +x /etc/init.d/mysql

※MySQLの起動
# /etc/init.d/mysql start
※MySQLの停止
# /etc/init.d/mysql stop
下準備2(PHP4のインストール)
続いて,PHP4のインストールです。XOOPSを動かすためにはPHP4以上が推奨されているようです。とりあえず新しいものがいいと思って,
PHPのサイト(http://www.php.net/)
から最新版を取ってきました。PHP4.2.3が最新でした。インストールした後で気づいたのですが,XOOPS日本公式サイトに行ってみると,(PHP4.2.3では正常に動作しない場合があります。php.netよりパッチが出るまではPHP4.2.3へのアップグレードは控えることをお薦めします。)(以上引用)の記述が。まあ,いいかってことで,現在はこのバージョンで使っています。どうやら最新のパージョン「PHP 4.3.0RC2」がリリースされたようです。(2002.12.8加筆)
それではインストールです。
# tar -zxvf php-4.2.3.tar.gz ←ソースの解凍
# cd php-4.2.3 ←解凍先ディレクトリに移動
※コンパイルとインストール
# ./configure --with-apxs=/usr/sbin/apxs --enable-track-vars
--enable-mbstring --with-mysql --with-gd
(実際は改行しません。)
# make
# make install
これでインストールは終了です。ここで使ったconfigureのオプションは,
・--with-apxs=/usr/sbin/apex
ApacheのDSOコンパイル用の環境を設定するapexコマンドの有効化(よく分かりません)
・--enable-track-vars
PHPがクッキーを追えるようにするための設定
・--enable-mbstring
マルチバイト文字対応正規表現ライブラリを有効にする設定
・--with-mysql
MySQL関数を有効にする設定(mysqlをデフォルトパス以外に組み込んだ場合は,--with-mysql/pathというように指定が必要です。ただ,最近のPHPはデフォルトでMySQLには対応しているそうです。
・--with-gd
gdをサポートするオプションです。RedHatLinuxでは,パスを書かなくてもOKでした。(2002/12/15追記)
下準備3(PHP4の設定)
次にパッケージを展開したディレクトリにあるphp.ini-dist を/usr/local/lib/php.iniとしてコピーします。
# cp php.ini-dist /usr/local/lib/php.ini
このファイルを編集してPHPの設定を行いますが,その前に,/etc/httpd/conf/httpd.confにPHPの設定があるか確認します。RedHatLinux7.3のRPMでApacheをインストールしていれば初期状態であるはずです。記述は以下の通りです。
<IfDefine HAVE_PHP4>
LoadModule php4_module   modules/libphp4.so
</IfDefine>

<IfDefine HAVE_PHP4>
AddModule mod_php4.c
</IfDefine>

<IfModule mod_php4.c>
 AddType application/x-httpd-php .php4 .php3 .phtml .php
 AddType application/x-httpd-php-source .phps
</IfModule>
設定が確認できたら,Apacheを再起動します。
# service httpd restart
次にPHPの設定を行います。初期状態で何もしなくていいのですが,XOOPSをインストールし,動かすためにはphp.iniファイルの "register_globals=Off" 行を "register_globals=On" に変更する必要があります。セキュリティー上は望ましくないそうですが・・・・。
# vi /usr/local/lib/php.ini
でファイルを開き”register_globals=Off”を”register_globals=On”に変更します。これでPHPの準備は完了です。確認してみましょう。
<?php phpinfo(); ?>
とだけ記述したファイルをエディタで作り,test.phpとういファイル名を付けてドキュメントルートに保存します。ブラウザから,
「http://IPアドレスまたはドメイン/test.php」を開きます。PHPのバージョンや設定内容が表示されたページが開けばOKです。


このサイトに関するお問い合わせはlinux@kitahotaru.comまでお願いいたします。