|
情報実験< 新年度 RPS (レポート投稿システム) セットアップメモ > |
|
本ドキュメントは RPS (Report Posting System) のプログラムの概要
および, INEX 新年度準備内容を示したものである.1. 設定ファイル準備
1.1 ~/inex/rps/etc/ 以下の準備
- passwd を passwd-YYYY (YYYY:4桁西暦) へ名前変更.
注) 前年度のバックアップ. 本年度分は passwd, master に上書きされる.
$ cp passwd passwd-YYYY- master を master-YYYY (YYYY:4桁西暦) へ名前変更.
$ cp master master-YYYY- passwd の内容を全て消去.
$ echo "" > passwd- rps_environment.pl の修正.
$RPS_YEAR の行を新年度の西暦4桁に変更.
$RPS_YEAR = "YYYY"2. ディレクトリ準備
- ~inex/public_html/yYYYY/ に以下のディレクトリを作成.
$ mkdir rps
$ mkdir rps/html
$ mkdir rps/upload
※ uid, gid:inex, permition:755
- ~inex/public_html/yYYYY/rps/ に index.html ファイルを準備する.
(前年度からコピーすれば OK)
- ~inex/public_html/rps を yYYYY/rps にリンクする.
$ ln -sf ~inex/public_html/yYYYY/rps ~inex/public_html/rps- ~inex/rps/data/ 以下に次のディレクトリを作成.
$ mkdir ~inex/rps/data/yYYYY※YYYY:西暦4桁3. パスワードファイル準備
3.1 前年度のパスワードファイルの保存
- ~inex/rps/kanri/tex/ 以下にある .tex ファイルを年度毎のディレクトリに格納.
$ mkdir yYYYY
$ mv *.tex yYYYY/3.2 参加者情報ファイルの作成
- 昨年度の参加者情報ファイルを整理する.
ファイルは ~inex/rps/kanri/autho/ 以下にあり, 慣例的に autho-yyyy.txt と名づけられている.
何度か作成する事になるため autho-yyyy-?.txt (yyyy:西暦4桁, ?:通し番号) の名前で複数残っている.
昨年度の分は autho-yyyy.txt として一つにまとめておく.
- 今年度の参加者情報ファイルを作成する.
情報ファイルは次の項目を順に, カンマ "," で区切って列挙.
追加, 再設定で作成する場合は該当者のみを記入したファイルを作成する事.
学籍番号 (教官,TA 等のスタッフはアカウント名),
名前 (漢字),
所属,
情報実験機名,
メールアドレス
Ex.
22950111,磯野タラオ,地球惑星科学(地球物理)2年,joho01,s2295111a@ec.hokudai.ac.jp
keikei,倉本 圭,地球惑星科学専攻助教授,3.3 パスワードファイルの作成
- ~inex/rps/kanri/autoregist.pl に処理させる.
$ ~inex/rps/karni/autoregist.pl <情報ファイル>これにより以下の処理が行われる.
- ~inex/rps/etc/passwd にユーザの情報が書き込まれる.
- ~inex/rps/kanri/tex/ 以下に初期パスワードの書かれた LaTeX ファイルが作成される.
- ~inex/rps/data/yYYYY/ 以下に各ユーザのディレクトリ作成.
- ~inex/public_html/yYYYY/html/ 以下に各ユーザのディレクトリ作成.
3.4 T.A.コメント書き込み用パスワードの作成
- ~inex/rps/cmd/rps_setmaster.pl を使って作成する.
パスワードファイルは ~inex/rps/etc/master で, パスワードは全員で一つを共有する.
$ ~inex/rps/cmd/rps_setmaster.pl <password>4. メンテナンス
4.1 登録参加者名修正
- ~inex/rps/etc/passed ファイルの該当部分を修正.
- ~inex/public_html/yYYYY/html/ 以下の該当するディレクトリの index.html を修正.
4.2 パスワードの再設定
- ~inex/rps/etc/passed ファイルの該当部分を消去.
- 3.2, 3.3 の作業を行い, 初期パスワードを再設定する.
※ 投稿済レポートには影響はない5. 質問掲示板準備
- ~inex/bbs/incl/bbsconf.pl 中の $WRITE_PERMIT_YEAR を該当年度に変更する.
$WRITE_PERMIT_YEAR = '2004'- データ格納ディレクトリの作成
$ mkdir ~inex/bbs/data-yYYYY- トップページ (~inex/public_html/yYYYY/bbs/index.html) の作成
前年度のトップページをコピーして年度の部分を書き換えれば OK.6. cgi の概要
6.1 レポート投稿システム用パスワード関連
- rps_password.cgi
パスワード変更内容登録インターフェイス.
- rps_chpasswd.cgi
パスワード変更インターフェイス.
6.2 レポート投稿関連
- rps_post.cgi
新規レポート内容書き込みインターフェイス.
- rps_mkdata.cgi
レポート内容をファイルに書き出す.
rps_post.cgi からデータを受け取る.
- rps_modify.cgi
レポート内容更新書き込みインターフェイス.
- rps_chdata.cgi
更新されたレポート内容をファイルに書き出す.
rps_modify.cgi からデータを受け取る.
- rps_delete.cgi
レポート削除インターフェイス.
- rps_rmdata.cgi
レポートがかかれたファイルを消去する.
rps_delete.cgi からデータを受け取る.
- rps_comment.cgi
コメント書き込みインターフェイス.
- rps_cmtadd.cgi
コメント内容をファイルに書き出す.
rps_comment.cgi からデータを受け取る.
- rps_new.cgi
過去??日間の更新記事表示インターフェイス.
days=?? で指定.
- rps_upload.cgi
アップロードファイル転送インターフェイス.
- rps_uploaddel.cgi
アップロードファイル削除インターフェイス.
- rps_uploadcheck.cgi
アップロードファイル一覧表示インターフェイス.
6.3 質問掲示板関連
- bbs_write_form.cgi
新規書き込みインターフェイス.
- bbs_write.cgi
書き込み内容確認インターフェイス.
確認後, 内容をファイルに書き出す.
- bbs_follow_form.cgi
コメント書き込みインターフェイス.
- bbs_read.cgi
投稿された記事を表示する.
- bbs_number.cgi
番号順インデックスを表示する.
- bbs_tree.cgi
ツリー型インデックスを表示する.
7. ディレクトリ構造
~inex/rps/ 以下の主なディレクトリ構造.
- kanri/
- autoregist.pl
メンバー情報の一覧をいれるとその内容を $RPS_HOME/passwd に登録し,
tex/ 以下に各人のパスワードが書かれた LaTeX形式ファイルを作るツール.
一覧は以下の書式に従うこと.
○ 一行に書ける情報は一人分.
○ 情報はカンマで区切る.
内部的には渡された情報を整形して ../cmd/rps_newregist.pl に受け渡している.
詳しい使い方は 3.2 以降を参照すること.
- getinitpasswd.pl
autoregist.pl (rps_newregist.pl) で作成した LaTeXファイルから
パスワードだけを読みだし出力するツール.$ ./gateinitpasswd.pl hoge.tex- autho/
autoregist.pl に渡す参加者情報ファイル格納ディレクトリ.
年度毎に autho-YYYY.txt というファイル名が慣例的につけられている.
- tex/
autoregist.pl で作成される各人のパスワードが書かれた LaTeX 形式ファイルの格納ディレクトリ.
年度毎に yYYYY いうディレクトリを作成して過去のパスワードファイルが保管されている.
- cmd/
管理コマンド置場
- rps_newregist.pl
新規のメンバーを $RPS_HOME/passwd に登録し, 登録内容を Latex 形式で標準出力に出すツール.
- rps_mkmlist.pl
$RPS_HTML 以下にメンバー一覧表を作るツール.
rps_newregist.pl に組み込まれているので現在は不要.
- rps_setmaster.pl
T.A.コメント書き込み用パスワード $RPS_HOME/master に作成するツール.
8. トラブルシューティング
8.1 cgi 全般
- [Internal Server Error]
- cgi のパーミッションに問題あり.
6755 になっていない.
- cgi 自体が機能していない.
コマンドラインでの動作チェック.
- setuid による汚染された cgi 問題.
/var/log/apache/error.log をチェックし, 該当コードの汚染を無くす.
8.2 rps_mkdata.cgi
- [システムエラー: RPS_DATA_New]
~inex/rps/data/yYYYY/ 以下にユーザのディレクトリ作成が無い.
- [システムエラー: RPS_HTML_Data2html]
~inex/public_html/yYYYY/html/ 以下にユーザのディレクトリ作成が無い.
8.3 rps_upload.cgi
- [system error. upload1. ]
$RPS_UPLOAD_DIR のディレクトリ指定が間違っている.