Moodle を Mac OS X 10.4 (クライアント版)で動かす
Web アプリは多様なモジュールが複合的に動くことが多いので,セキュリティ確保の手間が格段に増えます。てなわけで,あまり手を出さないでいたのですが, Moodle が結構使えそうだったので,つい手を出してしまいました。特にインターネットに公開するサーバでは,以下のモジュールをインストールすると,今後,セキュリティ確保のために各モジュールのセキュリティ情報をチェックして運用することが必要になります。念のため。
今回のインストール構成
- Moodle (http://moodle.org/)
- Latest Stable Branch の Moodle 1.5.2+ をソースからコンパイルしてインストール
- MySQL (http://www.mysql.com/)
- MySQL 4.1.13 の Mac OS X 10.3 用パッケージを入手してインストール
- PHP (http://www.php.net/)
- Mac OS X に組み込まれている PHP は GD ライブラリを使うようにコンパイルされていないので, Entropy-PHP 4.3.11 の Mac OS X 用パッケージを入手してインストール
- GD ライブラリ (http://www.boutell.com/gd/)
- gd 2.0.33 をソースからコンパイルしてインストール( Moodle で画像関係を扱いたい場合は Entropy-PHP とともに必要)
- GD ライブラリに必要な zlib, libpng, libjpeg, freetype をソースからコンパイルしてインストール
インストール手順
- 前提
- 10.4 インストール時に X11 もインストールしてあること(多分必要)
- 10.4 の Developer Tools が X11 つきでインストールしてあること(必要)
- PHP のインストール
- Moodle で画像関係を扱わなければ Mac OS X 付属の php モジュールが使える
- この場合は, /etc/httpd/httpd.conf ファイルの以下の行のコメント (#) を外して apache を再起動すればよい
#LoadModule php4_module libexec/httpd/libphp4.so
#AddModule mod_php4.c
- Moodle で画像を扱う場合は以下のページから Entropy PHP 4.3.11 for Apache 1.3 のパッケージをダウンロードしインストール
- Marc Liyanage - Software - Mac OS X Packages - PHP
- Entropy PHP は /usr/local/php/ 以下にインストールされる
- /etc/httpd/httpd.conf が書き換えられ, Entropy PHP を利用できる状態になる
- PHP 関連の設定ファイルは, /usr/local/php/httpd.conf.php
- PHP の動作確認
- test.php というファイル名で以下の内容のファイルを /Library/WebServer/Documents/ 下におき, http://localhost/test.php を Safari 等で表示し, PHP 情報が表示されれば OK(確認できたら消しておく方がよい)
<HTML>
<HEAD>
<TITLE>PHP TEST</TITLE>
</HEAD>
<BODY>
<?php phpinfo(); ?>
</BODY>
</HTML>
- 参考ページ
- Mac OS X にPHPとMySQLをインストール(MacFeeling)
- Marc Liyanage - Software - Mac OS X Packages - PHP
- MySQL のインストール
- 以下のページから MySQL の Installer package (Mac OS X v10.3) Standard 4.1.13 をダウンロードし,ディスクイメージ中の mysql-standard-4.1.13-apple-darwin7.9.0-powerpc.pkg をインストール
- MySQL 4.1 Downloads
- MySQL の本体は, /usr/local/mysql-standard-4.1.13-apple-darwin7.9.0-powerpc 以下にインストールされる( /usr/local/mysql はそのシンボリックリンク)
- MySQL の初期設定とテスト
sudo chown -R mysql /usr/local/mysql/data として,データ用のディレクトリ所有者を mysql にする。
sudo /usr/local/mysql/bin/safe_mysqld --user=mysql --old-passwords & として, mysql を起動する(セキュリティ的には望ましくないが,まだ 4.1 系の認証機構をサポートしていない phpMyAdmin のようなクライアントも使いたいので --old-passwords を追加している)
/usr/local/mysql/bin/mysql test として, mysql のプロンプトが出れば動作 OK(quit で終了)
- MySQL 管理者パスワードの設定
/usr/local/bin/mysqladmin -u root password '管理者のパスワード' として, mysql 用の管理者パスワードを設定(要シングルクォート)
- 起動用スクリプトのインストール
- ディスクイメージの MySQLStartupItem.pkg をインストール
- 起動用スクリプトは, /Library/StartupItems/MySQLCOM にインストールされる(/Library/StartupItems/MySQLCOM/MySQLCOM はラッパで,実際の起動スクリプトは /usr/local/mysql/support-files/mysql.server)
- 起動時に MySQL が起動するように /etc/hostconfig に
MYSQLCOM=-YES- が追加される
- 起動用スクリプトの修正(認証機構に 4.1 系のものを使う場合は必要なし)
- /usr/local/mysql/support-files/mysql.server をテキストエディタで開き,
$bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file
のあとに --old-passwords を追加
- Mac OS X を再起動して,自動的に MySQL が起動するかを確認する
- 起動後,ターミナルで
ps -ax | fgrep mysql 等として, mysqld が動いているか確認する
- MySQL が動かない場合
- /usr/local/mysql/data/ホスト名.err というファイルに,エラーメッセージが保存されているので,対策をとる
- Moodle 用のデータベースとユーザ作成
/usr/local/mysql/bin/mysql -u root -p として, mysql 操作モードに入る。
- パスワードを入力して,プロンプトが出たら,以下のコマンドでデータベースを作成する
CREATE DATABASE moodle;
- 次に,以下のコマンドで moodle ユーザを作成する
GRANT SELECT , INSERT , UPDATE , DELETE , CREATE , DROP , FILE , INDEX , ALTER , CREATE TEMPORARY TABLES ON * . * TO 'moodle'@'localhost' IDENTIFIED BY 'moodleのパスワード' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ;
quit; で,操作モードを終了
- 参考ページ
- Mac OS XにPHP, MySQL, phpMyAdminをインストールしてデータベース環境構築(MacFeeling)
- Mac OS X にPHPとMySQLをインストール(MacFeeling)
- MySQL リファレンスマニュアル :: A.2.4 Client does not support authentication protocol エラー (MySQL リファレンスマニュアル)
- GD ライブラリのインストール( Moodile で画像を扱わなければ - ユーザのプロファイルに顔写真をアップロードする機能などで使われる - この項は必要ない)
GD はグラフィックス関連のいくつかライブラリを必要とするので個別にインストールする
- zlib の make (make だけしてインストールはしない)
- zlib Home Site から zlib-1.2.3.tar.gz をダウンロードして展開
./configure して make
- libpng の make とインストール
- libpng Home Page から libpng-1.2.8.tar.bz2 をダウンロードして展開
cp scripts/makefile.darwin Makefile
- Makefile 中の変数 ZLIBLIB, ZLIBINC は
ZLIBLIB=../zlib
ZLIBINC=../zlib
make してから, sudo make install
- libjpeg の make とインストール
- ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz をダウンロードして展開
ln -s /usr/bin/glibtool libtool
./configure
make してから, sudo make install
- freetype2 の make とインストール
- FreeType Downloads から freetype-2.1.10.tar.bz2 をダウンロードして展開
./configure
make してから, sudo make install
- GD の make とインストール
- GD Graphics Library から gd-2.0.33.tar.gz をダウンロードして展開
ln -s /usr/bin/glibtool libtool
sudo ln -s /usr/X11R6/include/fontconfig /usr/local/include
./configure して
** Configuration summary for gd 2.0.33:
Support for PNG library: yes
Support for JPEG library: yes
Support for Freetype 2.x library: yes
Support for Fontconfig library: yes
Support for Xpm library: yes
Support for pthreads: yes
となれば OK
make してから, sudo make install
- 参考ページ
- Compiling GD on Mac OS X HOWTO(Matias Giovannini Textos)
- ちっぷす:Mac OS X で gnuplot, png, gd library(TOMINAGA Daisuke)
- Moodle のインストール
- 以下のページから Moodle 1.5.2 + をダウンロード,展開し, /Library/WebServer/Documents の下にコピー
- Moodle: Download
- ページの所有者を www にする
sudo chown -R www /Library/WebServer/Documents/moodle
- Moodle の初期設定
-
Safari 等で http://localhost/moodle を開くと初期設定が始まる
- 上で作成した MySQL のユーザ moodle 等の設定をする
- moodle が作成するドキュメントのディレクトリ(所有者は www として手動で作成しておく)は apache 経由でアクセスできない場所( /Library/WebServer/Documents の外)に作成する方がよい