サーバー 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 に最初から入っているのですね。フィルターを有効にするだけでした。付加的なヘッダー等を追加する必要はなかった。
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」にあります。