2005年7月16日土曜日

(QEMU)FreeBSDでXOOPSを動かしてみる

PukiWikiも、それはそれでいいんですが、XOOPSもなかなかすごいんです。
XOOPS(ずーぷす、と発音)を知らない人は、まずは以下にアクセス。





XOOPSを動かすには、Apache、PHP、MYSQLが必要です。



前回までのPukiWikiを動かす話にあるように、PHPをインストールしておく必要があります。



■参考





■ mysql-serverのインストール



PHP4をインストールしたとき、mysql-client-4.1.12がついでにインストールされていたので、あとはmysql-serverだけインストールすればOKです。serverとclientとで、バージョン番号をそろえなければならないので、インストールするのはmysql41-server(mysql-server-4.1.12)になります。



mysql-clientはportsでインストールされたので、mysql-serverも、portsでインストールしてみますか。

freebsd# cd /usr/ports/databases/mysql41-server
freebsd# make install clean

・・・むむむ、すげー時間がかかりました。数時間。
QEMUに割り当てるメモリが少ないのかも?
あとあとのために、qemu-freebsd.batを書き換えておきますかね。効果があるかわかりませんが。

START qemu.exe -L . -m 256 -hda freebsd.img
  -enable-audio -localtime
  -redir tcp:22::22
  -redir tcp:80::80


■ mysql-serverの実行



/etc/rc.confに以下の1行を追加します。

mysql_enable="YES"

mysqlのサーバを実行します。

freebsd# /usr/local/etc/rc.d/mysql-server.sh start
Starting mysql.


■ XOOPSで使用するデータベースの作成



XOOPSが使うデータベースを作成します。データベース名は、とりあえず「xoops2」とでもしておきます。



Apache2がmysqlにアクセスするときの、mysqlのユーザーを作成します。とりあえず、ユーザー名が「www」、パスワードが「yukikura」とします。

freebsd# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.12



Type 'help;' or '\h' for help. Type '\c' to clear the buffer.



mysql> CREATE DATABASE xoops2;
Query OK, 1 row affected (0.05 sec)



mysql> GRANT ALL PRIVILEGES ON xoops2.* TO www@localhost IDENTIFIED BY 'yukikura';
Query OK, 0 rows affected (0.09 sec)



mysql> QUIT
Bye


データベースxoops2にユーザーwwwでアクセスできることを確認します。

freebsd# mysql -u www -p xoops2
Enter password: (パスワードyukikuraを入力)
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5 to server version: 4.1.12



Type 'help;' or '\h' for help. Type '\c' to clear the buffer.



mysql> QUIT
Bye


■ XOOPSのインストール



XOOPSのWebサイトの
http://jp.xoops.org/xoops/download.php
のあたりから、ダウンロードします。



ファイルを展開します。

> su
Password:
freebsd# cd /usr/local/www
freebsd# tar zxf /home/dav/xoops-2.0.10.2-JP.tar.gz


XOOPSはけっこうスゴくて、よく使うことになるという意味をこめて「http://localhost/」からXOOPSにアクセスできるようにしてみます。PukiWikiは、今までどおり「http://localhost/wiki/」からアクセスできます。一応、wikiというディレクトリ名は、今のXOOPSのほうでは使っていないので、重複してしまうことはないですが、未来のことは知りません。そのときはそのときで考えますか。



XOOPSのファイルを展開して、その中にあるhtmlというディレクトリの中身を、DocumentRootである/usr/local/www/data/以下に置きます。



freebsd# pwd
/usr/local/www
freebsd# cd xoops-2.0.10.2-JP/
freebsd# ls
docs    extras  html
freebsd# chown -R www:www html
freebsd# mv html/* /usr/local/www/data/



ブラウザで、「http://localhost/」にアクセスすると、XOOPSのインストール画面が現れます。



xoops01



画面に表示される質問に答えながら、設定していきます。



xoops02



xoops03



  • データベースサーバのホスト名: localhost


  • データベースユーザ名: www


  • データベースパスワード: yukikura


  • データベース名: xoops2


xoops04



xoops05



xoops06



xoops07



xoops08



xoops09



xoops10



xoops11



  • 管理者ユーザ名: xoopsadmin


  • 管理者メールアドレス: postmaster@freebsd.qemu.local (とりあえず)


xoops12



xoops13



xoops14



これでインストール作業は完了。次は、管理者(xoopsadmin)でログインして、XOOPSのサイトの設定を行います。



xoops20



管理者としてログイン後、ユーザメニューの「管理者メニュー」をクリックします。







xoops21



xoops22



管理メニューをひらくと、なにやら注意されてしまいます。



xoops23



installディレクトリを削除し、mainfile.phpのパーミッションを変更します。



freebsd# cd /usr/local/www/data
freebsd# rm -r install
freebsd# chmod 440 mainfile.php
freebsd# ls -l mainfile.php
-r--r-----  1 www  www  4615 Jul 16 06:24 mainfile.php



mainfile.phpには、mysqlのデータベースにアクセスするときのパスワードが記述されているので、chmod 440で他人には見せないのがよいと思います。



インストールしたてのXOOPSでは、まだ何の機能も使えません。さまざまな「モジュール」をインストールすることで、機能を追加することができます。



システム管理(System Configuration)の「モジュール管理」をクリックします。



ためしに、「フォーラム(FORUM)」モジュールをインストールしてみます。フォーラムは、掲示板みたいな機能を提供するモジュールです。



インストールするには、フロッピーディスクみたいなアイコンをクリックします。



xoops24



xoops25



xoops26



モジュールをインストールしたら、モジュールの設定を行います。
フォーラムのアイコンをクリックします。



xoops27



メニューが設定されるので、それぞれを設定します。わかりやすいので、一通りの設定項目を眺めていれば、どうすればいいか、わかるでしょう。



xoops28



フォーラムの場合、まずは「カテゴリの追加」を行います。



xoops29



次は、「フォーラムの追加」を行います。



xoops30



これで、とりあえずはフォーラムへの投稿ができるようになります。



そのほかXOOPSの設定は、以下のあたりをよく使います。

管理メニュー
  モジュール管理
  ブロック管理
  一般設定
  グループ管理

  • ブロック管理は、画面の見え方を設定するものです。


  • グループ管理では、ログインした人だけ見える項目、ログインしなくても見える項目などの設定ができます。


■フォーラムに投稿してみる



右上の「ホームページ」をクリックして管理メニューを抜けたあと、「メインメニュー」の「フォーラム」をクリックします。



xoops31



先ほど作ったフォーラムを選び、右上の「新規スレッド」をクリックし、文章を書き込みます。いろいろと文字の装飾が使えますので、試してみてください。たぶん、見た目でだいたいわかるでしょう。



xoops32



書き終わったら「送信」ボタンをクリックします。



xoops33



■ ユーザー登録



XOOPSは、ユーザー登録してから、ログインして使います。一応、XOOPS管理者が設定さえすれば、ユーザー登録もログインもせずに、ゲストのままで使えるようにもできます。



ユーザー登録は、トップページの「新規登録」から行います。ユーザー登録を行った人あてに、登録確認のメールが送られ、確認用リンクをクリックすると、ユーザー登録が完了する、という仕組みです。



・・・で、気が付いたのですが、QEMUの中のFreeBSDでは、まだ設定も何もしていないので、QEMUの外の世界へ、メールを送ることができません。sshのポートフォワーディングで、外の世界のメールサーバをFreeBSDに見せてやれば、なんとかいけるんじゃないかと思いますが。



とりあえずは、XOOPSの管理者の権限で、ユーザー登録してしまうのがいいんじゃないでしょうか?


■ すみません間違えました・・・ホスト名を変更する



XOOPSで、ホスト名を「localhost」と設定してしまいましたが、これだと、LANで接続されたほかのパソコンから、うまくアクセスできなくなってしまいます。



/usr/local/www/data/mainfile.phpのXOOPS_URLを、localhostから、QEMUを実行するパソコンのホスト名もしくはIPアドレスへ、変更してください。

// XOOPS Virtual Path (URL)
// Virtual path to your main XOOPS directory WITHOUT trailing slash
// Example: define('XOOPS_URL', 'http://localhost');
//define('XOOPS_URL', 'http://localhost');
define('XOOPS_URL', 'http://192.168.0.27');

これを変更しても、バナー(ページの上に表示される広告)の設定は変わらずにlocalhostのままなので、正しくバナーが表示されません。



これは、管理メニューの「バナー管理」で設定変更できます。



てゆーか、QEMU内のFreeBSDで動かしていたXOOPSサイトを、一式、別のマシンへ引越しするときも、以上のようなホスト名変更作業が必要となりますね、とか言ってみる。









1 件のコメント:

  1. pochiは、ここへ設定したいです。
    もしくはここでモジュールは設定するはずだった。

    返信削除