訳あってSesameをCentOSにインストールすることにした。
まずJava 6以上、Tomcat 7以上がインストールされていることが条件。
JavaとTomcatのインストールは「Javaアプリケーションサーバー構築(Tomcat6)」が非常に参考になる。
バージョンは古いので上の条件に置き換えること。
Sesameの公式ページのダウンロードリンクから最新版のtar.gzをダウンロードして解凍。
warフォルダ以下にある、openrdf-workbench.warとopenrdf-sesame.warを/usr/local/tomcat/webapps以下にコピー
$ tar zxvf openrdf-sesame-2.8.4-sdk.tar.gz $ cd openrdf-sesame-2.8.4 $ cd war $ cp openrdf-workbench.war /usr/local/tomcat/webapps/ $ cp openrdf-sesame.war /usr/local/tomcat/webapps/
これでSesameのインストールは完了。
localhost:8080/openrdf-workbenchにアクセスすると管理画面が見れるはず。
サーバの8080番ポートを開けていてworkbenchが誰でも外から見れる状態だとまずいので、簡単に認証機能をつけることにした。
$ vi /usr/local/tomcat/webapps/openrdf-workbench/WEB-INF/web.xml # web-app要素内に以下を追記
<security-constraint> <web-resource-collection> <web-resource-name>Sesame Workbench</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>sesame-user</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>DIGEST</auth-method> <realm-name>Sesame Workbench</realm-name> </login-config> <security-role> <description>The role required for Sesame workbench</description> <role-name>sesame-user</role-name> </security-role>
$ vi /usr/local/tomcat/conf/tomcat-users.xml # tomcat-users要素内に以下を追記
<role rolename="sesame-user"/> <user username="ユーザ名" password="パスワード" roles="sesame-user"/>
apache終了→tomcat終了→tomcat起動→apache起動の順で再起動
これでlocalhost:8080/openrdf-workbenchにアクセスするとユーザ名とパスワードを求められると思う。
参考にしたサイトだとBASIC認証になっていたので、DIGEST認証に変更した。ユーザ名とパスワードは本当はDB連携して格納したほうが良いけど今回は簡易的な方法で行った。