Linux Memo/Moodle
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
*Moodle [#x3efde4c]
RIGHT:更新日 &lastmod();
Moodleはフリーの教育管理システム(e-ラーニング)です。まず[...
**ドメイン変更 [#a5a3a1a6]
moodle/config.php
// $CFG->wwwroot = 'http://manabi.mie-chukyo-u.ac.jp/m...
$CFG->wwwroot = 'http://manabi.stock-cube.net/moodle';
Web: ID adminでログイン
サーバ: Eメール
No-replyアドレス
noreply@manabi.stock-cube.net
**Moodel2.0をVine5.1にインストール [#p10c92aa]
このあたりが必要そう(不要なものもあるかも)
apache2 mod_ssl-apache2 php5-apache2
MySQL-client MySQL-server
php5-pear php5-mysql php5-pdo php5-apache2 php5-xmlrpc p...
zlib zlib-devel
gd
インストールを始めると「Server Checks」でphp_extensionの...
php5.3.3では zipがコンパイル時ADDできないようなので別途イ...
***php_extension(zip)のインストール [#q24f78bf]
PECL(ピクル、PHP Extension Community Library)を利用して...
&color(red){これはVine5.1でmoodle1.9をインストールすると...
# pecl install zip
downloading zip-1.10.2.tgz ...
Starting to download zip-1.10.2.tgz (236,912 bytes)
.............done: 236,912 bytes
61 source files, building
running: phpize5
sh: phpize5: command not found
ERROR: `phpize' failed
じかし上のようにphpizeがないでエラーするので、phpizeをイ...
# apt-get install php5-devel
しかし、/usr/bin/phpizeだけなのでリンクを作成
# cd /usr/bin
# ln -s phpize phpize5
その後
# pecl install zip
downloading zip-1.10.2.tgz ...
Starting to download zip-1.10.2.tgz (236,912 bytes)
.............done: 236,912 bytes
(略)
Build complete.
Don't forget to run 'make test'.
(略)
Build process completed successfully
Installing '/usr/lib/php5/zip.so'
install ok: channel://pecl.php.net/zip-1.10.2
configuration option "php_ini" is not set to php.ini loc...
You should add "extension=zip.so" to php.ini
そしてphp.iniに追加
;;extension_dir = /usr/lib/php5 <=[Vine]セッションにすで...
extension=zip.so
Apache再起動
***確認 [#u8544960]
# pecl list
Installed packages, channel pecl.php.net:
=========================================
Package Version State
zip 1.10.2 stable
Moodleのインストールを開始すると動作環境チェックで「php_e...
''php.ini''
extension=zip.so
; default_charset= EUC-JP
default_charset=
; mbstring.encoding_translation= On
mbstring.encoding_translation= Off
に変更
細かいチェックはまだだ。
**三重大版のMoodle [#o46506fe]
***三重大版の不思議 [#h6440ade]
なぜかCentOSやVine4.2では動作するがVine5.1では動作しなか...
''moodle/lib/form/select.php''
var $_helpbutton='';
var $_hiddenLabel=false;
//-------------- 追加 -----------------
function MoodleQuickForm_select($elementName=null, $e...
parent::HTML_QuickForm_select($elementName, $elem...
}
//-------------- ここまで --------------
function setHiddenLabel($hiddenLabel){
$this->_hiddenLabel = $hiddenLabel;
}
このように本家にあるコンストラクタを追加したら動作した
-------------------
[[奥村先生のサイト:http://oku.edu.mie-u.ac.jp/miemoodle/]...
''MySQL''
mysql --default-character-set=utf8 -u root -p
create database moodle default character set utf8 collat...
grant select,insert,update,delete,create,create temporary
tables,drop,index,alter on moodle.* to moodleuser@'hostn...
''hpd.conf''
AcceptPathInfo on
''config.php''
$CFG->unicodedb = true;
$CFG->unicodecleanfilename = true;
を追加
''インストール''
&color(red){途中で「「日本語(ja)」言語パックをダウンロ...
適当にインストールしたらファイル提出でUploadはできるが教...
成功したときは moodle ディレクトリは var/www/html/moodle ...
***はまった [#x48ddb2b]
Moodle1.9ベースをインストールし、adminでログインしようと...
残念ですが、あなたのブラウザーではクッキーの設定が有効に...
と表示されログインできない
config.phpの最後の行「?>」以降に空行があると発生するよう...
**Uploadファイル名の日本語の利用 [#h0f7ade3]
Moodle1.8の場合の例です.Moodle1.9の場合,必須設定項目は...
指定しないと日本語ファイル名が「_」になってしまう。
''config.php''
$CFG->directorypermissions = 00777; // try 02777 on a se...
// 以下2行を追加
$CFG->unicodedb = true; // Database is utf8
$CFG->unicodecleanfilename = true;
require_once
*** Download時の文字化けするときは以下を追加 [#a77e5ef2]
以下の2箇所の変更は1.9.3+では不要だったが、1.8.2+は必要...
''file.php''
$filename = $args[count($args)-1];
// 以下を追加
$ua = $_SERVER['HTTP_USER_AGENT'];
if (strstr($ua, "MSIE") && !strstr($ua, 'Opera')) {
$filename = mb_convert_encoding($filename, "SJIS",...
} elseif (strstr($ua, "Safari")) {
if (get_string('thischarset') == "UTF-8") {
$filename = "";
} else {
$filename = preg_replace('/[^\.a-zA-Z\d\_-]/', ...
}
} else {
$filename = mb_convert_encoding($filename, "UTF-8"...
}
$filename = str_replace('#', '%23', $filename);
//ここまで
send_file($pathname, $filename, $lifetime, $CFG->filte...
''lib/filelib.php''
以下の変更は1.9.3+は適用済だった。
変更前
if ($forcedownload) {
@header('Content-Disposition: attachment; filename...
} else {
@header('Content-Disposition: inline; filename='.$...
}
変更後
if ($forcedownload) {
@header('Content-Disposition: attachment; filename...
} else {
@header('Content-Disposition: inline; filename="' ...
}
**Moodle1.8でPOP認証 [#fee41e66]
***POP認証 [#o664a263]
認証サーバにPOPサーバを指定できる
php-imapをインストールする
# apt-get install php5-imap
Moodleのユーザ=>認証~
POPサーバをアクティブにして
設定
タイプ:pop3notls
を選択する
***メールをエンコードせずテキストで送信 [#y3aa8c6a]
サーバ −> Eメールで文字セットを「ISO-2022-JP」にする
lib/moodlelib.php で 以下を挿入
$mail->Body = $textlib->convert($mail->Body, ...
$mail->AltBody = $textlib->convert($mail->Alt...
}
}
//-------以下を挿入
if (strcasecmp($mail->CharSet, 'ISO-2022-JP') == 0) {
$mail->Encoding = '7bit';
} else {
$mail->Encoding = '8bit';
}
//-------ここまで
if ($mail->Send()) {
set_send_count($user);
$mail->IsSMTP(); //...
と
$data->link = $CFG->wwwroot .'/login/confirm.php?data...
$message = get_string('emailconfirmation', '', $d...
$messagehtml = text_to_html(get_string('emailconfirma...
//---------------以下の1行を変更
// $user->mailformat = 1; // Always send HTML versio...
$user->mailformat = 0;
return email_to_user($user, $from, $subject, $message...
}
''テキストメールに各ユーザのDBのデータを変更''~
MySQLで
mysql> update mdl_user set mailformat=0;
新しいユーザのデフォルトを変更
mysql> alter table mdl_user alter mailformat set default...
同様にメールアドレス非公開
update mdl_user set maildisplay=0;
alter table mdl_user alter maildisplay set default 0;
''&color(red){注)上2つはユーザ登録時に指定したほうがよ...
フォーラム投稿をメールで送らない
update mdl_user set autosubscribe=0;
alter table mdl_user alter autosubscribe set default 0;
**Moodle1.6のインストール [#hc4b43f3]
moodle1.6.1以降は日本語(ja)が選べたので、直接1.6.1がイン...
この時は、特にlang用パッケージを事前にDownloadすることな...
**MySQLでのmoodleDBのバックアップ/リストア [#t720b09a]
***バックアップ [#u35ae43e]
$ /usr/local/bin/mysqldump -u root -p --default-characte...
Enter password:
***リストア [#c3a8a81e]
もし、moodleというデータベースがない時は先に作成
$ /usr/local/bin/mysqladmin -u root -p create moodle
Enter password:
$ /usr/local/bin/mysql -u root -p moodle < moodle.out
Enter password:
インストール
データベースとしてはMysqlを使用するので、事前にMysql側のS...
''ユーザ登録は''
mysql> grant select,insert,update,delete,create,drop,ind...
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
$ tar zxvf moodle-latest-14.tgz
$ su
# mv moodle /usr/local/apache2/htdocs/
phpの使用メモリが16MB以上必要なので/usr/local/lib/php.iniの
memory_limit = 8M
を
memory_limit = 32M
に変更し、
magic_quotes_runtime = 0 (必ず)
file_uploads = 1
session.auto_start = 0
session.bug_compat_warn = 0
tcpip_socket = true
を確認して
''apacheを再起動''
その後ブラウザで
http://(マシン名)/moodle/
でアクセスしてパラメータを設定する
Choose a languageでJapanese(jp)を選択
「PHP設定を確認しています ...」でパスを確認
GDについてはパスするにはphpコンパイル時オプション --with...
「Moodleのインストール先を確認してください。」で
ウェブアドレス:http://(マシン名)/moodle
Moodleディレクトリ:/usr/local/apache2/htdocs/moodle
データ:/usr/local/moodledata
注)このとき/usr/local/moodledataを作成し、wwwに書き込み...
またこのディレクトリ場所は直接webアクセス出来ない場所にす...
「DataBaseの設定」
タイプ:postgres7
ホストサーバ:(サーバ名orIPアドレス)
データベース:moodle
ユーザ:moodle
パスワード:(なし) <---postgresql側でIPで制限する
テーブル接頭辞:mdl_
注)このとき事前に createdb moodle でdbを作成しておく
「設定が完了しました。」
<?php /// Moodle Configuration File
unset($CFG);
(略)
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO S...
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON...
?>
上記のphpスクリプトを/usr/local/apache2/htdocs/moodle/con...
このファイルがないので作成しコピー&ペーストすればよい
apache2がapache2.0xなんかにlinkされていると以下のようなエ...
Please fix your settings in config.php:
You have:
$CFG->dirroot = "/usr/local/apache2/htdocs/moodle";
but it should be:
$CFG->dirroot = "/usr/local/apache2050/htdocs/moodle";
のでconfig.phpを指示どおり書き換える。
うまく行くと「著作権表示」が表示される
「データベースの設定」
Home ≫ データベースの設定
----- (postgres7): CREATE TABLE mdl_config ( id SERIAL P...
varchar(255) NOT NULL default '', value text NOT NULL de...
mdl_config_name_uk UNIQUE (name)) -----
成功 <---成功を確認
----- (postgres7): CREATE TABLE mdl_course ( id SERIAL P...
integer NOT NULL default '0', sortorder integer NOT NULL...
varchar(50) NOT NULL default '', fullname varchar(254) N...
shortname varchar(15) NOT NULL default '', idnumber varc...
default '', summary text NOT NULL default '', format var...
default 'topics', showgrades integer NOT NULL default '1...
(以下略)
データベースのアップグレードが完了しました。
全てが成功したことを確認して「続ける」
「詳細設定] http://uso5001.abc-u.ac.jp/moodle/admin/co...
''2-3画面進み''
「データベースのアップグレード」で成功を確認
「ブロックテーブルの設定」で設定確認
最後までいくと「workshop テーブルが正常に設定されました。」
が表示されるその後
「サイトセッティング」をセットする
***設定 [#g76b5d4f]
管理者は
ユーザ名:admin
パスワード:admin
http://uso5001.abc-u.ac.jp/moodle/login/index.php
からloginしてまずパスワードを変更
設定変更は右画面の「管理...」をクリック
メールの日本語の問題(1.6では問題なさそうなので不要)
Moodle から自動で出されるメールが生 EUC-JP の Quoted-Prin...
moodle/lib/moodlelib.php の1750行目あたりと
// Edit By JE2ISM
$messagehtml = false; // HTMLメールはいやよ <---追加
if ($messagehtml) {
$mail->IsHTML(true);
$mail->Encoding = "quoted-printable"; ...
$mail->Body = $messagehtml;
$mail->AltBody = "\n$messagetext\n";
} else {
$mail->IsHTML(false);
$mail->Body = "\n$messagetext\n";
}
1770行あたり
if ($attachment && $attachname) {
if (ereg( "\\.\\." ,$attachment )) { // Securi...
$mail->AddAddress("$adminuser->email", fullna...
$mail->AddStringAttachment("Error in attachme...
attach a filename with a unsafe name.", "error.txt", "8b...
} else {
include_once("$CFG->dirroot/files/mimetypes.p...
$mimetype = mimeinfo("type", $attachname);
$mail->AddAttachment("$CFG->dataroot/$attachm...
}
}
(以下追加)
// 日本語化 Edit By JE2ISM
$mail->FromName = mb_convert_encoding($mail->FromNam...
$mail->FromName = "=?ISO-2022-JP?B?".base64_encode($m...
$mail->Subject = mb_convert_encoding($mail->Subject...
$mail->Subject = "=?ISO-2022-JP?B?".base64_encode($m...
$mail->Body = mb_convert_encoding($mail->Body, '...
$mail->CharSet = 'ISO-2022-JP';
$mail->Encoding = '7bit';
$i = 0;
while($mail->to[$i][1]) {
$mail->to[$i][1] = mb_convert_encoding($mail->to[$...
$mail->to[$i][1] = "=?ISO-2022-JP?B?".base64_encod...
$i++;
}
$i = 0;
while($mail->cc[$i][1]) {
$mail->cc[$i][1] = mb_convert_encoding($mail->cc[$...
$mail->cc[$i][1] = "=?ISO-2022-JP?B?".base64_encod...
$i++;
}
$i = 0;
while($mail->bcc[$i][1]) {
$mail->bcc[$i][1] = mb_convert_encoding($mail->bcc...
'EUC-JP');
$mail->bcc[$i][1] = "=?ISO-2022-JP?B?".base64_enco...
$i++;
}
//--------------------------------------------
***ゲストログインボタンの削除 [#u1fc8474]
1.6.1では 管理> ユーザ> 認証オプションで
認証方法の選択: 手動アカウント作成のみ
を選択、説明にメッセージを適当に書くこと(必要)
ゲストログインボタン:非表示
でゲストログインボタンが
消えた。
''以前の方法''
moodle/config.phpに
$CFG->guestloginbutton=false;
を追加
ユーザプロファイルの電話番号、住所の登録画面の削除
moodle/user/edit.htmlの270行目あたりの
<?php } ?>
<!--
<tr valign=top>
<td align=right><p><?php print_string("phone") ?> 1:...
<td><input type="text" name="phone1" size="25" maxle...
($user->phone1) ?>"> <?php p($teacheronly) ?>
<?php if (isset($err["phone1"])) formerr($err["phone...
</td>
</tr>
(略)
p($user->address) ?>"> <?php p($teacheronly) ?>
<?php if (isset($err["address"])) formerr($err["addr...
</td>
</tr>
-->
<tr>
<td></td>
<td align=right><input type="submit" value="<?php p...
ile") ?>"></td>
</table>
の表示部をコメントアウト。
ユーザ登録画面の削除
moodle/login/signup.phpに以下を追加
10行目程度に
//ユーザ登録を開放しなようにする
error("Sorry, you may not use this page.");
$CFG->auth変数の値がemailになっているが、どこで設定いてい...
また、login画面で「初めての方ですか」のページの部分を表示...
管理->認証オプション ->認証方法の選択を「Emailベースの認...
**セキュリティメモ [#x7d5b335]
セキュリティメモ 2005年5月6日の内容により、admin/delete.p...
Backup/Cron/更新等
***Backup [#k6954421]
Moodle > 管理 > 設定 > バックアップで
スケジュール アクティブ:Yes
にする
保存先:/home/www/moodlebackup等をしていしておく。&color(...
実際にバックアップが実行されるのは以下のcronが実行された...
***Cron [#bcf76784]
Moodleはいくつかの処理を自動でする必要があるのでCronを以...
以下のページが問題なく動作すことを確認し、
http://uso5001.abc-u.ac.jp/moodle/admin/cron.php
にアクセスよければ一般ユーザでいいから crontab -e で次の...
(毎5分ごとに実行)
*/5 * * * * /usr/bin/wget -q -O /dev/null http://uso5001...
このとき
/usr/bin/wget http://uso5001.abc-u.ac.jp/moodle/admin/cr...
でエラーないことの確認もしておく
**更新 [#l57b138c]
moodleのバージョンアップは以下のようにおこなう
# cd /usr/local/apache2/htdocs
# mv moodle moodle-bak
# tar xvzf moodle-latest-XXX.tgz
# cp -a moodle-bak/config.php moodle/
moodle/lib/weblib.php の htmlentities を htmlspecialchars...
**設定上のポイント [#kae494b6]
+小テストの時間制限の最大値は管理->設定->詳細設定の中のse...
+小テスト最大評点を「評点無し」以外に設定すると学生が試験...
+アップロードファイルの容量については2MBがデフォルトの...
; Maximum size of POST data that PHP will accept.
post_max_size = 8M
; Maximum allowed size for uploaded files.
;;upload_max_filesize = 2M
upload_max_filesize = 8M
httpd.conf関係の存在すればLimitRequestを削除
をしたら、Moodleの詳細設定のパーミッションの中のmaxbytesや
管理 >設定 >モジュール管理 >課題のassignment_maxbytes...
その後コース設定の最大アップロードサイズを変更すると課題...
**ユーザのUpload [#f9352f18]
username, password, firstname, lastname, email,mailformat
okada, ****, okada, okada, okada@abc.com, 0
mailformat 0 ---プレーンテキスト
1 ---HTML(デフォルト)
**提出課題の削除 [#p9974188]
保存ディレクトリ :moodledata/3/moddata/assignmentの下あたり
mdl_assignment_submissionsのテーブルに記録があるので削除
---------------------------------------------------------...
RIGHT:[[元ページ:https://wwwism.dyndns.org/hp/linux/moodl...
終了行:
*Moodle [#x3efde4c]
RIGHT:更新日 &lastmod();
Moodleはフリーの教育管理システム(e-ラーニング)です。まず[...
**ドメイン変更 [#a5a3a1a6]
moodle/config.php
// $CFG->wwwroot = 'http://manabi.mie-chukyo-u.ac.jp/m...
$CFG->wwwroot = 'http://manabi.stock-cube.net/moodle';
Web: ID adminでログイン
サーバ: Eメール
No-replyアドレス
noreply@manabi.stock-cube.net
**Moodel2.0をVine5.1にインストール [#p10c92aa]
このあたりが必要そう(不要なものもあるかも)
apache2 mod_ssl-apache2 php5-apache2
MySQL-client MySQL-server
php5-pear php5-mysql php5-pdo php5-apache2 php5-xmlrpc p...
zlib zlib-devel
gd
インストールを始めると「Server Checks」でphp_extensionの...
php5.3.3では zipがコンパイル時ADDできないようなので別途イ...
***php_extension(zip)のインストール [#q24f78bf]
PECL(ピクル、PHP Extension Community Library)を利用して...
&color(red){これはVine5.1でmoodle1.9をインストールすると...
# pecl install zip
downloading zip-1.10.2.tgz ...
Starting to download zip-1.10.2.tgz (236,912 bytes)
.............done: 236,912 bytes
61 source files, building
running: phpize5
sh: phpize5: command not found
ERROR: `phpize' failed
じかし上のようにphpizeがないでエラーするので、phpizeをイ...
# apt-get install php5-devel
しかし、/usr/bin/phpizeだけなのでリンクを作成
# cd /usr/bin
# ln -s phpize phpize5
その後
# pecl install zip
downloading zip-1.10.2.tgz ...
Starting to download zip-1.10.2.tgz (236,912 bytes)
.............done: 236,912 bytes
(略)
Build complete.
Don't forget to run 'make test'.
(略)
Build process completed successfully
Installing '/usr/lib/php5/zip.so'
install ok: channel://pecl.php.net/zip-1.10.2
configuration option "php_ini" is not set to php.ini loc...
You should add "extension=zip.so" to php.ini
そしてphp.iniに追加
;;extension_dir = /usr/lib/php5 <=[Vine]セッションにすで...
extension=zip.so
Apache再起動
***確認 [#u8544960]
# pecl list
Installed packages, channel pecl.php.net:
=========================================
Package Version State
zip 1.10.2 stable
Moodleのインストールを開始すると動作環境チェックで「php_e...
''php.ini''
extension=zip.so
; default_charset= EUC-JP
default_charset=
; mbstring.encoding_translation= On
mbstring.encoding_translation= Off
に変更
細かいチェックはまだだ。
**三重大版のMoodle [#o46506fe]
***三重大版の不思議 [#h6440ade]
なぜかCentOSやVine4.2では動作するがVine5.1では動作しなか...
''moodle/lib/form/select.php''
var $_helpbutton='';
var $_hiddenLabel=false;
//-------------- 追加 -----------------
function MoodleQuickForm_select($elementName=null, $e...
parent::HTML_QuickForm_select($elementName, $elem...
}
//-------------- ここまで --------------
function setHiddenLabel($hiddenLabel){
$this->_hiddenLabel = $hiddenLabel;
}
このように本家にあるコンストラクタを追加したら動作した
-------------------
[[奥村先生のサイト:http://oku.edu.mie-u.ac.jp/miemoodle/]...
''MySQL''
mysql --default-character-set=utf8 -u root -p
create database moodle default character set utf8 collat...
grant select,insert,update,delete,create,create temporary
tables,drop,index,alter on moodle.* to moodleuser@'hostn...
''hpd.conf''
AcceptPathInfo on
''config.php''
$CFG->unicodedb = true;
$CFG->unicodecleanfilename = true;
を追加
''インストール''
&color(red){途中で「「日本語(ja)」言語パックをダウンロ...
適当にインストールしたらファイル提出でUploadはできるが教...
成功したときは moodle ディレクトリは var/www/html/moodle ...
***はまった [#x48ddb2b]
Moodle1.9ベースをインストールし、adminでログインしようと...
残念ですが、あなたのブラウザーではクッキーの設定が有効に...
と表示されログインできない
config.phpの最後の行「?>」以降に空行があると発生するよう...
**Uploadファイル名の日本語の利用 [#h0f7ade3]
Moodle1.8の場合の例です.Moodle1.9の場合,必須設定項目は...
指定しないと日本語ファイル名が「_」になってしまう。
''config.php''
$CFG->directorypermissions = 00777; // try 02777 on a se...
// 以下2行を追加
$CFG->unicodedb = true; // Database is utf8
$CFG->unicodecleanfilename = true;
require_once
*** Download時の文字化けするときは以下を追加 [#a77e5ef2]
以下の2箇所の変更は1.9.3+では不要だったが、1.8.2+は必要...
''file.php''
$filename = $args[count($args)-1];
// 以下を追加
$ua = $_SERVER['HTTP_USER_AGENT'];
if (strstr($ua, "MSIE") && !strstr($ua, 'Opera')) {
$filename = mb_convert_encoding($filename, "SJIS",...
} elseif (strstr($ua, "Safari")) {
if (get_string('thischarset') == "UTF-8") {
$filename = "";
} else {
$filename = preg_replace('/[^\.a-zA-Z\d\_-]/', ...
}
} else {
$filename = mb_convert_encoding($filename, "UTF-8"...
}
$filename = str_replace('#', '%23', $filename);
//ここまで
send_file($pathname, $filename, $lifetime, $CFG->filte...
''lib/filelib.php''
以下の変更は1.9.3+は適用済だった。
変更前
if ($forcedownload) {
@header('Content-Disposition: attachment; filename...
} else {
@header('Content-Disposition: inline; filename='.$...
}
変更後
if ($forcedownload) {
@header('Content-Disposition: attachment; filename...
} else {
@header('Content-Disposition: inline; filename="' ...
}
**Moodle1.8でPOP認証 [#fee41e66]
***POP認証 [#o664a263]
認証サーバにPOPサーバを指定できる
php-imapをインストールする
# apt-get install php5-imap
Moodleのユーザ=>認証~
POPサーバをアクティブにして
設定
タイプ:pop3notls
を選択する
***メールをエンコードせずテキストで送信 [#y3aa8c6a]
サーバ −> Eメールで文字セットを「ISO-2022-JP」にする
lib/moodlelib.php で 以下を挿入
$mail->Body = $textlib->convert($mail->Body, ...
$mail->AltBody = $textlib->convert($mail->Alt...
}
}
//-------以下を挿入
if (strcasecmp($mail->CharSet, 'ISO-2022-JP') == 0) {
$mail->Encoding = '7bit';
} else {
$mail->Encoding = '8bit';
}
//-------ここまで
if ($mail->Send()) {
set_send_count($user);
$mail->IsSMTP(); //...
と
$data->link = $CFG->wwwroot .'/login/confirm.php?data...
$message = get_string('emailconfirmation', '', $d...
$messagehtml = text_to_html(get_string('emailconfirma...
//---------------以下の1行を変更
// $user->mailformat = 1; // Always send HTML versio...
$user->mailformat = 0;
return email_to_user($user, $from, $subject, $message...
}
''テキストメールに各ユーザのDBのデータを変更''~
MySQLで
mysql> update mdl_user set mailformat=0;
新しいユーザのデフォルトを変更
mysql> alter table mdl_user alter mailformat set default...
同様にメールアドレス非公開
update mdl_user set maildisplay=0;
alter table mdl_user alter maildisplay set default 0;
''&color(red){注)上2つはユーザ登録時に指定したほうがよ...
フォーラム投稿をメールで送らない
update mdl_user set autosubscribe=0;
alter table mdl_user alter autosubscribe set default 0;
**Moodle1.6のインストール [#hc4b43f3]
moodle1.6.1以降は日本語(ja)が選べたので、直接1.6.1がイン...
この時は、特にlang用パッケージを事前にDownloadすることな...
**MySQLでのmoodleDBのバックアップ/リストア [#t720b09a]
***バックアップ [#u35ae43e]
$ /usr/local/bin/mysqldump -u root -p --default-characte...
Enter password:
***リストア [#c3a8a81e]
もし、moodleというデータベースがない時は先に作成
$ /usr/local/bin/mysqladmin -u root -p create moodle
Enter password:
$ /usr/local/bin/mysql -u root -p moodle < moodle.out
Enter password:
インストール
データベースとしてはMysqlを使用するので、事前にMysql側のS...
''ユーザ登録は''
mysql> grant select,insert,update,delete,create,drop,ind...
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
$ tar zxvf moodle-latest-14.tgz
$ su
# mv moodle /usr/local/apache2/htdocs/
phpの使用メモリが16MB以上必要なので/usr/local/lib/php.iniの
memory_limit = 8M
を
memory_limit = 32M
に変更し、
magic_quotes_runtime = 0 (必ず)
file_uploads = 1
session.auto_start = 0
session.bug_compat_warn = 0
tcpip_socket = true
を確認して
''apacheを再起動''
その後ブラウザで
http://(マシン名)/moodle/
でアクセスしてパラメータを設定する
Choose a languageでJapanese(jp)を選択
「PHP設定を確認しています ...」でパスを確認
GDについてはパスするにはphpコンパイル時オプション --with...
「Moodleのインストール先を確認してください。」で
ウェブアドレス:http://(マシン名)/moodle
Moodleディレクトリ:/usr/local/apache2/htdocs/moodle
データ:/usr/local/moodledata
注)このとき/usr/local/moodledataを作成し、wwwに書き込み...
またこのディレクトリ場所は直接webアクセス出来ない場所にす...
「DataBaseの設定」
タイプ:postgres7
ホストサーバ:(サーバ名orIPアドレス)
データベース:moodle
ユーザ:moodle
パスワード:(なし) <---postgresql側でIPで制限する
テーブル接頭辞:mdl_
注)このとき事前に createdb moodle でdbを作成しておく
「設定が完了しました。」
<?php /// Moodle Configuration File
unset($CFG);
(略)
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO S...
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON...
?>
上記のphpスクリプトを/usr/local/apache2/htdocs/moodle/con...
このファイルがないので作成しコピー&ペーストすればよい
apache2がapache2.0xなんかにlinkされていると以下のようなエ...
Please fix your settings in config.php:
You have:
$CFG->dirroot = "/usr/local/apache2/htdocs/moodle";
but it should be:
$CFG->dirroot = "/usr/local/apache2050/htdocs/moodle";
のでconfig.phpを指示どおり書き換える。
うまく行くと「著作権表示」が表示される
「データベースの設定」
Home ≫ データベースの設定
----- (postgres7): CREATE TABLE mdl_config ( id SERIAL P...
varchar(255) NOT NULL default '', value text NOT NULL de...
mdl_config_name_uk UNIQUE (name)) -----
成功 <---成功を確認
----- (postgres7): CREATE TABLE mdl_course ( id SERIAL P...
integer NOT NULL default '0', sortorder integer NOT NULL...
varchar(50) NOT NULL default '', fullname varchar(254) N...
shortname varchar(15) NOT NULL default '', idnumber varc...
default '', summary text NOT NULL default '', format var...
default 'topics', showgrades integer NOT NULL default '1...
(以下略)
データベースのアップグレードが完了しました。
全てが成功したことを確認して「続ける」
「詳細設定] http://uso5001.abc-u.ac.jp/moodle/admin/co...
''2-3画面進み''
「データベースのアップグレード」で成功を確認
「ブロックテーブルの設定」で設定確認
最後までいくと「workshop テーブルが正常に設定されました。」
が表示されるその後
「サイトセッティング」をセットする
***設定 [#g76b5d4f]
管理者は
ユーザ名:admin
パスワード:admin
http://uso5001.abc-u.ac.jp/moodle/login/index.php
からloginしてまずパスワードを変更
設定変更は右画面の「管理...」をクリック
メールの日本語の問題(1.6では問題なさそうなので不要)
Moodle から自動で出されるメールが生 EUC-JP の Quoted-Prin...
moodle/lib/moodlelib.php の1750行目あたりと
// Edit By JE2ISM
$messagehtml = false; // HTMLメールはいやよ <---追加
if ($messagehtml) {
$mail->IsHTML(true);
$mail->Encoding = "quoted-printable"; ...
$mail->Body = $messagehtml;
$mail->AltBody = "\n$messagetext\n";
} else {
$mail->IsHTML(false);
$mail->Body = "\n$messagetext\n";
}
1770行あたり
if ($attachment && $attachname) {
if (ereg( "\\.\\." ,$attachment )) { // Securi...
$mail->AddAddress("$adminuser->email", fullna...
$mail->AddStringAttachment("Error in attachme...
attach a filename with a unsafe name.", "error.txt", "8b...
} else {
include_once("$CFG->dirroot/files/mimetypes.p...
$mimetype = mimeinfo("type", $attachname);
$mail->AddAttachment("$CFG->dataroot/$attachm...
}
}
(以下追加)
// 日本語化 Edit By JE2ISM
$mail->FromName = mb_convert_encoding($mail->FromNam...
$mail->FromName = "=?ISO-2022-JP?B?".base64_encode($m...
$mail->Subject = mb_convert_encoding($mail->Subject...
$mail->Subject = "=?ISO-2022-JP?B?".base64_encode($m...
$mail->Body = mb_convert_encoding($mail->Body, '...
$mail->CharSet = 'ISO-2022-JP';
$mail->Encoding = '7bit';
$i = 0;
while($mail->to[$i][1]) {
$mail->to[$i][1] = mb_convert_encoding($mail->to[$...
$mail->to[$i][1] = "=?ISO-2022-JP?B?".base64_encod...
$i++;
}
$i = 0;
while($mail->cc[$i][1]) {
$mail->cc[$i][1] = mb_convert_encoding($mail->cc[$...
$mail->cc[$i][1] = "=?ISO-2022-JP?B?".base64_encod...
$i++;
}
$i = 0;
while($mail->bcc[$i][1]) {
$mail->bcc[$i][1] = mb_convert_encoding($mail->bcc...
'EUC-JP');
$mail->bcc[$i][1] = "=?ISO-2022-JP?B?".base64_enco...
$i++;
}
//--------------------------------------------
***ゲストログインボタンの削除 [#u1fc8474]
1.6.1では 管理> ユーザ> 認証オプションで
認証方法の選択: 手動アカウント作成のみ
を選択、説明にメッセージを適当に書くこと(必要)
ゲストログインボタン:非表示
でゲストログインボタンが
消えた。
''以前の方法''
moodle/config.phpに
$CFG->guestloginbutton=false;
を追加
ユーザプロファイルの電話番号、住所の登録画面の削除
moodle/user/edit.htmlの270行目あたりの
<?php } ?>
<!--
<tr valign=top>
<td align=right><p><?php print_string("phone") ?> 1:...
<td><input type="text" name="phone1" size="25" maxle...
($user->phone1) ?>"> <?php p($teacheronly) ?>
<?php if (isset($err["phone1"])) formerr($err["phone...
</td>
</tr>
(略)
p($user->address) ?>"> <?php p($teacheronly) ?>
<?php if (isset($err["address"])) formerr($err["addr...
</td>
</tr>
-->
<tr>
<td></td>
<td align=right><input type="submit" value="<?php p...
ile") ?>"></td>
</table>
の表示部をコメントアウト。
ユーザ登録画面の削除
moodle/login/signup.phpに以下を追加
10行目程度に
//ユーザ登録を開放しなようにする
error("Sorry, you may not use this page.");
$CFG->auth変数の値がemailになっているが、どこで設定いてい...
また、login画面で「初めての方ですか」のページの部分を表示...
管理->認証オプション ->認証方法の選択を「Emailベースの認...
**セキュリティメモ [#x7d5b335]
セキュリティメモ 2005年5月6日の内容により、admin/delete.p...
Backup/Cron/更新等
***Backup [#k6954421]
Moodle > 管理 > 設定 > バックアップで
スケジュール アクティブ:Yes
にする
保存先:/home/www/moodlebackup等をしていしておく。&color(...
実際にバックアップが実行されるのは以下のcronが実行された...
***Cron [#bcf76784]
Moodleはいくつかの処理を自動でする必要があるのでCronを以...
以下のページが問題なく動作すことを確認し、
http://uso5001.abc-u.ac.jp/moodle/admin/cron.php
にアクセスよければ一般ユーザでいいから crontab -e で次の...
(毎5分ごとに実行)
*/5 * * * * /usr/bin/wget -q -O /dev/null http://uso5001...
このとき
/usr/bin/wget http://uso5001.abc-u.ac.jp/moodle/admin/cr...
でエラーないことの確認もしておく
**更新 [#l57b138c]
moodleのバージョンアップは以下のようにおこなう
# cd /usr/local/apache2/htdocs
# mv moodle moodle-bak
# tar xvzf moodle-latest-XXX.tgz
# cp -a moodle-bak/config.php moodle/
moodle/lib/weblib.php の htmlentities を htmlspecialchars...
**設定上のポイント [#kae494b6]
+小テストの時間制限の最大値は管理->設定->詳細設定の中のse...
+小テスト最大評点を「評点無し」以外に設定すると学生が試験...
+アップロードファイルの容量については2MBがデフォルトの...
; Maximum size of POST data that PHP will accept.
post_max_size = 8M
; Maximum allowed size for uploaded files.
;;upload_max_filesize = 2M
upload_max_filesize = 8M
httpd.conf関係の存在すればLimitRequestを削除
をしたら、Moodleの詳細設定のパーミッションの中のmaxbytesや
管理 >設定 >モジュール管理 >課題のassignment_maxbytes...
その後コース設定の最大アップロードサイズを変更すると課題...
**ユーザのUpload [#f9352f18]
username, password, firstname, lastname, email,mailformat
okada, ****, okada, okada, okada@abc.com, 0
mailformat 0 ---プレーンテキスト
1 ---HTML(デフォルト)
**提出課題の削除 [#p9974188]
保存ディレクトリ :moodledata/3/moddata/assignmentの下あたり
mdl_assignment_submissionsのテーブルに記録があるので削除
---------------------------------------------------------...
RIGHT:[[元ページ:https://wwwism.dyndns.org/hp/linux/moodl...
ページ名: