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 をソースからコンパイルしてインストール

インストール手順

  1. 前提
    10.4 インストール時に X11 もインストールしてあること(多分必要)
    10.4 の Developer Tools が X11 つきでインストールしてあること(必要)
  2. 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
  3. 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 リファレンスマニュアル)
  4. 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 HOWTOMatias Giovannini Textos
    ちっぷす:Mac OS X で gnuplot, png, gd libraryTOMINAGA Daisuke
  5. Moodle のインストール
    以下のページから Moodle 1.5.2 + をダウンロード,展開し, /Library/WebServer/Documents の下にコピー
    Moodle: Download
    ページの所有者を www にする
    sudo chown -R www /Library/WebServer/Documents/moodle
  6. Moodle の初期設定
    Safari 等で http://localhost/moodle を開くと初期設定が始まる
    上で作成した MySQL のユーザ moodle 等の設定をする
    moodle が作成するドキュメントのディレクトリ(所有者は www として手動で作成しておく)は apache 経由でアクセスできない場所( /Library/WebServer/Documents の外)に作成する方がよい