前回の投稿で、学術機関リポジトリを運用するためのオープンソースソフトウェア「DSpace」について、インストール方法を紹介しました。
前回の投稿はこちら。
https://itlogs.net/windows-dspace-install/
ところが、前回インストールした時点(2016年10月時点)でDSpaceの安定版最新バージョンは「5.6」だったのが、現在(2016年11月時点)でCurrent Releaseが「6.X」で安定版最新バージョンが「6.0」となっていました。
そこで、今回は「5.6」⇒「6.0」へDSpaceをアップグレードする手順を紹介します。
なお、今回のバージョンは以下です。
- Windows 10 Home(64bit)
- Pleiades All in One 4.6.1.v20161018(Eclipse 4.6.1 Neon)
- PostgreSQL 9.6.0
- DSpace 6.0
バックアップの取得
まずは、データベースであるPostgreSQLのバックアップを念のため取得しておく。
以下のコマンドで、適当な場所のバックアップ先ファイル名を指定して実行する。
> pg_dump -U dspace -f C:\Pleiades\backup\dspace.sql dspace
データベース以外は、設定ファイルやカスタマイズしたファイル類をバックアップ取得するのだが、今回はデフォルトから何も変更していないので、スルーする。
必要なソフトウェアのアップデート
DSpaceの動作に必要なソフトウェアは、Java、Tomcat、Ant・Maven(ビルドツール)、PostgreSQL・Oracle(データベース)などである。
それらのソフトウェアについて、今回アップグレードするDSpaceに対応したバージョンへアップデートする必要がある。
しかし、今回は全て対応したバージョンであったため、スルーする。
DSpaceのアップグレード
PostgreSQLデータベースの暗号化拡張機能の有効化
DSpace 6.Xでは、PostgreSQLのバージョンは9.4以降で、データベースの暗号化拡張機能「pgcrypto」を有効にする必要がある。
Windows版では、PostgreSQLインストールフォルダ内の「\share\extension」に、ファイル名が「pgcrypto」から始まるファイル類が含まれているはずである。
コマンドプロンプトを開き、以下のコマンドで暗号化拡張機能「pgcrypto」を有効する。
> psql --username=postgres dspace > \c dspace > CREATE EXTENSION pgcrypto;
DSpaceのダウンロード
DSpace 6.0をダウンロードする。
前回は、GitHubよりクローンして取得したため、今回は以下のコマンドでフェッチした。
> git fetch origin > git checkout refs/tags/dspace-6.0
このタイミングやこの後の作業として、自分で編集を加えたものがあればマージする作業が発生するのだが、今回はまだ何もカスタマイズしていないので、マージ作業はない。
local.cfgファイルの編集
ビルド設定ファイルは、以前は「build.properties」というファイルだったが、DSpace 6.0より「local.cfg」ファイルへと変更されたようだ。
DSpaceソースフォルダ内の「\dspace\config\local.cfg.EXAMPLE」がサンプルファイルなので、それを同じ場所にコピーし、ファイル名を「local.cfg」とする。
デフォルト設定値のままのものも含むが、以下の通りに変更した。
dspace.dir=C:/Pleiades/workspace/dspace dspace.hostname = localhost dspace.baseUrl = http://localhost:8080 dspace.ui = dspace dspace.name = My Repository default.language = ja_JP solr.server = http://localhost:8080/solr db.url = jdbc:postgresql://localhost:5432/dspace db.driver = org.postgresql.Driver db.dialect = org.dspace.storage.rdbms.hibernate.postgres.DSpacePostgreSQL82Dialect db.username = dspace db.password = dspace db.schema = public
Mavenビルド
local.cfgファイルが編集できたら、Mavenというビルドツールでビルドする。
これは、前回インストールした時と同様に、Eclipseで行うことにする。
Eclipseを起動し、メニューバー「実行」⇒「実行の構成」を開く。
左側メニュー「Mavenビルド」を選択し、前回作成したものを選択して編集する。
以下のように指定し、実行する。
- 基底ディレクトリ…C:\Pleiades\workspace\dspace-source\dspace
- ゴール…-U clean package
- ランタイムJRE…代替JRE(java7)
実行すると、コンソールにメッセージが出力されて、ビルド完了すると、以下のフォルダ・ファイルが作成される。
- C:\Pleiades\workspace\dspace-source\dspace\target\dspace-installer\build.xml
Antビルド(アップデート)
続いて、作成されたbuild.xmlファイルを元に、Antというビルドツールでビルドする。
こちらも同様に、Eclipseで行うことにする。
メニューバー「実行」⇒「外部ツール」⇒「外部ツールの構成」を開く。
左側メニュー「Antビルド」を選択し、「新規」ボタンで新規作成する。
以下のように指定し、実行する。
- ビルドファイル…C:\Pleiades\workspace\dspace-source\dspace\target\dspace-installer\build.xml
- 実行するターゲットを検査…updateにチェックオン
- ランタイムJRE…代替JRE(java7)
実行すると、コンソールにメッセージが出力されて、ビルド完了すると、以下のフォルダ(build.propertiesファイルのdspace.dirで指定したフォルダ)にDSpaceの実行ファイル類が作成される。
- C:\Pleiades\workspace\dspace
作成されたファイルの中に「\config\local.cfg」ファイルがあるので、設定をカスタマイズしたものがあれば、変更をこちらに反映する必要がある。
今回は特にないので、スルーする。
Tomcatへデプロイ
ビルドで作成されたwebappsフォルダ内のフォルダをTomcatのwebappsフォルダへコピーしてデプロイする。
- コピー元…C:\Pleiades\workspace\dspace\webapps
- コピー先…C:\Pleiades\tomcat\7\webapps
コピーする対象は、前回と同様で以下の4つにした。
- jspui…コピー先のフォルダ名を「dspace」にする。上記のdspace.uiで設定している。
- oai…OAI-PMHによるメタデータのハーベストするなら必要と思われる。
- solr…Apache Solrという検索エンジン。jspui/xmluiとともにデプロイおかないと画面が正しく表示されなかった。
- xmlui…そのままコピー。
Tomcatの起動(再起動)
DSpace 5.Xからアップグレードする場合は、PostgreSQLデータベースのアップグレード作業は不要であり、Tomcat再起動時に自動で行われるらしい。
しかし、それ以前のバージョンからアップグレードする場合は、コマンドによるアップグレード作業が必要なようだ。
今回は、DSpace 5.6からのアップグレードなので、この作業は不要であるため、スルーする。
以下のバッチファイルでTomcatの起動(もしくは、再起動)を行う。
コンソールにメッセージが出力されて、デプロイが完了し、Tomcatが起動する。
- Tomcat起動…C:\Pleiades\tomcat\7\bin\startup.bat
- Tomcat終了…C:\Pleiades\tomcat\7\bin\shutdown.bat
Tomcatが起動したら、以下のURLで画面が開くことを確認する。
- http://localhost:8080/dspace/
- http://localhost:8080/xmlui/
ということで、無事にアップグレード完了。
以上。
参考サイト
Upgrading DSpace – DSpace 6.x Documentation – DuraSpace Wiki
コメント