EPrints 2.3技術文書 - EPrintsのインストール法


インストール

(既存のEPrintsをバージョンアップルする場合は、バージョンアップの章を参照してください。)

EPrintsは、Apacheを稼動させるユーザと同じユーザでインストールする必要があります。ユーザ「eprints」、グループ「eprints」でインストールすることを勧めます。 ユーザとグループの作成は、多くのUNIXプラットフォームでは「adduser」コマンドを使って行うことができます。このコマンドが使用できない場合は、使用しているOSの説明書に当たってください。

EPrintsのtar.gzファイルを以下のように解凍します。

 % gunzip eprints-2.something.tar.gz
 % tar xf eprints-2.something.tar

次に、「configure」スクリプトを実行します。これはシェルスクリプトであり、Perlプログラムなどシステムの様々なファイルの配置場所を見つけます。 また、必要なコンポーネントがシステムに存在するかどうかをチェックします。

 % cd eprints-2.something
 % ./configure

システムは、デフォルトでは「eprints」というユーザとグループで稼動するようインストールされます。ユーザ「root」あるいは「eprints」でインストールしない場合は、これを変更する必要があります。

configureスクリプトは多くのオプションを受け付けますが、すべて必須ではありません。最も重要なオプションは以下のとおりです。

--help
すべてのオプションを表示します(多くはソフトウェアのコンパイルオプションであり、無視できます)。

--prefix=PREFIX
EPrintsのインストール先(あるいは、バージョンアップ対象のEPrintsの配置場所)を指定します。デフォルトは、/opt/eprints2/です。

--with-perl=[PATH]
Perlインタプリタのパス(configureスクリプトが見つけられなかった場合、あるいは、複数のバージョンがインストールされているマシンで特定のバージョンを指定する場合に指定します)。

--with-user=[USER]
EPrintsがユーザ「USER」として稼動するようにインストールします。デフォルトは「eprints」です。

--with-group=[GROUP]
EPrintsがグループ「GROUP」として稼動するようにインストールします。デフォルトは「eprints」です。

--with-virtualhost=[VIRTUALHOST]
ApacheのVirtualHostディレクティブとして、*ではなく「VIRTUALHOST」を使用します。

--disable-diskfree
dfプログラムを無効にします。configureでdfプログラムのテストが失敗した場合は、このオプションは自動的に設定されます。

--with-toolpath=[PATH]
必要なバイナリファイルを捜すためのデフォルト以外の検索パスを指定します。

configureが成功したら、install.plを実行することでEPrintsをインストールできます。

 % ./install.pl

次に、Apacheの設定ファイルを修正する必要があります。このファイルは一般に、/usr/local/apache/conf/http.conf か、/etc/httpd/conf/httpd.conf です。

次の行を追加します(EPrintsを/opt/eprints2/以外にインストールした場合は、それに合わせて変更してください)。

 Include /opt/eprints2/cfg/apache.conf

Apacheを実行するユーザとグループを変更する必要もあるかもしれません。Apacheを実行するユーザはEPrintsをインストールしたユーザと同じでなければなりません。 次のように、eprintsをユーザにすることを勧めます。

 User eprints
 Group eprints


アーカイブの作成

EPrints2は、1つのシステムで複数のアーカイブを運用することができます。そのためには、EPrintsを稼動するマシンのDNS設定ファイルに別名を追加する必要があります。 その後、EPrintsは仮想ホストを運用するために必要なApache設定ファイルを作成することができます。

アーカイブの作成

MySQLが稼動していることを確認してください。

EPrints実行ユーザ(おそらく「eprints」)になってください。

EPrintsのインストールディレクトリ(デフォルトでは/opt/eprints2)に移動して、bin/configure_archiveを実行し、質問に答えます。 すると、MySQL上にデータベースが作成され、デフォルトのアーカイブ設定ファイルのコピーが/opt/eprints2/archives/ARCHIVEID/に作成されます。 ここでアーカイブ名は、アーカイブを識別する簡単な文字列です。このプログラムは/opt/eprints2/archives/ARCHIVEID.xmlというファイルも作成します。 このファイルには、質問に答えて入力した設定が含まれています。必要なら、このファイルを直接修正することも、configure_archiveコマンドを再実行することもできます。

データベーステーブルとWebサイトの作成

満足のいく設定を得るまでに必ず何度か設定の変更をすることになりますから、このプロセスを何度か繰り返すことになるでしょう。

データベースとドキュメント、Webサイトを完全に消去したい場合は、次のコマンドを実行します。


 % bin/erase_archive ARCHIVEID

以下のコマンドにより、データベーステーブルとWebサイトを作成し、このアーカイブを運用するために必要なApache設定ファイルを作成します。

 % bin/generate_apacheconf
 % bin/create_tables ARCHIVEID
 % bin/import_subjects ARCHIVEID
 % bin/generate_static ARCHIVEID
 % bin/create_user ARCHIVEID USERID EMAIL admin PASSWORD
 % bin/generate_views ARCHIVEID

ここで、USERID、EMAIL、PASSWORDは一人目の管理者アカウントとして自由に設定します。このアカウントを作成すれば、後はWebインターフェースを使って新しいアカウントを作成することができます。

これらのコマンドの用途についてのより詳細な情報は、この文書の後の章を参照するか、--manオプションをつけてコマンドを実行してください。

generate_apacheconfコマンドの実行、あるいは設定ファイルの修正を行ったら、変更を反映させるためにWebサーバをリスタートしなければなりません。 以下はApacheの停止と開始の例ですが、使用しているシステムによってはうまく動かない場合があります。その場合はApacheの説明書に当たってください。

 % /etc/rc.d/init.d/httpd stop
 % /etc/rc.d/init.d/httpd start

「reload」あるいは「restart」は使用しないでください。現在のところ、EPrintsはPerlモジュールがロードされる時にしか設定ファイルを読み込まないのですが、これらの方法では、mod_perlにPerlモジュールを再ロードさせることができないからです。


アーカイブの運用

crontabの作成

アーカイブを作成して、設定法を学習している間(そして管理者が考えを変え続けている間)は開発システムとして運用をすることになるでしょうが、ある時点で(願わくは)実運用に入ることを決断することになります。

その際、ある種のスクリプトを定期的に実行するようにしなければなりません。これを実行するもっとも良い方法は「cron」を使用することです。cronはほとんどのUNIXシステムに 含まれています

cronを設定するには次のコマンドを(eprintsユーザで)実行します。

 % crontab -e

cronテーブルに何を追加するかについては、「ブラウズビュー」と「購読誌」の項で説明します。

アーカイブあたり1組のcrontabエントリを追加します。

バックアップ

システムが適切にバックアップされるようにもしなければなりません。詳細については、後で説明します。

OAI

また、アーカイブがOAIをサポートするように設定し、登録することを勧めます。設定は極めて簡単です。アーカイブ設定ファイルディレトリにあるArchiveOAIConfig.pmファイルの空欄に記入するだけです。

EPrints 2.1はOAIバージョン1とバージョン2をサポートしており、URLパスは各々、/perl/oaiと/perl/oai2です。

アーカイブを(http://www.openarchives.orgに)登録すると、様々な検索システムがメタデータ(タイトル、著者、抄録など)を収集することができるようになり、より多くの人がアーカイブにあるレコードを見つけることができるようになります。

OAIプロトコルの詳細についてはhttp://www.openarchives.org/を参照してください。 また、アーカイブのOAIインターフェースの設定については、「アーカイブの設定」の章を参照してください。


ブラウズビュー

しばしば折をみて、各アーカイブについて「generate_views」スクリプトを実行して、アーカイブサイトのブラウズビューセクションを再構築するべきです。

このセクションは1組の静的なページからなります。デフォルトでは、件名で1つ、登録年で1つ(すべての年ではなく、論文が登録された年だけが表示されます)のブラウズビューが作成されます。 検索よりブラウズを好むユーザがいます。また、ブラウズビューは検索エンジンが抄録ページを見つけて、索引化する方法を提供します。

生成するビューの編集方法については、ArchiveConfig.pm設定ファイルの注記を参照してください。

ビューの設定方法については「ハウツーガイド」の章も参照してください。

この機能が必要ない場合

この機能を使いたくない場合は、使う必要はありません。あなたのアーカイブですからあなたの自由です。テンプレートファイルとホームページからビューページへのリンクを削除し、generate_viewsスクリプトを実行しないようにしてください。

設定

ビューセクションの再構築は(「eprints」ユーザで)「cron」コマンドを使って行うのがベストです。cronは出力項目があると「eprints」ユーザにメールで通知します。これがわずらわしい場合は、--quietオプションを付けたほうが良いでしょう。そうすればメールが届くのはエラーが生じた時だけになります。

どの程度の頻度で再構築を行うかはアーカイブの大きさと、コンテンツが変更される頻度によります。この関係はおおよそ「n」のオーダーです。すなわち、アーカイブのアイテムの数が2倍になったら、再構築の回数も2倍にします。

最初は1時間に1回が適当だと思われます。アーカイブが本当に大きくなり、たとえば1万レコードを超えるようになったら、おそらく1日に1回が現実的な頻度でしょう。まだ前回のgenerate_viewsスクリプトが終わらないうちに再度スクリプトを実行してしまい、お互いの出力を台無しにすることがあってはならないからです。

generata_viewsがどのくらい時間がかかるのかを知るためにコマンドラインで実行してみてください。

それから次の行をcrontabに追加します。

 23 * * * * /opt/eprints2/bin/generate_views I<archiveid>

この例では毎時23分に実行することになります。アーカイブが複数ある場合は、すべてのアーカイブの再構築を同時に開始せずに、時間をずらしてください。 そうしないと、負荷の高いスクリプトが複数同時に実行しようとして、1時間に1度すべての速度が遅くなります。

cronの使用法についてはcrontabのmanページman 5 crontabを参照してください。


購読誌

購読誌は、ユーザがあらかじめ指定した検索条件にマッチするアイテムがアーカイブに追加された時、定期的にメールで入手する方法を提供します。

この購読誌を自動的に送付するためには、(ビューの再構築同様)crontabにエントリを追加する必要があります。アーカイブあたり1組のエントリが必要です。

以下に例を示します。

    # 00:15 every morning
    15 0 * * * /opt/eprints2/bin/send_subscriptions dookuprints daily
    # 00:30 every sunday morning
    30 0 * * 0 /opt/eprints2/bin/send_subscriptions dookuprints weekly
    # 00:45 every first of the month
    45 0 1 * * /opt/eprints2/bin/send_subscriptions dookuprints monthly

3つのジョブが同時にスタートしてデータベースを酷使しないように時間をずらすよう注意してください。例に上げた時間を変更したいと思うかもしれませんが、購読誌を送付する最適な時間として早朝(深夜から午前6時まで)を勧めます。

この機能をユーザに提供したくない場合

アーカイブのArchiveConfig.pmファイルで、すべてのタイプのユーザから「subscription」権限を削除します。


デフォルトの設定

EPrintsは新規アーカイブを、研究論文のアーカイブに合ったメタデータフィールドセットを持つように設定します。

e-printの「タイプ」の初期値(書籍、ポスター、会議論文)はmetadata-type.xmlで設定されています。

サブジェクトの初期値は議会図書館件名表のサブセットです。独自のサブジェクトで完全に置き換えても構いません。ただし、標準的な件名を使った方が、メタデータは他の人にとって有用なものになります。

著者と編者はオプションとして「hasid」を持つことができます。これは名前とは別に、人を一意に識別するidとして使用することができます(名前は一意ではありません)。hasidは「研究業績」ページ(ハウツーガイドのカスタムビューの項を参照)や統計の作成にとって便利なものでしょう。 hasidがないと、どの「John Smith」さんが、その論文を書いたのかを確定することは決してできないでしょう。 この機能が必要ない場合は、著者と編者から「hasid」を除去します。この場合、テーブルの再作成とアーカイブの消去が必要となりますので、運用を開始する前に使用の有無を判断する必要があります。 フィールドにどんな情報を入力するかをよりはっきりと示したい場合は、アーカイブのフレーズファイルにあるeprint_fieldname_authors_ideprint_fieldname_editors_idフレーズを編集してください。

一般的に言って、デフォルト設定は変更してください。これは推奨するシステム設定ではなく、開始点に過ぎないからです。


新しい設定

互いに関連する複数のアーカイブ、すなわち「コミュニティ」を設定する場合、共通のサブジェクトやメタデータを持ちたいと思うかもしれません。

タイプの削除・追加は容易です。フィールドの削除・追加は少し大変です。すべての値の「表示上の」名称はデフォルト設定用のフレーズファイルとアーカイブ独自の「フレーズファイル」に格納されています。

別の目的や言語のために良いデフォルト設定を作成した場合は(そして、それを共有したい場合は)、EPrintsの開発者に連絡してください。設定例としてオンライン上に置いたり、代替デフォルトとして最新バージョンのEPrintsに含めたりするかもしれません。

 EPrints 2.3技術文書 - EPrintsのインストール法