廃止:Mac OS X Serverへのステップバイステップインストール

警告:このページはもう使用されていません。ページに含まれている情報は、関連性や信頼性があると見なされるべきではありません。


概要

このガイドでは、 Mac OS X ServerにMoodleをインストールするためのすべての手順を説明します 。このサーバーは商用製品です。 Webサーバーに関するすべての文書はAppleのサポートページにあります。

このインストールガイドは、MAMPやXAMPPへのインストールには役に立ちません。あなたのローカルマシンにMoodleをインストールする簡単な方法を探しているなら、 https://download.moodle.org/macosx/からダウンロードできるMac OS X 10.4 / 10.5 / 10.6クライアント用の完全インストールパッケージを使ってください。しかし、あなたがMac上にMoodleインターネットサーバをセットアップすることを計画しているならば、あなたは今までのローカルパッケージが与えることができるので、あなたはもう少しセキュリティについて考えるべきです。

この記事のディスカッションページにあなたのアイデアや要望を追加してください。あなたがあなた自身のMac Serverで事実を自分で試したならば、あなたは完全な章を書くこともできます。私は物事をより良くすることに最も興味があります。

システム要求

+ Apple Computer 
+ Mac mini, Mac Pro or Xserve
+ Processor:  Intel Core 2 Duo, Intel Core i3/i5/i7
+ RAM: 2 GB or better
+ Hard Disk: 500 MB free
+ System Software: Mac OS X Server 10.5 or 10.6

あなたのMoodleインストール用にPHPを設定する

Mac OS X 10.6 Server - PHPのインストールは不要

Mac OS X 10.6.5サーバ(SnowLeopard)には、PHP 5.3.3と多くのPHP拡張機能が付属しています。これは、Moodle 1.9.xおよびMac OS X Server上のMoodle 2.0に最適です。行方不明のGDライブラリについて読んだことをすべて忘れてください。 PHPのインストールはMoodleに対して完全に完了しています。 PHPモジュールをオンにして、 / etc / php.iniファイルがMoodleの正しい値を設定するかどうかを制御するだけで済みます。

Server-admin-106.png

Mac OS X 10.5 Server - PHP 5.3.0とGDライブラリのインストール

Mac OS X 10.5.8サーバ(Leopard)にはPHP 5.2.6が付属しています...これはMoodle 1.9.xには当てはまります。しかし、あなたはあなたのサーバ上でMoodleを動かすために欠けているGDライブラリサポートを追加しなければなりません。 Moodle 2.0では、サーバはPHP 5.2.8(またはそれ以上)といくつかのPHPエクステンションを持っている必要があります。この場合、より良いPHPバージョンを入手する必要があります。これらの指示は両方の場合に役立ちます。

サーバーにインストールされているPHPのバージョンと拡張機能を確認するには、ファイル/Library/WebServer/Documents/info.phpを編集する必要があります。関数行の先頭にある//を両方とも削除することで、関数呼び出しphpinfo()を有効にする必要があります。ファイルを保存した後、あなたはあなたのブラウザですべてのPHP情報を得ることができます。 http://your-server-address/info.phpをご覧ください。GDライブラリのサポートは見つかりません... Moodleには悪いことです。

<?php
// You can use Server Admin to enable the Apache PHP module; it's disabled by default.
// You can uncomment the phpinfo() directive below to provide a default PHP info page
// but note that this displays information about your host's configuration.
phpinfo();
?>


GDライブラリをサポートし、より良いバージョンのPHPを入手する最も簡単な方法は、 http: //www.entropy.ch/software/macosx/php/から完全なPHP 5.3.0パッケージをインストールすることです。 Marc Liyanageは、このパッケージをMacクライアントおよびMacサーバーで使用するためにプリコンパイルしました。パッケージを入手して、ダウンロードページの指示に従ってインストールしてください。インストーラはあなたのためにすべてをします...それは正しいフォルダ/ usr / local / php5に PHPをコピーして、そして自動的にその所有者をrootに変更します。新しいパッケージフォルダの中にphp.iniファイルがあります。 /usr/local/php5/lib/php.iniファイル開き、Moodleの設定をいくつか編集してください。

注意:サーバにMoodle 1.8.xをインストールしたい場合は、代わりにEntropy PHP-5.2.9-7.pkgを入手する必要があります。 Moodle 1.8.xはPHP 5.3.0では動作しません。 ( MDL-20128

これで、Apache Webサーバーは、古いPHPライブラリの代わりに新しいPHPライブラリを使用したいという知識を得る必要があります。アプリケーション「サーバ管理」を開き、新しいライブラリに切り替えます。 Webサーバーの設定に行き、エントリphp5_moduleを見つけます。 MacサーバーのPHPの通常の場所はlibexec / apache2 / libphp5.soです。 /usr/local/php5/libphp5.soに変更して設定を保存してください。

Server-admin.png

php.iniのPHP設定

次に、ファイルphp.iniを設定します。ほとんどの設定は問題ありませんが、すべてではありません。 PHPを使用してMySQLデータベースと通信するには、ローカルMySQL接続用のデフォルトのソケット名を設定する必要があります。ローカルMySQLi接続用のデフォルトソケット名はMoodle 2.0に必要です。

あなたのMoodleにファイルをアップロードしたい場合は、php.iniにもう少しアップロードサイズを追加する必要があります。サーバーが1 GBを超えるRAMを使用できない場合は、memory_limitを128 M未満の値に設定する必要があります。ただし、Moodle 1.9およびMoodle 2.0では、48 Mを超える値を設定する必要があります。これらのセクションはphp.iniファイルで連続しているとは考えられません。それぞれを見つける最も早い方法は、最初の用語で検索することです( 'mysql.default_socket'など)。

; Default socket name for local MySQL connects.  
; If empty, uses the built-in MySQL defaults.
mysql.default_socket = /var/mysql/mysql.sock

; Default socket name for local MySQL connects.  
; If empty, uses the built-in MySQL defaults.
mysqli.default_socket = /var/mysql/mysql.sock

; Maximum amount of memory a script may consume (128MB)
memory_limit = 128M     

; Maximum allowed size for uploaded files.
upload_max_filesize = 128M

; Maximum size of POST data that PHP will accept.
post_max_size = 128M

; Defines the default timezone used by the date functions
; https://php.net/date.timezone
date.timezone = 'Europe/Berlin';

これですべてです...ファイルphp.iniを保存してWebサーバーを再起動します。今度はもう一度http://your-server-address/info.phpを見てください。私はすべてが大丈夫になることを願っています。あなたは、バージョン番号PHP 5.3.xと実行中のGDライブラリサポートを見つけるでしょう。おめでとうございます...あなたのMacサーバー上のMoodleの最初のステップは完了です。

phpinfo.png


phpinfo2.png

intlエクステンションのインストールと設定

; Instructions here for downloading and installing the intl.so extension are helpful.
; From Stack Overflow: https://stackoverflow.com/questions/5469412/install-activate-php-intl-extension-running-mamp
; Then add your correct path into this argument.

[intl]

intl.default_locale = (your path)

このディレクティブを使用すると、intl関数内でエラーが発生したときにPHPエラーを発生させることができます。値は、発生したエラーのレベルです。デフォルトは0で、エラーは発生しません。 intl.error_level = E_WARNING

これですべてです...ファイルphp.iniを保存してWebサーバーを再起動します。今度はもう一度http://your-server-address/info.phpを見てください。私はすべてが大丈夫になることを願っています。あなたは、バージョン番号PHP 5.3.xと実行中のGDライブラリサポートを見つけるでしょう。おめでとうございます...あなたのMacサーバー上のMoodleの最初のステップは完了です。

phpinfo.png


phpinfo2.png


あなたのMoodleインストール用にMySQLデータベースを設定します

通常、MySQLデータベースはMac OS X Serverにインストールされていますが、まだ実行されていません。必ずMySQLデータベースサーバーを起動してください。

グラフィカルな方法を使う

申し訳ありませんが、MySQLをグラフィカルに設定するためのインストールとクリック数が増えています。

まず最初にServer Adminを起動します 。このプログラムは、「 アプリケーション」>「サーバー」>「サーバー管理」の順に検索されます 。ローカルサーバーでMySQLを起動します。 MySQLを起動する前に、 rootユーザのパスワードを設定する必要があります。

次回はMySQLデータベース管理ツールphpMyAdminhttps://www.phpmyadmin.netからダウンロードする必要があります 。フォルダを/ Library / WebServer / Documents / phpMyAdminとしてWebサーバーのドキュメントに移動します。

$ cfg ['blowfish_secret'] = ;という行の一重引用符の間にあるファイルconfig.inc.phpにセキュリティフレーズを追加します。 / *あなたはこれをCOOKIE AUTHに記入しなければならない! * /

これで、ブラウザでhttp:// your-server-address / phpMyAdmin /を起動し、ユーザーrootとしてデータベースにログインできるようになります。データベースmoodle19を追加します。データベースユーザーmoodleをサーバーlocalhostに追加します。安全なパスワードを設定することを忘れないでください。データベースユーザmoodleはデータベースmoodle19のみを管理することを許可されるべきです。データベースmoodle19を管理するためにrootを設定するのは悪い方法です 。 Moodle 2.0 devもインストールしたい場合は、2番目のデータベースmoodle20を追加して、同じデータベースユーザを使用してください。

phpMyAdminは、Moodleがしばらく実行されている間にデータベースを調べるのに良いことです。コマンドラインツールよりもグラフィカルインターフェイスの方がはるかに見やすいです。画像はMoodle 1.9とMoodle 2.0がすでにこのサーバにインストールされた後のデータベースを示しています。

phpmyadmin.png

ターミナルを使う

すばやくインストールしたいのなら、ターミナルを使うのを恐れないでください。グラフィカルツールで同じことをするためにすべての写真を表示するよりも、ターミナルで正しい方法ですべてのコマンドを指示する方が簡単です。私が以前に言ったことすべてを実行するためのコマンドはいくつかあります。

ターミナルを起動します。あなたは方法アプリケーション>ツール>ターミナルによってこのプログラムを見つけるでしょう。あなたは私たちが以前と同じステップをしなければならないのを見るでしょう、しかしあなたはそれらをテキスト形式で読むことができます。

まず最初にrootパスワードを設定する必要があります。あなたが以前にこれをしなかったならば、それから最初のコマンドラインを使用してください。既存のパスワードを変更したい場合は、2番目のパスワードを使用してください。

Server:~ $ mysqladmin -u root password 'secret'
Server:~ $ mysqladmin -u root -p password 'topsecret'

次のステップは、正しい文字セットで新しいデータベースmoodle19を作成し、データベースユーザのMoodleを設定し、(によって識別される)割り当てられたパスワードを使用して、新しいデータベースを管理するために...、あなたがしたい場合は、その後、moodle20ために同じことをしています。

Server:~ $ mysqladmin -u root -p create moodle19
Server:~ $ mysql -u root -p

mysql> ALTER DATABASE moodle19 CHARSET 'utf8';
mysql> GRANT ALL PRIVILEGES ON moodle19.* TO moodle@localhost
   -> IDENTIFIED BY 'moodle!';
mysql> quit

Server:~ $

これでターミナルは本当にすべてです。あなたは準備ができています!

Moodle 2.0でInnoDBを使用する

Moodle 2.0では、MySQLデータベースにInnoDBのサポートを設定する必要があります。

/etc/my.cnfファイルを開き、innodbで始まるすべての行の#ごとに削除します。これはInnoDB設定のコメントを外します。ファイルを保存してMySQLデータベースを再起動してください。

# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /var/mysql/
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
innodb_log_group_home_dir = /var/mysql/
innodb_log_arch_dir = /var/mysql/ 
# You can set .._buffer_pool_size up to 50 - 80 % 
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 384M
innodb_additional_mem_pool_size = 20M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 100M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

Moodleファイルをウェブサーバーにコピーする

Webサーバー用の文書は、 / Library / WebServer / Documents /フォルダーに保存されています。あなたがhttps://download.moodle.orgからそれを得た後、あなたはあなたのMoodleフォルダをここに置くでしょう。これは新しいサーバに最適なので、標準パッケージMOODLE_19_WEEKLYをダウンロードしてください。 moodleフォルダの所有者_wwwを設定します...これはウェブサーバのユーザです。フォルダのアクセス許可は、インストール前は755、インストール後は555になっているはずです。あとで設定してください。

Documentsフォルダの外にmoodledataフォルダも必要です。 / Library / WebServer /フォルダに移動してmoodledataフォルダを追加します。私は同じMacサーバーにMoodle 1.9.xとMoodle 2.0 devを一緒にインストールしたいので、moodleataフォルダ内にmoodle19moodle20の 2つのフォルダを追加します。フォルダmoodle19moodle20の両方の所有者_wwwを設定し、フォルダのアクセス権を755に設定してください。

cd /Library/WebServer/
mkdir moodledata
mkdir moodledata/moodle19
mkdir moodledata/moodle20
sudo chown -R _www moodledata
sudo chmod -R 755 moodledata

moodledataフォルダを別のボリュームに保存したい場合(moodle内にかなりの量のデータがあると思うのであれば悪い考えではありません)、/ Volumes / <volume_name>を使用してそれを参照することはできません。 Moodleセットアップ中の/ folderシンタックス。代わりに、フォルダを作成し(ユーザーと権限を課題)、次に/ Library / WebServerフォルダ内にそのフォルダへのリンクを作成する必要があります。リンクを作成するには、ターミナルウィンドウで次のコマンドを使用して、データボリュームとフォルダ名を置き換えます。

cd /Library/WebServer
ln -s /Volumes/Data_Volume/moodledata moodledata

Moodleのインストールを実行する

Macサーバーへのインストールは、他のすべてのサーバーへのインストールと同じです。 Webブラウザを開いてhttp://your-server-address/moodle/install.phpに進み 、インストールプロセスを開始します。画面の画像と表示されているconfig.phpには、Webアドレスyour-server-addressが表示されています 。これは実際のアドレスまたはURLのプレースホルダーに過ぎません。また、パスワードが 'moodle'のユーザ 'moodle'はあなたのインストール環境にとって非常に危険な設定になります。


moodle-install1.png


moodle-install2.png


インストーラはconfig.phpを自動的に生成し、それを/ Library / WebServer / Documents / moodle19フォルダに保存します。テキストエディタでconfig.phpを編集し、 date_default_timezone_set( 'UTC')という行を追加してくださいUTCをあなた自身のタイムゾーンに変更することができます...これはPHP 5.3.0に必要です。あなたが心からすべての関連するタイムゾーン識別子を知らないならば、 オンラインで利用可能なリストがあります

<?php  /// Moodle Configuration File 

unset($CFG);

$CFG->dbtype    = 'mysql';
$CFG->dbhost    = 'localhost';
$CFG->dbname    = 'moodle19';
$CFG->dbuser    = 'moodle'; 
$CFG->dbpass    = 'moodle'; 
$CFG->dbpersist =  false;
$CFG->prefix    = 'mdl_';

$CFG->wwwroot   = ' https://your-server-address/moodle19' ;
$CFG->dirroot   = '/Library/WebServer/Documents/moodle19';
$CFG->dataroot  = '/Library/WebServer/moodledata/moodle19';
$CFG->admin     = 'admin';

$CFG->directorypermissions = 00777;  // try 02777 on a server in Safe Mode

date_default_timezone_set('Europe/Berlin'); // timezone for PHP 5.3.0
require_once("$CFG->dirroot/lib/setup.php");
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES,
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE.
?>

この後、Webベースのインストールコンポーネントは、 いくつかの画面に相当するデータベースの設定と更新を案内します。ほとんどの場合、続行ボタンをクリックするだけです。管理者ユーザーを設定し、サイトに基本設定(タイトル、説明など)を設定します。インストールの準備が整ったら、 / Library / WebServer / Documents / moodle19のフォルダ許可を555に変更して、ウェブサーバがこのフォルダに再度書き込むことができないようにしてください。

言語パッケージをダウンロードする

Moodleが起動しています...

moodle-on-macosx-server.png

launchdを使用してcronジョブを設定する方法

5分ごとにcron・ジョブを開始することが本当に重要です。 cronジョブは、定期的にタスクを実行するためにMoodleのモジュールのほとんどを支援します。たとえば、ディスカッションフォーラムは、cronジョブがMoodleにこれを実行するように指示した場合にのみ、新しい投稿のコピーをすべての購読者に送信することができます。

Mac OS Xでは、このサービス用のシステムデーモンlaunchdが見つかります。このデーモンは、すべてのユーザーおよびシステムによって自動的に起動されるすべてのプログラムに対して標準化されたインターフェースを提供します。設定とすべてのパラメータの詳細については、 http://developer.apple.com/macosx/launchd.htmlを参照してください。

私たちの場合、サービスは5分ごとにウェブページhttp://あなたのサーバアドレス/moodle19 / admin / cron.phpを取得するべきです。設定はmoodle4mac.cron.plistという名前のファイルによって行われます。このファイルはシステムフォルダ/ Library / LaunchDaemons /に配置する必要があります。他のファイル名を使用することもできますが、サービスの機能については説明が必要です。拡張子は.plistにする必要があります。 Macサーバーを再起動すると、ファイルが正しいシステムフォルダに配置されるため、cronサービスが自動的に開始されます。

グラフィカルな方法を使う

Lingonを使用して、新しいデーモンplistを追加したり編集したりできます。テキストエディタで書くことができるのと同じテキストを生成します。 https://sourceforge.net/projects/lingon/files/

macosx-lingon.png

テキストエディタを使う

テキストエディタを使って必要なファイルを書いてください。ターミナルを開いてシステムエディタviまたはpicoを使用することができます。しかし、あなたはまた、任意のGUIテキストエディタでテキストファイルを書くことができます...私はほとんどTextWranglerを使います...しかし、Microsoft WordやOpenOffice Writerのようなフォーマットされたテキストのためのエディタを取りません。あなたは純粋なテキストを手に入れなければなりません!

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" 
     " https://www.apple.com/DTDs/PropertyList-1.0.dtd ">
<plist version="1.0">
<dict>
<key>KeepAlive</key><false/>
<key>Label</key><string>moodle4mac.cron</string>
<key>ProgramArguments</key>
<array>
     <string>curl</string>
     <string>-s</string>
     <string> https://your-server-address/moodle19/admin/cron.php </string>
</array>
<key>RunAtLoad</key><true />
<key>StartInterval</key><integer>300</integer>
<key>StandardErrorPath</key><string>/dev/null</string>
<key>StandardOutPath</key><string>/dev/null</string>
</dict>
</plist>

ラベル文字列はファイル名と同じである必要がありますが、拡張子.plistは付きません。テキストファイル/Library/LaunchDaemons/moodle4mac.cron.plistを保存します。ファイルの所有者はシステムユーザーrootに設定する必要があります。これですべてです、本当に!

cronサービスを開始および停止する方法

ターミナルで新しいcronサービスを開始できます。

sudo launchctl load /Library/LaunchDaemons/moodle4mac.cron.plist

次のコマンドはサービスを停止します。あなたはcronサービスの変更を有効にしたい場合は、 アンロードした後、再びデーモンをロードする必要があります。

sudo launchctl unload /Library/LaunchDaemons/moodle4mac.cron.plist

2つのサーバーに1つのサービスだけ?

私のサーバーではmoodle19moodle20のインスタンスへのcronサービスが必要でした ...問題ありません... typo moodle [19-20]ではサーバーは両方のインスタンスでcronサービスを受けます。

curl -s https://your-server-address/moodle[19-20]/admin/cron.php

cronサービスが正しく機能しているかどうかを確認するには、Webサーバーのaccess.logを調べてください。 cron.phpは5分ごとにアクセスされるべきです...私のサーバーではMoodleインスタンスmoodle19moodle20の両方で ...ああ、それはうまくいきます!

192.168.0.220 - - [30/Jul/2009:22:10:56 +0200] "GET /moodle19/admin/cron.php HTTP/1.1" 200 1136
192.168.0.220 - - [30/Jul/2009:22:10:57 +0200] "GET /moodle20/admin/cron.php HTTP/1.1" 200 1403
192.168.0.220 - - [30/Jul/2009:22:11:18 +0200] "OPTIONS * HTTP/1.0" 200 -
192.168.0.220 - - [30/Jul/2009:22:15:56 +0200] "GET /moodle19/admin/cron.php HTTP/1.1" 200 735
192.168.0.220 - - [30/Jul/2009:22:15:57 +0200] "GET /moodle20/admin/cron.php HTTP/1.1" 200 964
192.168.0.220 - - [30/Jul/2009:22:20:56 +0200] "GET /moodle19/admin/cron.php HTTP/1.1" 200 1136
192.168.0.220 - - [30/Jul/2009:22:20:57 +0200] "GET /moodle20/admin/cron.php HTTP/1.1" 200 1365

LDAPによるユーザー管理

以下の設定は、LDAPを実行している10.5サーバー上で動作します - あなた自身の環境にカスタマイズするためにそれらを編集してください。 moodleにはいくつかのフィールドが必要です - これらのフィールドは10.5 ServerのWorkgroup Managerで完成させるのが最善です - さもなければそれらは最初のログインで彼らのmoodleプロファイルに情報を入力するよう促されます。 、moodleはセキュリティとデータの完全性のためにLDAPを修正することはできません。必要なフィールドは、ユーザー名、名、姓、電子メールアドレス、市区町村、国、説明、ID番号です。

LDAP SERVER SETTINGS
Host URL = ourserver.example.com
Version = 3
LDAP encoding = utf-8

BIND SETTINGS
Hide passwords = Yes
Distinguished Name = (blank)
Password = (blank)

USER LOOKUP SETTINGS
User type = posixAccount (rfc2307)
Contexts = cn=users,dc=ourserver,dc=example,dc=com
Search subcontexts = Yes
Dereference aliases = No
User attribute = (blank)
Member attribute = (blank)
Member attribute uses dn = (blank)
Object class = (blank)

FORCE CHANGE PASSWORD
Force change password = No
Use standard Change Password Page = No
Password format = Plain text
Password change URL = (blank)

LDAP PASSWORD EXPIRATION SETTINGS
Expiration = no
Expiration warning = 10
Expiration attribute = ""
Grace logins = No
Grace login attribute = (blank)

ENABLE USER CREATION
Create users externally = No
Context for new users = (blank)

COURSE CREATOR
Creators = (blank)

CRON SYNCHRONIZATION SCRIPT
Removed ext user = Keep internal

NTLM SSO 
Enable = No
Subnet = (blank)
First name = givenName (On every login, Never, Locked)
Surname = sn (On every login, Never, Locked)
Email address = mail (On every login, Never, Locked)
Phone 1 = (blank)
Phone 2 = (blank)
Department = (blank)
Address = (blank)
City/Town = l (On every login, Never, Locked)
Country = c (On every login, Never, Locked)
Description = description (On every login, Never, Locked)
ID number = uidNumber (On every login, Never, Locked)
Language = (blank)

関連情報