Sesameをインストールして管理画面に認証機能をつける

By | 2015年7月19日

訳あって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連携して格納したほうが良いけど今回は簡易的な方法で行った。

参考:
How to set up a password for openrdf workbench?

コメントを残す

メールアドレスが公開されることはありません。