授業等においてプレゼンテーション等の相互評価を発表者にフィードバックすることは学習効果を高めるうえで有効であるといわれています。
しかし,評価用紙やExcel等の入力ファイルを発表者へフィードバックすることは容易ではありません。
そこで,日本語ディストリビューションであるVineLinux6.0上に,ApacheとMySQLを稼働させ,ブラウザから評価の入力と閲覧ができるシステムを,PHP言語を利用して構築してみました。
以下の手順でシステム等を構築します。
なお,VineLinux6.0のインストールと,VineLinuxの操作方法については省略します。
# vi /etc/apache2/conf/http.conf | |
### Section 2: 'Main' server configuration | |
ServerAdmin root@pcroom.edu | エラーメッセージに含めるメールアドレス |
ServerName www2.pcroom.edu:80 | 自分自身を示すときに使うホスト名とポート |
DocumentRoot "/var/www/html" | デフォルトのドキュメントルート(メインコンテンツの保存場所。ここでは /var/www/html とする) |
<Directory "/var/www/html"> | |
Options FollowSymLinks | シンボリックリンクを使って別のディレクトリからアクセスが可能 |
AllowOverride None | .htaccessファイルを無視 |
Order allow,deny | allow(許可),deny(拒否)の順番に制御される。制御の内容は以下の行 |
Allow from all | どこからでもアクセスを許可する |
</Directory> | |
DirectoryIndex index.html index.php index.html.var | index.phpを追加。ディレクトリをリクエストしたときに調べるリスト |
# etc/rc.d/init.d/apache2 (re)start |
# chkconfig apache2 on |
# vi /etc/php5/php.ini | |
magic_quotes_gpc = Off | Onの場合,'(シングルクオート),"(ダブルクオート),\(バックスラッシュ),Nullに対して自動的にバックスラッシュにエスケープされます。(Onとなっているサーバーもあります) |
[Vine] | |
output_buffering = Off | 出力バッファリングの指定を無効にする。 |
default_charset = UTF-8 | HTTPヘッダcharacterをUTF-8に指定する。 |
mbstring.language = Japanese | デフォルト言語を日本語に指定する。 |
mbstring.internal_encoding = UTF-8 | 内部エンコーディングをUTF-8に指定する。 |
mbstring.http_input = auto | HTTP入力をautoにする。 |
mbstring.http_output = UTF-8 | [変更]:HTTP出力をUTF-8に指定する。 |
mbstring.encoding_translation = On | HTTP入力の変換を有効にする。 |
output_handler = mb_output_handler | [追加]:出力変換を有効にする。 |
mbstring.detect_order = auto | [追加]:デフォルトの文字エンコーディング検出順序をautoにする。 |
mbstring.substitu_character = none | [追加]:無効な文字の代替文字を出力しない |
# etc/rc.d/init.d/apache2 restart |
# etc/rc.d/init.d/apache2 restart Apache2 HTTP Serverを起動中: [crit] Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP. Pre-configuration failed [ 失敗 ] |
# /sbin/update-alternatives --config apache2 2 プログラムがあり 'apache2' を提供します。 選択 コマンド ----------------------------------------------- + 1 /usr/sbin/apache2.worker * 2 /usr/sbin/apache2.prefork Enter を押して現在の選択 [+] を保持するか,選択番号を入力します: 2 preforkを番号で選択 # /etc/rc.d/init.d/apache2 start Apache2 HTTP Serverを起動中: [ OK ] |
<?php phpinfo(); ?> |
![]() ![]() ![]() |
my-large.cnf my-medium.cnf my-small.cnf |
512M 以下のシステムメモリーの場合 128M 以下のシステムメモリの場合 64M 以下のシステムメモリの場合 |
# vi /etc/my.cnf | |
[client] | |
default-character-set=utf8 | [追加]:デフォルト文字コードをUTF-8に指定。 |
[mysqld] | |
key_buffer_size = 16M | 値が大きいと検索が速くなる |
max_allowed_packet = 1M | 大きなデータを保存するときに調整 |
table_open_cache = 64 | 値を大きいと負荷が減る |
sort_buffer_size = 512K | 値が大きいとソートの実行が速くなる |
read_buffer_size = 256K | インデックスのない問い合わせ速度を調整 |
default-character-set=utf8 | [追加]:サーバー内部の文字コードをUTF-8に指定 |
skip-character-set-client-handshak | [追加]:クライアントの文字情報を指定 |
[mysqldump] | |
default-character-set=utf8 | [追加]:サーバー内部の文字コードをUTF-8に指定 |
# /etc/rc.d/init.d/mysql (re)start |
# chkconfig mysql on |
$ mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.56-log VineLinux MySQL RPMM Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL v2 license Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. | rootにパスワードなしで初期ログイン |
mysql> set password for root@localhost=password('12345678'); Query OK, 0 rows affected (0.09 sec) |
rootにパスワードを設定 (ここではパスワードを12345678 とした) |
mysql> exit Bye | 一度,MySQL monitorを終了 |
$ mysql -u root -p12345678 | rootにパスワード12345678 でログイン |
mysql> delete from mysql.user where password=""; Query OK, 4 rows affected (0.03 sec) | 空パスワードのユーザーを削除 |
mysql> select user,host,password from mysql.user; +------+-----------+-------------------------------------------+ | user | host | password | +------+-----------+-------------------------------------------+ | root | localhost | *D2EFA3ADBC4CAF4303D571D783F9AE6BA9D3A926 | +------+-----------+-------------------------------------------+ 1 row in set (0.00 sec) |
ユーザの確認 1. 空パスワードのユーザが無いこと 2. rootにパスワードが設定されていること |
mysql> show variables like '%character_set%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.03 sec) |
MySQL内の文字コードの確認 |
mysql> exit Bye | MySQL monitorを終了 |
![]() 【管理1】ログイン |
【データベース管理 ログイン】 MySQLで設定したUSER「root」のパスワードを入力します。 一般ユーザの「USER」と「PASSWORD」はここで設定します。(自由に設定) なお,この三つの情報は,隠しファイル「.rootuser」に保管されています。 今後,評価の入力・閲覧は,一般ユーザで実行されます。 運用上,入力や閲覧をする人は特に意識する必要はありません。 ボタン「ログイン」=>【管理2】へ |
![]() 【管理2】データベース名の管理 |
【データベースの管理】 |
![]() 【管理3】新規データベース名と名簿の管理 |
【データーベースの新規作成と名簿の取り込み】
|
![]() 【管理4】テーブルの管理 |
【テーブルの管理】 |
![]() 【管理5】新規テーブル名の入力 |
【新規テーブル名の入力】 テーブル名は,半角英数字で入力して下さい。 「このDataBaseに登録されているテーブル名」に表示されている名は入力しないで下さい。 ボタン「作成T」=> 【管理6】へ ボタン「戻るT」=> 【管理4】へ |
![]() 【管理6】新規項目名の管理 |
【項目名の新規登録】
|
![]() 【管理7】項目名の管理 |
【項目名の変更】 |
![]() ![]() 【管理8】データの管理 |
【テーブル内にある実データの管理】
|
![]() 【評価ログイン】 |
【評価ログイン】
学籍番号= > 名簿ファイルに登録した番号を入力 ボタン「入力」 => 評価入力 ボタン「ExportI」 => 入力したデータをCSV形式のファイルとしてダウンロードする。 ファイル名「Input-(学籍番号).csv」 ボタン「閲覧」 => 評価閲覧 ボタン「ExportE」 => 閲覧したデータをCSV形式のファイルとしてダウンロードする。 ファイル名「Output-(学籍番号).csv」 |
![]() 【評価入力】 |
【評価入力】
|
![]() 【評価閲覧】 |
【評価閲覧】 入力された評価を閲覧ができます。 最下行には,各項目の平均点が表示されています。 評価者の項目で学籍番号と名前を非表示したい場合は,hyouka-2.zipをダウンロードしてご利用ください。 |