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以下を以下のように修正
PHPの想定しているソケットファイルと、MySQLが生成するソケットファイルの在処が異なるのが問題。Appleのサイトではソケットファイルの場所を変更することを推奨していたかな。ま、PHPとMySQL間でちゃんと対話ができれば問題ない。
いろいろあって無事にMoodle1.6の導入に成功した。
念のため、1.5.3(安定版)も入れてみて、比較してみることにする。