Solaris で ConfMan(Conference Manager) 立ち上げ
Solaris 上に mSQL(Mini SQL), Apache HTTP Server, ConfMan をインストールし、国際会議の論文投稿用の Web を立ち上げる手順です。
ConfMan は、論文投稿の受け付け、査読者への論文割り当て、査読結果の集計を Web 上で行うシステムです。配布元であった オスロ大学情報学科のダウンロードページは現在参照できません。 新規に投稿・査読システムを構築する場合は、現在も配布・運用が続いている HotCRP, OpenReview, EasyChair などの利用を検討してください。 以下は、ConfMan の構成と、mSQL + Apache + CGI という構成のサーバを Solaris 上で運用する場合の作業記録です。
【関連する外部ページ】
- mSQL (Hughes Technologies 社): https://hughestech.com.au/products/msql/
- Apache HTTP Server: https://httpd.apache.org/
- HotCRP: https://hotcrp.com/
- OpenReview: https://openreview.net/
mSQL(Mini SQL) インストール
mSQL(リレーショナルデータベース管理システム)を Solaris 上にインストールします。 現在の版は mSQL 4 です。ConfMan は mSQL 2 系向けに作られていますが、 付属のスクリプト言語 lite と各種コマンドは mSQL 4 でも提供されています。 入手先は Hughes Technologies 社の Web ページです。
- 参考 Web ページ: https://hughestech.com.au/products/msql/
コンパイラと関連ツールの準備
ソースからのビルドには C コンパイラと bison が必要です。 Solaris 11 では、パッケージリポジトリから導入します。
# pkg install developer/gcc
# pkg install developer/parser/bison
導入後、それぞれのバージョンを確認します。
# gcc -v
# bison -V
mSQL のインストール
- Hughes Technologies 社の Web ページからソースを取得し、適当なディレクトリに置く (ここでは /tmp に置いた)
- 展開
# cd /tmp # gzip -dc msql-4.4.tar.gz | tar -xvf - - インストール
(msql-4.4/INSTALL に詳しいインストール方法が書いてある)
# cd msql-4.4 # make target # cd targets/Solaris-11-i386 (OS、CPU にあわせてこのディレクトリ名は変わる) # ./setup # make all # make install - これで /usr/local/Hughes ディレクトリができる。この下に設定ファイルなどがある
- 設定
msql.conf で mSQL_User, Admin_User 等を設定します。以下は設定例です。
# cd /usr/local/Hughes # vi msql.conf 以下の行を変更する [general] mSQL_User = msql Admin_User = root [system] Remote_Access = TruemSQL_User は、mSQL サーバを実行するユーザです。 Admin_User は、データベースの生成、削除、サーバのシャットダウン等の 権限をもつ管理者用のユーザ名です。
Remote_Access の行について。 mSQL サーバへの接続には、UNIX ドメインソケットによる接続と TCP ソケットによる接続があります。 UNIX ドメインソケットによる接続は、そのソケットの性質から、 同一ホストからのみ可能です。TCP ソケットによる接続は、他のホストからも可能です。 Remote_Access を False にすると UNIX ドメインソケットによる接続だけを許し、 True にすると UNIX ドメインソケットと TCP ソケットの両方を許します。 ConfMan は、同一ホストへの接続でも TCP ソケットを使うため、 Remote_Access = True と設定します。 なお、設定項目名は mSQL の版によって異なる場合があるため、 インストールした msql.conf の記述を確認してください。
TCP ソケットを許可した場合は、次の 2 点を必ず設定します。 一つは、後述の msql.acl でアクセスできるホストとユーザを限定することです。 もう一つは、パケットフィルタ(Solaris では ipfilter または pf)で mSQL の待ち受けポートへの外部からの接続を遮断することです。
- ユーザの追加
mSQL サーバ実行用のユーザを作成します。ログインはさせません。
# groupadd -g 98 msql # useradd -u 98 -g 98 -d /nonexistent -s /usr/bin/false -c "mSQL server" msqlその後、/usr/local/Hughes ディレクトリの owner を msql に変更します。
# chown -R msql /usr/local/Hughes
- msql.acl の設定
以下は設定例です。
database database read www,msql,root write www,msql,root host localhost access local,remote
database: アクセス制限をかけたいデータベース名
read: SELECT を許すユーザ名
write: INSERT,UPDATE,DELETE を許すユーザ名
host: アクセスを許すホスト名
access: "local" は UNIX ドメインソケット、"remote" は TCP による通信を許可する - 起動、終了
# /usr/local/Hughes/bin/msql3d & で起動 # kill `cat /usr/local/Hughes/msql3d.pid` で終了デーモンの名前とプロセス ID ファイル名は mSQL の版によって異なります。 /usr/local/Hughes/bin 以下を確認してください。
mSQL 付属ツール
以下は付属ツールの説明です。オプションは、よく使うものだけを示します。
- msql [-h host] database
SQL コマンドをサーバに送信し実行させるプログラムです。 終了は「\q」、サーバへの送信は「\g」です。
- relshow [-h host] database
スキーマ(表の定義)を表示します。
- msqladmin [-h host] command
管理用プログラムです。create db_name(データベース生成)、 drop db_name(データベース削除)、shutdown(サーバ停止)などがあります。
- msqldump [-h host] database
データを SQL 形式で出力します。
- msqlexport [-h host] database
データを、表計算ソフトで扱いやすい形式で出力します。
Apache HTTP Server インストール
Apache HTTP Server は、現在の安定版は 2.4 系です。 アクセス制御の書き方が 2.2 系とは異なるため、この Web ページでは 2.4 系の書き方で説明します。
- 参考 Web ページ: https://httpd.apache.org/download.cgi
- 参考 Web ページ(ドキュメント): https://httpd.apache.org/docs/2.4/
- ソースを取ってきて、適当なディレクトリに置く (ここでは /tmp に置いた)
- 展開
# cd /tmp # gzip -dc httpd-2.4.68.tar.gz | tar -xvf - - インストール
(httpd-2.4.68/INSTALL、docs/manual/install.html に詳しい設定方法が書いてある)
# cd httpd-2.4.68 # ./configure --prefix=/usr/local/apache2 (prefix は環境にあわせて決める) # make # make installSolaris のパッケージで提供される Apache を使う場合は、 pkg install web/server/apache-24 でインストールし、 SMF(svcadm enable apache24)で起動します。
- これで /usr/local/apache2 ディレクトリができる。この下に設定ファイルなどがある
- 設定
httpd.conf を、環境にあわせて編集します。
# cd /usr/local/apache2/conf # vi httpd.conf編集後、文法の誤りがないことを確認します。
# /usr/local/apache2/bin/apachectl configtest - ログのローテーション
Apache 付属の rotatelogs を使い、日ごとにログファイルを切り替えます。 httpd.conf に次のように設定します。ログの保存先ディレクトリは、あらかじめ作成します。
# mkdir -p /usr/local/apache2/logs/archiveErrorLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/archive/error_log.%Y.%m.%d 86400" CustomLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/archive/access_log.%Y.%m.%d 86400" combined
古いログの削除は cron で行います。次の設定は、30 日より古いログを毎日 6 時に削除します。 (ファイル名は /var/spool/cron/crontabs/root)
0 6 * * * find /usr/local/apache2/logs/archive -type f -mtime +30 -exec rm -f {} + - ユーザの追加
Web サーバ実行用のユーザを作成し、httpd.conf の User, Group に設定します。
# groupadd -g 80 www # useradd -u 80 -g 80 -d /nonexistent -s /usr/bin/false -c "HTTP server" www - 起動、終了
# /usr/local/apache2/bin/apachectl start(stop,restart)で起動、終了、再起動ができる
ConfMan インストール
ConfMan の配布ファイル(ConfMan_1.7.tar.gz)を、Web で公開するディレクトリに置いて展開します。 (例: /usr/local/apache2/htdocs/BMDE)
# cd /usr/local/apache2/htdocs/BMDE
# gzip -dc ConfMan_1.7.tar.gz | tar -xvf -
# chmod -R 755 ConfMan_1.7
# chown -R www:www ConfMan_1.7
設定とカスタマイズ
ConfMan の設定
以下、$CHome は ConfMan を置いた、Web で公開するディレクトリです。 (例: /usr/local/apache2/htdocs/BMDE/ConfMan_1.7)
mSQL 関連の設定
データベースを作成し、テーブルを定義します。
# cd $CHome/MSQL-files
# msqladmin create test_database
# vi $CHome/MSQL-files/database.msql
database.msql 内の次の行を編集します。
insert into admin_personel values('admin')
'admin' のところを、管理者用のユーザ名(Apache の認証で使う管理ユーザ名)に書き換えます。
# msql test_database < database.msql
CGI 関連の設定
$CHome/MSQL-files/config.pl の次の 5 行を、環境にあわせて書き換えます。
#!/usr/bin/perl // perl のパス
$lite = "#!/usr/local/Hughes/bin/lite"; // lite のパス
$cman_home = "$CHome"; // ConfMan のホームディレクトリ。'/' で終わってはいけない
$host = "localhost"; // mSQL が動作しているホスト名
$dbname = "test_database"; // 作成したデータベース名
編集後、config.pl を実行します。
# ./config.pl
次に、lite を使って confman.lite をコンパイルします。
# cd $CHome/cgi-bin
# lite -l confman.lib confman.lite
ファイルの書き換え(必須)
- Reply-To を指定する箇所
次の 2 つのファイルを書き換えます。書き換えないと、 "Reply-To:$reply_to_email@xxx" のようなヘッダを持つメールが送られます。$CHome/cgi-bin/PC-ONLY/self_save_review.cgi $CHome/cgi-bin/PC-ONLY/writereview.cgi
それぞれのファイルの
$mail_cmd = get_cfg($sock,"mail_cmd"); $cc_email = get_cfg($sock,"cc_email"); $mail_footer = get_cfg($sock,"mail_footer");
の次に、以下の行を追加します。
$reply_to_email = get_cfg($sock,"rep_addr");
- TITLE が「IDMS'98」となっている箇所の書き換え
以下のスクリプトを実行します。#!/bin/csh echo "enter the conference name" set Cname = $< echo "enter the path of ConfMan home like /xx/xx/xx" set Chome = $< foreach file ("SUBMISSIONS/index.html" "PC-online/ballot.html" \ "PC-online/procedure.html" "PC-online/ballotexpl.html" \ "ADMIN/send_paper_conf.html" "ADMIN/unable_voting.html") cp $Chome/$file $Chome/$file.bk sed s/IDMS\'98/$Cname/ $Chome/$file > spool cp spool $Chome/$file end - $CHome/cgi-bin/OPEN/reg_paper.cgi 内の文章を確認する。 「conference」とあるのを、workshop 等の適切な名前に変更する。
ファイルの書き換え(option)
- 投稿終了画面に home へのリンクを作成
ファイル: $CHome/cgi-bin/OPEN/upload.cgi
sub end { exit 0; }の部分を、以下のように変更します。sub end { print "<hr><p><center>[<A HREF=\"http:/xx/xx\">home</A>] </center></p>"; exit 0; } - フォームの長さの変更
ファイル: $CHome/cgi-bin/ADMIN/setup.cgi
Configuration Page で admin1 などを設定するときに、フォームの長さが足りない場合は、 このファイルの該当箇所の maxlength を変更します。
maxlength は 1700 まで大きくできます。それより長い入力を扱う場合は、 database.msql を変更して、データベースの列の定義を変更します。
- Cc を Bcc に変更
cc_addr は "Cc:$cc_addr" のように使われます。これを Bcc に変えます。
以下のスクリプトを実行します。
#!/bin/csh echo "enter the path of ConfMan home like /xx/xx/xx" set Chome = $< echo "ADMIN" foreach file ("liste10.cgi" "liste11.cgi" "liste12.cgi" "liste8.cgi" \ "send_acc_notification.cgi" "send_acc_proc_chair2.cgi" \ "send_acc_shepherds2.cgi" "send_assign_notif_reviewer.cgi" \ "send_email.cgi" "send_paper_conf.cgi" "send_paperlist_reviewer.cgi") cp $Chome/cgi-bin/ADMIN/$file $Chome/cgi-bin/ADMIN/$file.bk sed s/Cc:/Bcc:/ $Chome/cgi-bin/ADMIN/$file > spool cp spool $Chome/cgi-bin/ADMIN/$file end echo "OPEN" foreach file ("reg_paper.cgi" "reg_participator.cgi" "upload_update.cgi") cp $Chome/cgi-bin/OPEN/$file $Chome/cgi-bin/OPEN/$file.bk sed s/Cc:/Bcc:/ $Chome/cgi-bin/OPEN/$file > spool cp spool $Chome/cgi-bin/OPEN/$file end echo "PC-ONLY" foreach file ("self_save_review.cgi" "writereview.cgi") cp $Chome/cgi-bin/PC-ONLY/$file $Chome/cgi-bin/PC-ONLY/$file.bk sed s/Cc:/Bcc:/ $Chome/cgi-bin/PC-ONLY/$file > spool cp spool $Chome/cgi-bin/PC-ONLY/$file end - リンクの変更
Main page へのリンクがある箇所を、会議のホームページへのリンクに変更します。
以下のファイルの該当箇所を変更します。
$CHome/cgi-bin/OPEN/reg_paper.cgi $CHome/cgi-bin/OPEN/reg_participator.cgi $CHome/cgi-bin/OPEN/upload.cgi $CHome/cgi-bin/PC-ONLY/self_edit_review.cgi $CHome/cgi-bin/PC-ONLY/self_edit_reviewer.cgi $CHome/cgi-bin/PC-ONLY/self_save_reviewer.cgi
httpd.conf の設定
アクセス制御について。
$CHome とその下のディレクトリで CGI が使えるよう、httpd.conf に次の設定を追加します。 .htaccess は使わないので「AllowOverride None」にしています。 Apache 2.4 系では、アクセス許可は Require ディレクティブで指定します (2.2 系の Order, Allow, Deny は使いません)。
<Directory "$CHome">
AllowOverride None
Options +ExecCGI
AddHandler cgi-script .cgi .pl
Require all granted
</Directory>
実際の httpd.conf の設定は次のようになっています。
### EACH DIRECTORY ###
<Directory "/usr/local/apache2/htdocs/BMDE/ConfMan_1.7">
AllowOverride None
Require local
</Directory>
# .htpasswd, .htgroup へのアクセスを禁止する
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
# Confman Files
<Directory "/usr/local/apache2/htdocs/BMDE/ConfMan_1.7/PICTURES">
AllowOverride None
Require all granted
</Directory>
<Directory "/usr/local/apache2/htdocs/BMDE/ConfMan_1.7/REG-paper">
AllowOverride None
Require all granted
</Directory>
<Directory "/usr/local/apache2/htdocs/BMDE/ConfMan_1.7/PC-online">
AllowOverride None
AuthType Basic
AuthName "Members Only"
AuthBasicProvider file
AuthUserFile /usr/local/apache2/conf/.bmde_htpasswd
AuthGroupFile /usr/local/apache2/conf/.bmde_htgroup
Require group pcmember
</Directory>
<Directory "/usr/local/apache2/htdocs/BMDE/ConfMan_1.7/SUBMISSIONS">
AllowOverride None
AuthType Basic
AuthName "Members Only"
AuthBasicProvider file
AuthUserFile /usr/local/apache2/conf/.bmde_htpasswd
AuthGroupFile /usr/local/apache2/conf/.bmde_htgroup
Require group admin pcmember
</Directory>
<Directory "/usr/local/apache2/htdocs/BMDE/ConfMan_1.7/ADMIN">
AllowOverride None
AuthType Basic
AuthName "Members Only"
AuthBasicProvider file
AuthUserFile /usr/local/apache2/conf/.bmde_htpasswd
AuthGroupFile /usr/local/apache2/conf/.bmde_htgroup
<RequireAll>
Require group admin
Require local
</RequireAll>
</Directory>
<Directory "/usr/local/apache2/htdocs/BMDE/ConfMan_1.7/cgi-bin/OPEN">
AllowOverride None
Options +ExecCGI
AddHandler cgi-script .cgi .pl
Require all granted
</Directory>
<Directory "/usr/local/apache2/htdocs/BMDE/ConfMan_1.7/cgi-bin/ADMIN">
AllowOverride None
AuthType Basic
AuthName "Members Only"
AuthBasicProvider file
AuthUserFile /usr/local/apache2/conf/.bmde_htpasswd
AuthGroupFile /usr/local/apache2/conf/.bmde_htgroup
Options +ExecCGI
AddHandler cgi-script .cgi .pl
<RequireAll>
Require group admin
Require local
</RequireAll>
</Directory>
<Directory "/usr/local/apache2/htdocs/BMDE/ConfMan_1.7/cgi-bin/PC-ONLY">
AllowOverride None
AuthType Basic
AuthName "Members Only"
AuthBasicProvider file
AuthUserFile /usr/local/apache2/conf/.bmde_htpasswd
AuthGroupFile /usr/local/apache2/conf/.bmde_htgroup
Options +ExecCGI
AddHandler cgi-script .cgi .pl
Require group pcmember
</Directory>
「Require local」は同一ホストからの接続だけを許します。 特定のネットワークからの接続を許す場合は「Require ip 192.0.2.0/24」のように書きます。
パスワードファイルとグループファイルは、公開ディレクトリの外側に置きます。 上の例では /usr/local/apache2/conf に置いています。
.htpasswd, .htgroup の作成
- .htpasswd の作成
# /usr/local/apache2/bin/htpasswd -c /usr/local/apache2/conf/.bmde_htpasswd test_admin New password: Re-type new password: Adding password for user test_admin(注) ファイルを新規に作成するときだけ -c オプションを付ける。 2 人目以降を追加するときに -c を付けると、既存のファイルが上書きされる
- .htgroup の作成
エディタで作成します。書式は「グループ名: ユーザ名 ユーザ名 ...」です。
admin: test_admin pcmember: pc1 pc2 pc3
その他の設定。 余分な処理を省くために、httpd.conf に次のように設定します。
- ログ出力のたびにアドレスの逆引きを行うことを抑止する
HostnameLookups Off
- インデックスとして使うファイル名を明示的に指定する
DirectoryIndex index.html
デバッグについて
環境変数 MSQL_DEBUG を設定すると、mSQL の API がデバッグ情報を出力します。
msql_query : サーバに送信したクエリの内容を表示する
msql_api : 接続の詳細などの内部情報を表示する
msql_malloc : API ライブラリが使うメモリの詳細を表示する
設定法は次の通りです。
% setenv MSQL_DEBUG msql_query
複数指定する場合は、コロンで区切ります。
% setenv MSQL_DEBUG msql_query:msql_api
指定できる値はマニュアルの記述と異なる場合があるため、 インストールした版のマニュアルとヘッダファイルで確認してください。
運用
Solaris と Apache のセキュリティ
- Solaris は、サポートされているバージョンを使い、最新の SRU (Solaris 11 の場合)や Patch を適用する。
- 不要なサービスは停止する
他のマシンを NFS マウントしないなど、運用に必要のないサービスは停止します。 Solaris 10 以降のサービスは SMF で管理されるので、svcs でサービスの一覧を確認し、 svcadm disable で停止します。
# 稼働中のサービスの一覧 svcs -a # 停止の例 svcadm disable svc:/network/nfs/server:default svcadm disable svc:/network/nfs/client:default svcadm disable svc:/network/dns/multicast:default svcadm disable svc:/network/smb/server:default svcadm disable svc:/application/management/net-snmp:default
- ps -ef でプロセスを確認し、使わないソフトウェアは削除する。
- 不要なネットワークサービスは無効にする
平文で通信するサービス(telnet, ftp, rlogin, rsh, finger など)は無効にし、 リモートログインには ssh を使います。 inetd 配下のサービスは inetadm で一覧でき、svcadm で無効にできます。
inetadm svcadm disable svc:/network/telnet:default svcadm disable svc:/network/ftp:default svcadm disable svc:/network/finger:default svcadm disable svc:/network/login:rlogin svcadm disable svc:/network/shell:default
- Apache は、サポートされている最新版であることを確認する。
バージョンは次のようにして分かる。
# /usr/local/apache2/bin/httpd -v
- sendmail は、サポートされている最新版であることを確認する。
バージョンは次のようにして分かる。
------------------------------------------------------------------------------------------------ # /usr/lib/sendmail -d0.1 -bt < /dev/null Version 8.18.1 ------------------------------------------------------------------------------------------------
mSQL のライセンス
mSQL は、非商用の利用は無償です。製品に組み込む場合など商用の利用には、 Hughes Technologies 社の OEM ライセンスが必要です。 条件は配布物の README とライセンス条項で確認してください。
専用ユーザの作成
ユーザを作成し、パスワードを設定します。 このユーザは、ConfMan が自動配送する各種メールの受け取りと、 Web ページに書く問い合わせ先メールアドレスに使います。
sendmail の設定とテスト
Solaris で sendmail バージョンアップ の Web ページを 参考に、作業を行います。
システム起動用のシェルスクリプト作成
システム起動の手順を、次のように定めておきます。
- マシンの電源を入れ、Solaris を立ち上げる
- root でログイン
- 下記のスクリプトを実行する
--------------------------------------------------------------- #!/bin/sh # mSQL /usr/local/Hughes/bin/msql3d & echo "msql has started" # Apache /usr/local/apache2/bin/apachectl start echo "apache has started" # sendmail svcadm enable svc:/network/smtp:sendmail echo "sendmail has started" ---------------------------------------------------------------
Solaris 10 以降では、mSQL と Apache についても SMF のマニフェストを作成して登録すると、 システム起動時の自動起動と、プロセス停止時の自動再起動が行えます。
バックアップ用のディスクドライブ
バックアップは 2 重に行います。 バックアップ用のディスクは 2 台用意し、それぞれのバックアップは独立した タイミングで行います(一方は 10 分間隔、もう一方は 1 時間間隔のように)。
データベース、アップロードファイルのバックアップ用スクリプト
アップロードされたファイルとデータベースの内容は、定期的にバックアップします。 自動実行のためのスクリプトを次のように作成しました。 データベースの内容(著者、PC メンバー等の情報)と、投稿された論文ファイルの バックアップを行います。 多重起動を防ぐためのロックファイルと、古いバックアップの削除も入れています。
----------------------------------------------------------------------------------
#!/bin/sh
lock=/var/tmp/confman_backup.lock
if [ -e $lock ]; then
echo "previous backup is still running"
exit 1
fi
trap 'rm -f $lock' 0
touch $lock
date=`date '+%m%d%H%M'`
filename="backup"$date
/usr/local/Hughes/bin/msqldump -h localhost bmde_database > /export/$filename.msql
Paperfilename="Paperbackup"$date
cd /usr/local/apache2/htdocs/BMDE/ConfMan_1.7
tar -cpf /export/$Paperfilename.tar ./SUBMISSIONS
# 7 日より古いバックアップを削除する
find /export -name 'backup*.msql' -mtime +7 -exec rm -f {} +
find /export -name 'Paperbackup*.tar' -mtime +7 -exec rm -f {} +
# ディスクの使用状況を記録する
df -h /export >> /var/log/confman_backup.log
----------------------------------------------------------------------------------
バックアップは cron で 10 分間隔と 1 時間間隔に行うよう設定しました。 cron の設定ファイルは次の通りです。
ファイル: /var/spool/cron/crontabs/root
----------------------------------------------------------------
10 3 * * * /usr/sbin/logadm
1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1
0 6 * * * find /usr/local/apache2/logs/archive -type f -mtime +30 -exec rm -f {} +
00,10,20,30,40,50 * * * * /usr/local/Hughes/bin/backup.sh
08 * * * * /usr/local/Hughes/bin/backup2.sh
----------------------------------------------------------------
バックアップが実行間隔より長くかかると、処理が重なります。 上のスクリプトはロックファイルで多重起動を防いでいます。 1 回のバックアップにかかる時間は、運用開始前に time コマンドで測って確認します。
バックアップ用ディスクの空き容量は、上のスクリプトが df の結果を記録するので、 このログで確認します。
ConfMan のファイルのバックアップ
ConfMan のファイルのバックアップは手動で行います。 ConfMan のファイルは、運用を開始した後は、間違いが見つかった場合を除いて 書き換わることがないためです。
---------------------------------------------------------------- # cd /usr/local/apache2/htdocs/ # tar -cpf BMDE.tar ./BMDE # cp /usr/local/apache2/htdocs/BMDE.tar /export/. ----------------------------------------------------------------
データベース管理
本番運用の開始前に、データベースについて次の作業を行います。
- データベースを消し(msqladmin drop)、新しく空のデータベースを作る(msqladmin create)。 その後、「ConfMan の設定」をやり直す。 やり直しが終わったら、データベースのバックアップをとっておく。 これで、任意の時点で「空のデータベースで、ConfMan の設定が済んだ状態」に戻せる。
- 論文ファイルアップロードディレクトリ(ConfMan_1.7/SUBMISSIONS)は、index.html 以外を空にする
- データベースと論文ファイルのバックアップを開始している場合は、 バックアップファイルのうち不要なものを消す
論文投稿締切作業
- 作業用に「論文リスト」を作成する
ConfMan の機能を使い「論文データベース」から「論文リスト」を HTML 形式で作成し、 第一段階のチェックを行います。- 無効な登録(意味のある情報が登録されていないもの)を確認する
- 論文ファイルのアップロードが済んでいないものを確認する(これは個別に対応)
- 同一タイトルで複数回登録されているものを確認する
- 登録締切 (ConfMan を使用)
- ConfMan の機能を使って、登録締切を行う
- この時点で「論文リスト」と投稿数が確定する (chair に報告)
- 登録情報(タイトル、著者等)は、著者が Web を使って自分で入力するため、 スペルミス等の間違いがある。ConfMan で作成した「論文リスト」をチェックし、 間違いが見つかったら、分かる範囲で「論文データベース」を修正しておく (論文ファイルの方は編集しない)
- 論文ファイルアップロード締切 (Apache を使用)
- 論文ファイルのアップロードが済んでいないものを最終確認する
- 無効な登録であるのに論文ファイルがアップロードされているケースを確認する
- 無効な登録は「論文データベース」から消す
これで、論文ファイルと、ConfMan 上の「論文データベース」が出来上がります。
査読者割り当て
PC chair から「査読者割り当て」を手伝ってほしいと要望があった場合、 査読者割り当てを行います。
- (事前に) PC メンバーをシステムに登録する
- PC メンバーが PC-online 以下のファイルにアクセスできるように、Apache の設定を行う。 ID とパスワードを設定した後、全員分について、それぞれログインできることをテストする
- PC メンバーを「PC メンバーデータベース」に登録する (ConfMan の設定)
- PC メンバーの氏名とメールアドレスに間違いがないことを、もう 1 度チェックする
- PC メンバーが「査読希望論文」を登録するための Web ページを準備する
- 査読者への「査読希望論文」調査用の Web ページを、reviewersample.html のような名前で作る
- mytoroku.cgi (右クリックのメニューなどでダウンロードしてください。クリックするとエラーが出ます)
- myinput.cgi (右クリックのメニューなどでダウンロードしてください。クリックするとエラーが出ます)
論文投稿締切の時点で、論文のタイトルと abstract を、上記の Web ページ reviewersample.html に書き込みます。
- PC メンバーに対して、「査読希望論文」を登録することをメールで依頼する
- PC メンバーが「査読希望論文」を登録するので、締切、集計する。 その集計結果を見て「査読論文の割当」を行う
査読
ConfMan の機能を利用して、査読を開始します。
- ConfMan の「論文データベース」を再度チェックする。国籍の記入ミス等は訂正しておく。
- ConfMan の「PC メンバーデータベース」を再度チェックする。 氏名に誤りがないこと、PC メンバーの増減と変更を反映させておくこと。
- 「査読論文の割当」を、ConfMan のデータベースに登録する。
各論文ごとの査読者一覧を ConfMan で表示できるので、これを使って、 登録に誤りがないことを確認する。 - 「査読論文の割当」のチェック(1)
テスト用ユーザを使い、「査読論文の割当」の論文がすべてダウンロードできること、 すべての論文について査読結果を登録できることを確認する。 - 「査読論文の割当」のチェック(2)
PC メンバーすべてについて、「査読論文の割当」の論文がすべてダウンロードできること、 すべての論文について査読結果の登録画面が表示されることを確認する。 - 査読依頼のメールを PC メンバーに発送する。