テクノロジーによる教育支援への挑戦

テクノロジーによる学びの支援へのチャレンジについて書いていきます

Debian(sarge)とMoodle1.6のセットアップ

いろいろテストができたので、本番機にDebian(Sarge)を導入。

2度目なのでスムーズに完了。

sshでの接続を確認後、不要なサービスを起動しないようにする。

hoge:~# /etc/init.d/portmap stop
Stopping portmap daemon: portmap.
hoge:~# /etc/init.d/lpd stop
Stopping printer spooler: lpd .
hoge:~# /etc/init.d/canna stop
Stopping cannaserver...

# update-rc.d -f portmap remove
# update-rc.d -f canna remove
# update-rc.d -f lpd remove

などとする。その結果必要最低限のデーモンだけが動作している。イイ感じ。

その後、MySQL5.0.18をバイナリからインストール。パスワード設定。

my.cnfの作成、停止、再起動。

debian:/etc# /usr/local/mysql/bin/mysqladmin -uroot -p shutdown

debian:/usr/local/mysql/support-files/mysql.server

に起動スクリプトがあるので、これを/etc/init.d/以下にコピー。4.xだと/usr/local/mysql/share/mysql/以下にあった。

これで/etc/init.d/mysqlスクリプトで起動・停止が可能になる。

また、起動時に自動起動する設定をする。Debianの場合はupdate-rc.dスクリプトを使うとシンボリックリンクをまとめて作成してくれる。

# update-rc.d mysql defaults 99 01
Adding system startup for /etc/init.d/mysql ...
/etc/rc0.d/K01mysql -> ../init.d/mysql
/etc/rc1.d/K01mysql -> ../init.d/mysql
/etc/rc6.d/K01mysql -> ../init.d/mysql
/etc/rc2.d/S99mysql -> ../init.d/mysql
/etc/rc3.d/S99mysql -> ../init.d/mysql
/etc/rc4.d/S99mysql -> ../init.d/mysql
/etc/rc5.d/S99mysql -> ../init.d/mysql

apacheとphp5, phpmyadminをapt-get。そのままではphpmyadminが動かない。

$cfg['Servers'][$i]['socket'] = '/tmp/mysql.sock';
$cfg['Servers'][$i]['user']
$cfg['Servers'][$i]['password']

を設定してやることで無事に接続。

今度はphp.iniで

memory_limit = 8M >> 50M
post_max_size = 8M >> 100M
upload_max_filesize = 2M >> 100M
[mbstring]
mbstring.language = neutral
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none;
tring.func_overload = 0

さて、インストールスクリプトにアクセスするが、今度はMySQLに接続できないと言ってくる。ローカルのmysqlインタフェースでは確かに接続できているのだが。

とりあえず、PHPのconfigureオプションを見ると、

    • with-mysql-sock=/var/run/mysqld/mysqld.sock

なんてことになっているので、応急処置をする。php5/apache/php.ini以下を以下のように修正

mysql.default_socket = /tmp/mysql.sock

PHPの想定しているソケットファイルと、MySQLが生成するソケットファイルの在処が異なるのが問題。Appleのサイトではソケットファイルの場所を変更することを推奨していたかな。ま、PHPMySQL間でちゃんと対話ができれば問題ない。

いろいろあって無事にMoodle1.6の導入に成功した。


念のため、1.5.3(安定版)も入れてみて、比較してみることにする。