lorisサーバ構築
lorisサーバ(画像配信サーバ?)を構築します。
なんで?とかはないです。
必要なんです。。。
OpenSeaDragon?JPEG2000?pyramid Tiff?IIIF???
環境
- OS:CentOS7
- Webサーバ:apache2.4
- 画像サーバ:loris1.2.2(最新版は2.0だけどね)
フォルダとファイル
こんな感じ
パス | 説明 |
---|---|
/etc/httpd/conf.d/loris.conf | apache用設定ファイル |
/etc/loris/loris.conf | lorisサーバ設定ファイル |
/var/log/httpd/loris.log | ログファイル |
/var/www/loris | lorisサーバスクリプト |
/usr/local/share/images | 配信画像のルートディレクトリ(/etc/loris/loris.conf#src_img_rootにて定義) |
構築手順
OSインストール
- OSはminimalでインストールしました。ごく普通に。 必要なパッケージは後から都度追加する方針です。
apacheインストール
# yum -y install httpd httpd-devel mod_wsgi
画像ライブラリのインストール
- なにやらいろいろ入れます。
zlib
# wget http://zlib.net/zlib-1.2.8.tar.gz # tar xfz zlib-1.2.8.tar.gz # pushd zlib-1.2.8 # ./configure # make # make install # popd # rm -rf zlib-1.2.8.tar.gz
libjpeg
# yum -y install libjpeg libjpeg-devel
pip(要python-setuptools)
# easy_install pip
画像ライブラリ
# yum -y install \ libjpeg-turbo \ libjpeg-turbo-devel \ freetype \ freetype-devel \ zlib-devel \ lcms2 \ lcms2-devel \ lcms-utils \ libtiff-devel \ libwebp-devel \ python-devel \ python-setuptools
pythonライブラリのインストール
# pip install Pillow # pip install configobj # pip install requests # pip install mock # pip install responses
LIBフォルダ追加
# echo /usr/local/lib > /etc/ld.so.conf.d/custom.conf # ldconfig
lorisインストール
やっとlorisのインストールです。
lorisユーザ作成
# useradd -d /var/www/loris -s /sbin/false loris
セットアップ
# pushd /usr/local/src # wget https://github.com/loris-imageserver/loris/archive/1.2.2.tar.gz -O loris.tar.gz # tar xfz loris.tar.gz # pushd /usr/local/src/loris-1.2.2 # ./setup.py install # popd
apache設定ファイルの追加
/etc/httpd/conf.d/loris.confを新規作成。
# /etc/httpd/conf.d/loris.conf ExpiresActive On ExpiresDefault "access plus 5184000 seconds" AllowEncodedSlashes On WSGIDaemonProcess loris user=loris group=loris processes=10 threads=15 maximum-requests=10000 WSGIScriptAlias /loris /var/www/loris/loris.wsgi WSGIProcessGroup loris WSGISocketPrefix /var/run/wsgi SetEnvIf Request_URI ^/loris loris CustomLog logs/loris-access.log combined env=loris
apache再起動
apacheを再起動して設定を反映します。
# systemctl restart httpd.service
動作確認
デフォルトで入っているサンプル画像を画像ルートへコピーして表示確認。
# pushd /usr/local/src/loris-1.2.2/tests # cp -r img /usr/local/share/images
URLはこんな感じ。(設定が定義されているjsonが返ってくるみたいです)
- http://xxxxx/loris/[画像ファイル名]
画像自体へのリクエストはこんな感じ。
- http://xxxxx/loris/[画像ファイル名]/[座標位置]/[サイズ]/[回転]/[画像の種類].[拡張子]
参考
Home — IIIF | International Image Interoperability Framework