Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setup Loris IIIF Image Server; Address #326 #327

Merged
merged 5 commits into from
Aug 17, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions install/Vagrantfile
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.network :forwarded_port, guest: 8282, host: 8282 # Islandora Microservices
config.vm.network :forwarded_port, guest: 3306, host: 3306 # MySQL
config.vm.network :forwarded_port, guest: 5432, host: 5432 # PostgreSQL
config.vm.network :forwarded_port, guest: 8383, host: 8383 # Loris

config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--memory", $memory]
Expand All @@ -71,6 +72,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.provision :shell, :path => "./scripts/lamp-server.sh", :args => home_dir
config.vm.provision :shell, :path => "./scripts/fits.sh", :args => home_dir
config.vm.provision :shell, :path => "./scripts/solr.sh", :args => home_dir
config.vm.provision :shell, :path => "./scripts/loris.sh", :args => home_dir
config.vm.provision :shell, :path => "./scripts/composer.sh", :args => home_dir
config.vm.provision :shell, :path => "./scripts/drupal.sh", :args => home_dir
config.vm.provision :shell, :path => "./scripts/fcrepo.sh", :args => home_dir
Expand Down
16 changes: 16 additions & 0 deletions install/configs/002-loris.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<VirtualHost *:8383>

ExpiresActive On
ExpiresDefault "access plus 5184000 seconds"

AllowEncodedSlashes On

WSGIDaemonProcess loris2 user=loris group=loris processes=10 threads=15 maximum-requests=10000
WSGIScriptAlias /loris /var/www/loris2/loris2.wsgi
WSGIProcessGroup loris2

SetEnvIf Request_URI ^/loris loris
CustomLog ${APACHE_LOG_DIR}/loris-access.log combined
ErrorLog ${APACHE_LOG_DIR}/loris-error.log

</VirtualHost>
1 change: 1 addition & 0 deletions install/configs/kdu_libs.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/opt/djatoka/lib/Linux-x86-64
58 changes: 58 additions & 0 deletions install/scripts/loris.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#!/bin/bash
echo "Installing Loris IIIF Image Server"

HOME_DIR=$1

if [ -f "$HOME_DIR/islandora/install/configs/variables" ]; then
. "$HOME_DIR"/islandora/install/configs/variables
fi

# Kakadu
if [ ! -f "$DOWNLOAD_DIR/adore-djatoka.tar.gz" ]; then
echo "Downloading Adore-Djatoka"
wget -q -O "$DOWNLOAD_DIR/adore-djatoka.tar.gz" "http://downloads.sourceforge.net/project/djatoka/djatoka/1.1/adore-djatoka-1.1.tar.gz"
fi

if [ $(grep -c 'Listen 8383' /etc/apache2/ports.conf) != 1 ]; then
echo "Adding Listen 8383 to Apache ports.conf"
sed -i '/Listen 80$/a \Listen 8383' /etc/apache2/ports.conf
fi

cd /opt
mkdir djatoka
cd /tmp || exit
cp "$DOWNLOAD_DIR/adore-djatoka.tar.gz" /tmp
tar -xzvf adore-djatoka.tar.gz
cd adore-djatoka-1.1 || exit
mv -v ./* /opt/djatoka
ln -s /opt/djatoka/bin/Linux-x86-64/kdu_compress /usr/local/bin/kdu_compress
ln -s /opt/djatoka/bin/Linux-x86-64/kdu_expand /usr/local/bin/kdu_expand

#Dependencies
apt-get -y install python-pip python-setuptools
pip install --upgrade pip
pip uninstall PIL
pip uninstall Pillow
apt-get -y purge python-imaging
apt-get -y install libjpeg-turbo8-dev libfreetype6-dev zlib1g-dev liblcms2-dev liblcms2-utils libtiff5-dev python-dev libwebp-dev libapache2-mod-wsgi
pip install Pillow
pip install Werkzeug
pip install configobj
pip install requests
pip install mock
pip install responses
useradd -d /var/www/loris2 -s /sbin/false loris
a2enmod headers expires
cp "$HOME_DIR/islandora/install/configs/002-loris.conf" "/etc/apache2/sites-enabled/"
cp "$HOME_DIR/islandora/install/configs/kdu_libs.conf" "/etc/ld.so.conf.d/kdu_libs.conf"
ldconfig
mkdir /usr/local/share/images

#Install Loris
cd /opt
git clone https://github.com/loris-imageserver/loris.git
cd /opt/loris
cp -R /opt/loris/tests/img/* /usr/local/share/images
chown -hR loris:loris /usr/local/share/images
python setup.py install
service apache2 restart