Monthly Archives: 1月 2015

VirtuosoのSPARQLエンドポイントを80番ポートで公開する方法

VirtuosoはデフォルトでSPARQLエンドポイントを8890ポートで公開している。

このままだと80ポートくらいしかアクセス出来ないやたらと厳しいネットワーク環境では見ることが出来ない。

基本的には以下を参考にすれば良い。

Proxying Virtuoso Via Apache2

一年半くらい前に設定したときはこれで行けたような気がするんだけど、最近また設定することがあってやってみたら503エラーがでて成功しなかった。

いろいろググってこんな記事を見つけた。

apache proxy to virtuoso 7.1 #89

この通りに設定してみる

$ sudo vi /etc/httpd/conf/httpd.conf
ProxyPass /sparql http://localhost:8890/sparql
ProxyPassReverse /sparql http://localhost:8890/sparql
<Location /sparql>
    Order allow,deny
    allow from all
    ProxyHTMLURLMap         / /sparql/ c
    ProxyHTMLURLMap http://localhost:8890/ /sparql
    SetOutputFilter         INFLATE;DEFLATE;proxy-html
    #SetOutputFilter proxy-html
</Location>

これでもまだエラー。

さらにググって見るとこんな記事を発見。

RDFストア環境構築(Virtuoso編)3

すばらしい。この分野でやっと日本語の記事が出てくるようになったのか・・・感動

こちらの記事ではSELinuxを無効にしていたので実践。

$ setenforce 0

さらに/etc/selinux/configファイルを編集

$ sudo vi /etc/selinux/config

#SELINUX=enforcing これをコメントアウト
SELINUX=disabled これを追加

これで再起動してみたら成功

しかしSPARQLの結果で日本語が文字化けしてしまう。

SetOutputFilterの行を削除してみる。

$ sudo vi /etc/httpd/conf/httpd.conf
ProxyPass /sparql http://localhost:8890/sparql
ProxyPassReverse /sparql http://localhost:8890/sparql
<Location /sparql>
 Order allow,deny
 allow from all
 ProxyHTMLURLMap / /sparql/ c
 ProxyHTMLURLMap http://localhost:8890/ /sparql
 SetOutputFilter INFLATE;DEFLATE;proxy-html ここを削除
 #SetOutputFilter proxy-html
</Location>

これで成功。

Virtuosoのインストール時にコンパイル出来ない時

何日か前の出来事なのでうろ覚え。

CentOSサーバにVirtuosoをインストールする時に確かconfigureで失敗。

gccが入っていないことが原因だった。

VirtualBox な CentOS 6.5 に gcc 4.8.2 をインストールしてみる

こちらを参考にgccを入れる。

なんか色々失敗した気がするがとりあえずgccが入ったのでよしとする。

まだconfigureでエラーがでる

validity of the OpenSSL headers in /usr... configure: error

OpenSSLのライブラリが無いことが問題らしいので色々入れる

sudo yum install openssl-devel zlib-devel readline-devel

これで解決したような気がする

MySQL5.6起動エラー

研究室サーバにMySQL5.6を入れたが起動エラーが出た

MySQL Daemon failed to start.
mysqld を起動中:                                           [失敗]

/etc/my.cnfに記述されているログの場所を確認

ログには
Can’t find file: ‘./mysql/user.frm’ (errno: 13 – Permission denied)
と書かれていた。

権限を与える

sudo chown -R mysql:mysql /var/lib/mysql/

これで成功

Virtuoso 6.x.xからVirtuoso 7.1.0へのデータ移行

以前にこんな記事を書いた

Virtuoso open source 7.1 update 躓いた点など

このとき結局データ移行出来なかったんだけど、今回やってみたらできた。

/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.db

をそのまま移す感じで。

virtuoso.db以外の.logやら.pxaやら一緒に移してしまうとエラーが出る。

VOS7をインストールしたらデフォルトでは/virtuoso-opensource/var/lib/virtuoso/dbにvirtuoso.iniしかないと思うので、そこに取っておいたvirtuoso.dbを移せばok

あとgithubじゃなくて普通にDLページ有りました

http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VOSDownload