xubuntu 16.04 に Moodle 3.1 と STACK 3.5.5

3 9月

moodle31

サーバー OS の変更にともなって,色々と準備をしています。次のプログラミング環境がどうなるのかまだ不明です。問題は stack の動作です。stack の採点機能を利用しているので,まずはきちんと Moodle において stack が動作する必要があります。これには maxima のバージョン,lisp の種類などが関係してくると思われます。最新の組み合わせを試すために,xubuntu 16.04 に Moodle 3.1 をインストールしてみました。

インストールの手順は下記に従いました。

apache, PHP, MySql, PHPMyAdmin 等は先にインストールしていました。

sudo apt-get install apache2 mysql-client mysql-server php7.0 libapache2-mod-php7.0

追加的なソフトは下記で良いようです(私は Moodle のインストール途中で追加しました)。

sudo apt-get install graphviz aspell php7.0-pspell php7.0-curl php7.0-gd
php7.0-intl php7.0-mysql php7.0-xmlrpc php7.0-ldap php7.0-zip

Git のインストール

sudo apt-get install git-core

Moodle をダウンロードするのですが,ここではいったん /opt に配置します。その後,どのブランチを利用するかを決めていきます(良く分からないのですが)。

cd /opt
sudo git clone git://git.moodle.org/moodle.git
cd moodle
sudo git branch -a
sudo git branch --track MOODLE_31_STABLE origin/MOODLE_31_STABLE
sudo git checkout MOODLE_31_STABLE

ソースをドキュメントルートへコピーします。

sudo cp -R /opt/moodle /var/www/html/

Moodle のデータディレクトリーを作成します。いつもと違う場所です。

sudo mkdir /var/moodledata
sudo chown -R www-data /var/moodledata
sudo chmod -R 777 /var/moodledata
sudo chmod -R 0755 /var/www/html/moodle

MySql の設定です。エディターは gedit を使います。

sudo gedit /etc/mysql/my.cnf

[mysqld] セクションがあると書いてあるのですが,それはなくて書き足しました。

[mysqld]
default_storage_engine = innodb
innodb_file_per_table = 1
innodb_file_format = Barracuda

設定の確認は MySql の中で,下記のようにします(参考サイト)。

mysql> show variables like 'innodb_%';

話が前後しましたが,Moodle 用のデーターベースを作成します。

mysql -u root -p

mysql>CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

mysql>create user 'moodledude'@'localhost' IDENTIFIED BY 'passwordformoodledude';

mysql>GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO moodledude@localhost IDENTIFIED BY 'passwordformoodledude';

mysql>quit;

Moodle の設定ファイルを,書き込まないといけないので,モードを変更して,www-data に書き込み権限を与えます。

sudo chmod -R 777 /var/www/html/moodle

ブラウザで下記を開いて,インストールを開始します。IP は読み替えてください。インストール途中で, moodledata フォルダーのパスはデフォルトから変更しますので注意が必要です。

http://192.168.100.190/moodle

インストールが終了したら,書き込み権限をもとに戻して終了です。

sudo chmod -R 0755 /var/www/html/moodle

後は,STACK のインストールです。

STACKは最新のver 3.5.5 を利用します(ダウンロードサイト)。インストールに関しては、下記を参考にしました。

MathJax は Moodle に最初から入っているのですね。フィルターを有効にするだけでした。付加的なヘッダー等を追加する必要はなかった。
mathjax_filter
xubuntu 16.04 で,普通に Maxima をインストールすると,バージョンは 3.7.2 が入ります。3.7.x は使用するなと先のサイトに書いてあったので,3.6.0 を利用することにしました。これと組み合わせる LISP としては,sbcl を用います。STACK 3.3.3 を試したときに,gcl では動かなかったので,sbcl を利用します。

sudo apt-get install sbcl

Maxima はコンパイルして,インストールします。ソースはここにあります。ホームディレクトリー等で展開して,そのフォルダーに移動します(後は下記のコード参照)。

cd ./maxima-5.36.0
./configure –enable-sbcl
make
sudo make install

インストール先は,/usr/local/bin/maxima になります。
次は STACK のインストールです。まずは付加的なソフトを導入します。端末で moodle のトップフォルダーに入って,下記を実行します。必要があれば,sudo で実行してください。

git clone git://github.com/maths/moodle-qbehaviour_dfexplicitvaildate.git question/behaviour/dfexplicitvaildate


git clone git://github.com/maths/moodle-qbehaviour_dfcbmexplicitvaildate.git question/behaviour/dfcbmexplicitvaildate 


git clone git://github.com/maths/moodle-qbehaviour_adaptivemultipart.git question/behaviour/adaptivemultipart

いったん,Moodle にadmin でログインすると,設定パネルに誘導されます。
次に,本体ですが,これもmoodle フォルダーから git で導入します。

git clone git://github.com/maths/moodle-qtype_stack.git question/type/stack

admin でログインすると,再び設定パネルに誘導されます。設定は「プラグイン」「問題タイプ」「STACK」にあります。
stack_set_up

下記は,STACK の問題を解答しているところです。
stack355

評価関数を試してみました。エラーが二つほど出ました。他は大丈夫のようです。
20160905評価関数エラー