Skip to content

Provisioning Islandora on Ubuntu

Gavin Morris edited this page Nov 12, 2015 · 18 revisions

Introduction

Within this repository, there will be a stand alone bash script designed to install an all-in-one Islandora stack upon any type of platform e.g Virtual Machine, bare metal server etc.

This document is for the evaluation and testing of Islandora but with the secondary purpose of explaining all involved installation steps for wider Islandora adoption and educational transparency.

Document Maintainer

This document is being submitted to the Islandora DevOps Interest Group to demonstrate a base Islandora install as performed and agreed upon by the Islandora Community. Any feedback should be directed at the Islandora DevOps Interest Group at https://github.com/islandora-interest-groups/Islandora-DevOps-Interest-Group.

Disclaimer

This documentation is provided by the Islandora DevOps Interest Group "as is" and "with all faults." Islandora DevOps makes no representations or warranties of any kind concerning the safety, suitability, inaccuracies, typographical errors, or other harmful components resulting from the use of this documentation or the software installed and referenced in the documentation. There are inherent dangers in the use of any software, and the user is solely responsible for determining whether this software product and this documentation is compatible with their equipment and other software installed on their equipment. Users are also solely responsible for the protection of their equipment and backup of their data, and Islandora DevOps will not be liable for any damages one may suffer in connection with using or modifying this documentation or referenced software.

Index

  • Server
  • Script
  • Install Dependencies and Pre-setup
  • Environment
  • OS
  • Package Installation
  • From Source
  • ghostscript
  • ffmpeg
  • From Binaries
  • ffmpeg2theora
  • java
  • Fits
  • adore-djatoka
  • drush
  • Configuration
  • OpenOffice
  • Monit
  • Apache and PHP
  • Setup Databases
  • Install Fedora Commons
  • Fedora Commons Base Install
  • XACML Settings
  • GSearch and Solr
  • GSearch Multithreading
  • Adore-Djatoka
  • Setup Logging
  • Drupal Filter
  • Install Drupal
  • CLUI Config
  • Islandora Modules
  • Libraries
  • Drupal site install
  • Drush Enables and Configuration

Server

This document is outlining a single (all-in-one) Islandora stack installation using Ubuntu 14.04 LTS system.

For general purpose repository sites, we recommend at minimum 2-4 CPU cores and 8GB-10GB of RAM.

This would be scaled up according to user-load, the type of derivative files being generated by the system (ie. creating web friendly version of archival quality images or video are quite processor intensive) and many other factors.

SSH keys

User accounts e.g. islandora
Sudoers config (location, ideal setup)
iptables (turn off for initial deploy?)
Install Dependencies and Pre-setup

Environment

created a islandora-install.properties file that should be removed or secured later

cat ~/islandora-install.properties

#!/bin/bash
DB_SERVER="localhost"
DB_ROOT_PASSWORD="password"            # Set MySQL root password -> keep it simple -> run mysql_secure_installation after install to secure mySQL
DRUPAL_DB_NAME="drupal7"               # Drupal database name
DRUPAL_DB_USER="drupal"                # Drupal username for settings.php file
DRUPAL_DB_PASS="password"              # Drupal password for settings.php file
DRUPAL_ADMIN_USER="admin"              # Drupal admin username to log into Drupal Site
DRUPAL_ADMIN_PASS="password"           # Drupal admin password to log into Drupal Site
DRUPAL_SITE_NAME="Islandora Install"   # Drupal site name - displayed on the web site
FEDORA_VERSION="3.7.1"                 # Fedora version to install:  3.5 or 3.6.2 or 3.7.0 or 3.7.1
FEDORA_DB_NAME="fedora3"               # Name of fedora MySQL database -> fedora3 is recommended
FEDORA_DB_USER="fedoraAdmin"           # Fedora db username -> for fedora.fcfg file
FEDORA_DB_PASS="password"              # Fedora db password -> for fedora.fcfg file
FEDORA_ADMIN_USER="fedoraAdmin"        # Username for http://localhost:8080/fedora/admin
FEDORA_ADMIN_PASS="password"           # Password for http://localhost:8080/fedora/admin
FEDORA_USER="fedora"                   # User that tomcat runs as
FEDORA_HOME="/usr/local/fedora"        # Fedora home dir
CATALINA_HOME="$FEDORA_HOME/tomcat"    # Tomcat location
# NOTE adjust memory so that it is no larger than half of total system memory. Depending on stack deployment this can be adjusted further. Don’t recommend running stack on system with less than 4GB of ram
JAVA_OPTS="-Xms3072m -Xmx3072m -XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -  Djavax.net.ssl.trustStore=/usr/local/fedora/server/truststore -Djavax.net.ssl.trustStorePassword=tomcat -Dsolr.solr.home=/usr/local/fedora/solr -Dkakadu.home=/opt/adore-djatoka/bin/Linux-x86-64 -Djava.library.path=/opt/adore-djatoka/lib/Linux-x86-64 -DLD_LIBRARY_PATH=/opt/adore-djatoka/lib/Linux-x86-64"
JAVA_HOME=/usr/lib/jvm/java-7-oracle/jre  
# Moved this down below java install please change to match java version
TOMCAT_BASE="http://localhost:8080"
ISLANDORA_BASE="$TOMCAT_BASE/fedora"
SOLR_BASE="$TOMCAT_BASE/solr"
ISLANDORA_BRANCH="7.x"
TUQUE_BRANCH="1.x"
ERROR_LEVEL="2"
FEDORA_GSEARCH_URL="http://downloads.sourceforge.net/fedora-commons/fedoragsearch-2.7.1.zip"
FEDORA_GSEARCH_NAME="fedoragsearch-2.7.1"
SOLR_VERSION="4.2.0"
NUMBER_OF_GSEARCH_THREADS="2"          #do one gsearch thread per cpu might want to skip multithreading if you only have 1 cpu
GSEARCH_UPDATER_NAMES="FgsUpdaters FgsUpdater1"
DRUPAL_FILTER_URL="https://github.com/Islandora/islandora_drupal_filter/releases/download/v7.1.3/fcrepo-drupalauthfilter-3.7.1.jar"
SOLR_URL="http://archive.apache.org/dist/lucene/solr/4.2.0/solr-4.2.0.tgz"
SOLR_NAME="solr-4.2.0"
SOLR_DEFAULT_CORE_PATH="collection1"

Q1="CREATE DATABASE IF NOT EXISTS $DRUPAL_DB_NAME CHARACTER SET utf8 COLLATE utf8_bin;"
Q2="GRANT ALL ON $DRUPAL_DB_NAME.* TO $DRUPAL_DB_USER@localhost IDENTIFIED BY '$DRUPAL_DB_PASS';"
Q3="CREATE DATABASE IF NOT EXISTS $FEDORA_DB_NAME CHARACTER SET utf8 COLLATE utf8_bin;"
Q4="GRANT ALL ON $FEDORA_DB_NAME.* TO $FEDORA_DB_USER@localhost IDENTIFIED BY '$FEDORA_DB_PASS';"
Q5="FLUSH PRIVILEGES;"
SQL="${Q1}${Q2}${Q3}${Q4}${Q5}"

APACHE_DEFAULT_SITE="000-default"
APC_CONFIG_FILE="/etc/php5/mods-available/apcu.ini"
PROXY_DJATOKA_CONFIG="/etc/apache2/conf-available/proxy_djatoka.conf"
APACHE_USER="www-data"
APACHE_SERVICE="apache2"
OS_DEFAULT_DOCUMENTROOT="/var/www"
SCHEDULE_TOMCAT_SERVICE_COMMAND="update-rc.d tomcat start 95 2 3 4 5 . stop 15 0 1 6 ."
SCHEDULE_OPENOFFICE_SERVICE_COMMAND="update-rc.d openoffice start 92 2 3 4 5 . stop 30 0 1 6 ."
CRON_SPOOL_DIR="/var/spool/cron/crontabs"
MONIT_CONF_DIR="/etc/monit/conf.d"
MONIT_CONFIG_FILE="/etc/monit/monitrc"

Source environment (Please note: this must be redone if you close your shell mid-install)

chmod +x ~/islandora-install.properties

. ~/islandora-install.properties

Operating System

Ensure latest core os updates

apt-get update && apt-get upgrade

Add repo to easily obtain oracle java installer.

apt-get -y install python-software-properties && add-apt-repository -y ppa:webupd8team/java && apt-get -y update

Add optional multiverse repos in /etc/apt/sources.list

Uncomment each line in this file that ends in multiverse.

Software Dependencies installed by Apt-Get Package Manager accept license agreement and enter root password when asked

apt-get -y install oracle-java7-installer libjpeg-dev libpng12-dev libtiff4-dev php5 php5-cli php5-curl php5-dev php5-gd php5-ldap php5-mysql php5-xsl php-apc php-soap php-xml-htmlsax3 php-xml-parser php-xml-rpc php-xml-rpc2 php-xml-rss php-xml-serializer php5-imagick php5-mcrypt php-xml* mysql-server vim curl apache2 rsync wget imagemagick ant libimage-exiftool-perl unzip lame autoconf build-essential checkinstall git libass-dev libfaac-dev libgpac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev librtmp-dev libtheora-dev libtool libvorbis-dev pkg-config texi2html zlib1g-dev ffmpeg2theora poppler-utils python-pip libreoffice libreoffice-writer libreoffice-calc libreoffice-impress libreoffice-draw bibutils ufraw links monit tesseract-ocr tesseract-ocr-eng tesseract-ocr-fra tesseract-ocr-spa tesseract-ocr-ita tesseract-ocr-por tesseract-ocr-hin tesseract-ocr-deu tesseract-ocr-jpn tesseract-ocr-rus

Software Dependencies compiled from Source

ghostscript

Please note: ubuntu 14.04 installs ghostscript 9.10 which is currently failing our test sets and prevents tiffs from being generated from pdfs. Recommend installing from source to get correct version

wget http://downloads.ghostscript.com/public/ghostscript-9.05.tar.gz

tar xvzf ghostscript-9.05.tar.gz

cd ghostscript-9.05

./configure

make && make install

should return result

gs --version

ffmpeg

mkdir ~/ffmpeg-source

cd ~/ffmpeg-source

yasm

wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz

tar xzvf yasm-1.2.0.tar.gz && rm -rf yasm-1.2.0.tar.gz

cd yasm-1.2.0

./configure

make

checkinstall --pkgname=yasm --pkgversion="1.2.0" --backup=no --deldoc=yes --fstrans=no --default

x264

cd ~/ffmpeg-source

git clone --depth 1 git://git.videolan.org/x264.git

cd x264

./configure --enable-static --enable-shared

make

checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes --fstrans=no --default

ldconfig

cd ~/ffmpeg-source

aac

git clone --depth 1 git://github.com/mstorsjo/fdk-aac.git

cd fdk-aac

autoreconf -fiv

./configure --disable-shared

make

checkinstall --pkgname=fdk-aac --pkgversion="$(date +%Y%m%d%H%M)-git" --backup=no --deldoc=yes --fstrans=no --default

libvpx

cd ~/ffmpeg-source

git clone https://chromium.googlesource.com/webm/libvpx.git

cd libvpx

./configure --disable-examples --disable-unit-tests

make

checkinstall --pkgname=libvpx --pkgversion="1:$(date +%Y%m%d%H%M)-git" --backup=no --deldoc=yes --fstrans=no --default

opus

cd ~/ffmpeg-source

git clone --depth 1 git://git.xiph.org/opus.git

cd opus

./autogen.sh

./configure --disable-shared

make

checkinstall --pkgname=libopus --pkgversion="$(date +%Y%m%d%H%M)-git" --backup=no --deldoc=yes --fstrans=no --default

ffmpeg

cd ~/ffmpeg-source

wget http://www.ffmpeg.org/releases/ffmpeg-1.1.1.tar.gz

tar xf ffmpeg-1.1.1.tar.gz && rm -rf ffmpeg-1.1.1.tar.gz

cd ffmpeg-1.1.1

had to do this to remove strange characters that cause build errors

sed -i 's/×/x/' doc/filters.texi

sed -i 's/×/x/' doc/ffmpeg.texi

./configure --enable-gpl --enable-libass --enable-libfaac --enable-libfdk-aac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-libopus

make

checkinstall --pkgname=ffmpeg --pkgversion="7:$(date +%Y%m%d%H%M)-git" --backup=no --deldoc=yes --fstrans=no --default

make install

hash -r

The following should tell apt to not upgrade ffmpeg - we need version 1.1.1

apt-mark hold ffmpeg

Cleanup ffmpeg source code

ffmpeg -version && cd ~ && rm -rf ~/ffmpeg-source

Software Dependencies install by Binaries

ffmpeg2theora

cd ~ && wget http://v2v.cc/~j/ffmpeg2theora/ffmpeg2theora-0.29.linux64.bin && chmod a+x ffmpeg2theora-0.29.linux64.bin && install -m 755 ffmpeg2theora-0.29.linux64.bin /usr/bin/ffmpeg2theora && rm -rf ffmpeg2theora-0.29.linux64.bin

java
Now that java is installed, we can set JAVA_HOME and also add it to ~/islandora-install.properties

echo $( dirname $( dirname $( readlink -e /usr/bin/java ) ) )

Should match the oracle java not openjdk

Update ~/islandora-install.properties to match proper java version

For example

JAVA_HOME=/usr/lib/jvm/java-7-oracle/jre

And source again if necessary

. ~/islandora-install.properties

Note you need to ensure that your update-alternatives point to the right java and javac

update-alternatives --config java

update-alternatives --config javac

Fits

cd /opt

wget http://fits.googlecode.com/files/fits-0.6.2.zip

unzip -o fits-0.6.2.zip && rm -rf fits-0.6.2.zip && ln -s fits-0.6.2 fits && chmod a+x /opt/fits/fits.sh adore-djatoka

cd /opt

wget http://sourceforge.net/projects/djatoka/files/djatoka/1.1/adore-djatoka-1.1.tar.gz/download -O adore-djatoka-1.1.tar.gz

tar xf adore-djatoka-1.1.tar.gz && rm -rf adore-djatoka-1.1.tar.gz

ln -s adore-djatoka-1.1 adore-djatoka

Make kakadu available on the command line

ln -s /opt/adore-djatoka/bin/Linux-x86-64/kdu_expand /usr/bin/kdu_expand

ln -s /opt/adore-djatoka/bin/Linux-x86-64/kdu_compress /usr/bin/kdu_compress

echo "/opt/adore-djatoka/lib/Linux-x86-64" > /etc/ld.so.conf.d/kakadu.conf

ldconfig

Drush

Specify drush commit due to issues with newer drush versions and automated tests used by QA

cd /opt

git clone https://github.com/drush-ops/drush.git && cd drush && git checkout b9e6c8c00da0fbf1227869cdf915b0c6cea466cc

ln -s /opt/drush/drush /usr/bin/drush

Configurations

OpenOffice

chown $APACHE_USER:$APACHE_USER echo $( getent passwd "$APACHE_USER" | cut -d: -f6 )

cd /etc/init.d && wget --no-check-certificate https://raw.github.com/discoverygarden/openoffice-init-script/master/openoffice && chmod a+x openoffice

usermod --shell /bin/sh $APACHE_USER

sed -i "s|www-data|$APACHE_USER|g" /etc/init.d/openoffice

service openoffice start

If Service doesn't start that is because apache has no shell

$SCHEDULE_OPENOFFICE_SERVICE_COMMAND

Monit Keep openoffice running as a service with Monit as it has been known to crash.

echo -e "check process openoffice\n matching "/usr/lib/libreoffice/program/soffice.bin"\n start program = "/etc/init.d/openoffice start"\n stop program = "/etc/init.d/openoffice stop"\n if failed host 127.0.0.1 port 8100 then restart\n if 5 restarts within 5 cycles then timeout" >

$MONIT_CONF_DIR/openoffice.conf

sed -i 's|# set httpd| set httpd|g' $MONIT_CONFIG_FILE

sed -i 's|# use address| use address|g' $MONIT_CONFIG_FILE

sed -i 's|# allow localhost| allow localhost|g' $MONIT_CONFIG_FILE

sed -i 's| allow admin:monit|# allow admin:monit|g' $MONIT_CONFIG_FILE

sed -i 's| allow @monit |# allow @monit |g' $MONIT_CONFIG_FILE

sed -i 's| allow @users readonly |# allow @users readonly |g' $MONIT_CONFIG_FILE

service monit restart

Apache and PHP

Setup apache vhost

vi /etc/apache2/sites-available/000-default.conf

<VirtualHost *:80> ServerAdmin webmaster@localhost

    DocumentRoot /var/www/drupal7
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/drupal7/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride all
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
           # alert, emerg.
           LogLevel warn

           CustomLog ${APACHE_LOG_DIR}/access.log combined

       Alias /doc/ "/usr/share/doc/"
       <Directory "/usr/share/doc/">
           Options Indexes MultiViews FollowSymLinks
           AllowOverride None
           Order deny,allow
           Deny from all
           Allow from 127.0.0.0/255.0.0.0 ::1/128
       </Directory>

           ProxyPass /adore-djatoka http://localhost:8080/adore-djatoka
           ProxyPassReverse /adore-djatoka http://localhost:8080/adore-djatoka

a2enmod rewrite

a2enmod proxy

a2enmod proxy_http

pecl install uploadprogress

sed -i '949iextension=uploadprogress.so' /etc/php5/apache2/php.ini

sed -i "s|memory_limit = 128M|memory_limit = 512M|g" /etc/php5/apache2/php.ini

sed -i "s|post_max_size = 8M|post_max_size = 2048M|g" /etc/php5/apache2/php.ini

sed -i "s|upload_max_filesize = 2M|upload_max_filesize = 2048M|g" /etc/php5/apache2/php.ini

echo "apc.shm_size = 64M" >> $APC_CONFIG_FILE

Setup MySQL Databases and Server

Run mysql_secure_installation to ensure security

MYSQL=which mysql

$MYSQL -uroot -p$DB_ROOT_PASSWORD -e "$SQL"

Add a mysql backup script

if [ ! -d /root/bin ]; then mkdir -p /root/bin fi
echo -e '#!/bin/bash\n#\n# Dumps all MySQL databases and removes backups older than 1 week\n# With optional scp to another host\n\nBackupFolder=/dbbackups\nMySQLUser=root\nMySQLPass=PASSWORD\n# These next few are just used for scp, which is optional if DO_SCP != yes\nDO_SCP=no\nREMOVE_LOCAL_COPY=no\nFOLDER=dbBACK/mysql-newdb\nBACKUP_USER=backupuser\nBACKUP_HOST=backuppass\n\nDATE=$(date +%Y%m%d)\nOLDDATE=$(date +%Y%m%d -d ' 7 days ago')\n\nif [ ! -d "$BackupFolder" ]; then\n mkdir -p "$BackupFolder"\n if [ $? -gt 0 ]; then\n echo "ERROR: Could not create $BackupFolder"\n exit 1\n fi\nfi\n\nfor dbname in $(mysql --user="$MySQLUser" --password="$MySQLPass" -Bse "show databases"); do\n rm -f "$BackupFolder/$dbname-$OLDDATE.bz2"\n DumpName="$BackupFolder/$dbname-$DATE.bz2"\n mysqldump --user="$MySQLUser" --password="$MySQLPass" --opt "$dbname" | bzip2 -9 >"$DumpName"\n if [ $? -gt 0 ]; then\n echo "Backup of $dbname failed! (mysqldump)"\n else\n if [ "$DO_SCP" == 'yes' ]; then\n scp -B -o StrictHostKeyChecking=no "$DumpName" "$BACKUP_USER"@"$BACKUP_HOST":"$FOLDER/"\n if [ $? -gt 0 ]; then\n echo "Backup of $dbname failed! (scp)"\n fi\n if [ "$REMOVE_LOCAL_COPY" == 'yes' ]; then\n rm -f "$DumpName"\n fi\n fi\n fi\ndone\n' > /root/bin/mysqlBackup.sh && chmod a+x

/root/bin/mysqlBackup.sh

sed -i "s|PASSWORD|$DB_ROOT_PASSWORD|g" /root/bin/mysqlBackup.sh

Update crontab to schedule mysql backup

crontab -e

Add
15 1 * * * /root/bin/mysqlBackup.sh

mkdir -p /dbbackups

Dumps will be stored in /dbbackups

Install Fedora Commons

Fedora Commons Base Install

Create install properties file

cd ~

echo -e 'keystore.file=included\nri.enabled=true\nmessaging.enabled=true\napia.auth.required=false\ndatabase.jdbcDriverClass=com.mysql.jdbc.Driver\ntomcat.ssl.port=8443\nssl.available=true\ndatabase.jdbcURL=jdbc:mysql://localhost/fedora3?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true\nmessaging.uri=vm:(broker:(tcp://localhost:61616))\ndatabase.password=islandora\ndatabase.mysql.driver=included\ndatabase.username=fedoraAdmin\nfesl.authz.enabled=false\ntomcat.shutdown.port=8055\ndeploy.local.services=true\nxacml.enabled=true\ndatabase.mysql.jdbcDriverClass=com.mysql.jdbc.Driver\ntomcat.http.port=8080\nfedora.serverHost=localhost\ndatabase=mysql\ndatabase.driver=included\nfedora.serverContext=fedora\nllstore.type=akubra-fs\ntomcat.home=/usr/local/fedora/tomcat\nfesl.authn.enabled=true\ndatabase.mysql.jdbcURL=jdbc:mysql://localhost/fedora3?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true\nfedora.home=/usr/local/fedora\ninstall.type=custom\nservlet.engine=included\napim.ssl.required=false\nfedora.admin.pass=islandora\napia.ssl.required=false' > ~/install.properties

sed -i "s|localhost/fedora3?|localhost/$FEDORA_DB_NAME?|g" ~/install.properties

sed -i "s|database.password=islandora|database.password=$FEDORA_DB_PASS|g" ~/install.properties

sed -i "s|database.username=fedoraAdmin|database.username=$FEDORA_DB_USER|g" ~/install.properties

sed -i "s|fedora.home=/usr/local/fedora|fedora.home=$FEDORA_HOME|g" ~/install.properties

sed -i "s|tomcat.home=/usr/local/fedora/tomcat|tomcat.home=$CATALINA_HOME|g" ~/install.properties sed -i "s|fedora.admin.pass=islandora|fedora.admin.pass=$FEDORA_ADMIN_PASS|g" ~/install.properties

cd ~

wget http://downloads.sourceforge.net/fedora-commons/fcrepo-installer-$FEDORA_VERSION.jar

java -jar fcrepo-installer-$FEDORA_VERSION.jar install.properties

rm -rf fcrepo-installer-$FEDORA_VERSION.jar install.properties

sed -i "s|changeme|islandora|g" $FEDORA_HOME/server/config/fedora.fcfg

Tweak some fedora settings

sed -i 's|||g' $FEDORA_HOME/server/config/fedora.fcfg

sed -i 's|||g' $FEDORA_HOME/server/config/fedora.fcfg

sed -i 's|||g' $FEDORA_HOME/server/config/fedora.fcfg

sed -i "s|security.fesl.authN.jaas.apia.enabled=false|security.fesl.authN.jaas.apia.enabled=true|g" $FEDORA_HOME/server/config/spring/web/web.properties

Adds Fedora User and adds fedora environment variables to /etc/profile.d/fedora.sh

FEDORA_USER_TEST=getent passwd $FEDORA_USER if [ "$FEDORA_USER_TEST" = "" ]; then
useradd -m -d $FEDORA_HOME -s /bin/false $FEDORA_USER
# Make environment variables match with what we set above
echo -e 'export FEDORA_HOME=/usr/local/fedora\nexport CATALINA_HOME=/usr/local/fedora/tomcat\nexport CATALINA_PID="$CATALINA_HOME/catalina.pid"\nexport JAVA_OPTS="-Xms1024m -Xmx1024m -XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -Djavax.net.ssl.trustStore=/usr/local/fedora/server/truststore -Djavax.net.ssl.trustStorePassword=tomcat"\nexport JAVA_HOME=/usr/lib/jvm/java-7-oracle/jre\nexport FEDORA_USER=fedora' > /etc/profile.d/fedora.sh sed -i "s|JAVA_OPTS="-Xms1024m -Xmx1024m -XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -Djavax.net.ssl.trustStore=/usr/local/fedora/server/truststore -Djavax.net.ssl.trustStorePassword=tomcat"|JAVA_OPTS="$JAVA_OPTS"|g" /etc/profile.d/fedora.sh sed -i "s|FEDORA_HOME="/usr/local/fedora"|FEDORA_HOME="$FEDORA_HOME"|g" /etc/profile.d/fedora.sh sed -i "s|CATALINA_HOME="/usr/local/fedora/tomcat"|CATALINA_HOME="$CATALINA_HOME"|g" /etc/profile.d/fedora.sh sed -i "s|FEDORA_USER=fedora|FEDORA_USER=$FEDORA_USER|g" /etc/profile.d/fedora.sh sed -i "s|JAVA_HOME=/usr/lib/jvm/java-7-oracle/jre|JAVA_HOME=$JAVA_HOME|g" /etc/profile.d/fedora.sh
else
echo -e "fedora user already exists\n"
fi

Note: make sure you check /etc/profile.d/fedora.sh to ensure everything has been generated properly. If it didn’t you may have closed your shell you may need to resource islandora-install.properties

For example:

export FEDORA_HOME=/usr/local/fedora export CATALINA_HOME=/usr/local/fedora/tomcat export CATALINA_PID="$CATALINA_HOME/catalina.pid" export JAVA_OPTS="-Xms3993m -Xmx3993m -XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -Djavax.net.ssl.trustStore=/usr/local/fedora/server/truststore -Djavax.net.ssl.trustStorePassword=tomcat" export JAVA_HOME=/usr/lib/jvm/java-7-oracle/jre

chown -R $FEDORA_USER:$FEDORA_USER $FEDORA_HOME

Create tomcat init.d startup script

cd /etc/init.d

wget --no-check-certificate https://raw.github.com/discoverygarden/Fedora-Init-Script/master/tomcat

ln -s tomcat fedora

chmod a+x tomcat

$SCHEDULE_TOMCAT_SERVICE_COMMAND

unzip -o $CATALINA_HOME/webapps/fedora.war -d $CATALINA_HOME/webapps/fedora

Fix for fedora 3.7.1 -> note tagged file for 3.7.1 doesn’t seem to work

mkdir -p $CATALINA_HOME/webapps/fedora/WEB-INF/classes/org/fcrepo/server/storage/resources

cd $CATALINA_HOME/webapps/fedora/WEB-INF/classes/org/fcrepo/server/storage/resources

wget --no-check-certificate https://raw.githubusercontent.com/fcrepo3/fcrepo/6a4681c1229682d865f51ace194f20156ff48301/fcrepo-server/src/main/resources/dbspec/server/org/fcrepo/server/storage/resources/DefaultDOManager.dbspec

chown -R $FEDORA_USER:$FEDORA_USER $FEDORA_HOME

Start and stop tomcat so fedora creates some dirs

service tomcat deploy

XACML Settings

Adjust xacml policies...

rm -rf $FEDORA_HOME/data/fedora-xacml-policies/repository-policies/default/deny-purge-*

rm -rf $FEDORA_HOME/data/fedora-xacml-policies/repository-policies/default/deny-inactive-or-deleted-objects-or-datastreams-if-not-administrator.xml

rm -rf $FEDORA_HOME/data/fedora-xacml-policies/repository-policies/default/deny-policy-management-if-not-administrator.xml

Note this file should either be removed or tweaked if you wish to access fedoraAdmin. Keep in mind firewall rules would need to be updated as well.

rm -rf $FEDORA_HOME/data/fedora-xacml-policies/repository-policies/default/deny-apim-if-not-localhost.xml

cd ~

git clone https://github.com/Islandora/islandora-xacml-policies && cd islandora-xacml-policies

mkdir $FEDORA_HOME/data/fedora-xacml-policies/repository-policies/islandora_policies && cp *.xml $FEDORA_HOME/data/fedora-xacml-policies/repository-policies/islandora_policies && rm -rf ~/islandora-xacml-policies

GSearch and Solr

Grab fedoragsearch and solr - do basic config

cd ~

wget $FEDORA_GSEARCH_URL

unzip -o $FEDORA_GSEARCH_NAME.zip

cp $FEDORA_GSEARCH_NAME/fedoragsearch.war $CATALINA_HOME/webapps/ && unzip -o $FEDORA_GSEARCH_NAME/fedoragsearch.war -d $CATALINA_HOME/webapps/fedoragsearch && rm -rf $FEDORA_GSEARCH_NAME*

wget $SOLR_URL

tar -xf $SOLR_NAME.tgz

cp -r $SOLR_NAME/example/solr $FEDORA_HOME/solr

cp $SOLR_NAME/example/webapps/solr.war $CATALINA_HOME/webapps/ && unzip -o $SOLR_NAME/example/webapps/solr.war -d $CATALINA_HOME/webapps/solr

mkdir $FEDORA_HOME/solr/$SOLR_DEFAULT_CORE_PATH/data

chown -R $FEDORA_USER:$FEDORA_USER $FEDORA_HOME

cd $CATALINA_HOME/webapps/fedoragsearch/FgsConfig

Ant generateIndexingXslt

ant -f fgsconfig-basic.xml -Dlocal.FEDORA_HOME=$FEDORA_HOME -DgsearchUser=$FEDORA_ADMIN_USER -DgsearchPass=$FEDORA_ADMIN_PASS -DfinalConfigPath=$CATALINA_HOME/webapps/fedoragsearch/WEB-INF/classes -DlogFilePath=$FEDORA_HOME/server/logs -DfedoraUser=$FEDORA_ADMIN_USER -DfedoraPass=$FEDORA_ADMIN_PASS -DobjectStoreBase=$FEDORA_HOME/data/objectStore -DindexDir=$FEDORA_HOME/solr/$SOLR_DEFAULT_CORE_PATH/data/index -DindexingDocXslt=foxmlToSolr -propertyfile fgsconfig-basic-for-islandora.properties

mv $FEDORA_HOME/solr/$SOLR_DEFAULT_CORE_PATH/conf/schema.xml $FEDORA_HOME/solr/$SOLR_DEFAULT_CORE_PATH/conf/schema.xml.bak

mv $FEDORA_HOME/solr/$SOLR_DEFAULT_CORE_PATH/conf/solrconfig.xml $FEDORA_HOME/solr/$SOLR_DEFAULT_CORE_PATH/conf/solrconfig.xml.bak

mv $CATALINA_HOME/webapps/fedoragsearch/WEB-INF/classes/fgsconfigFinal/index/FgsIndex/foxmlToSolr.xslt $CATALINA_HOME/webapps/fedoragsearch/WEB-INF/classes/fgsconfigFinal/index/FgsIndex/foxmlToSolr.xslt.bak

Solr Configuration

cd ~

git clone git://github.com/discoverygarden/basic-solr-config.git

cd basic-solr-config

git checkout 4.x

mv ~/basic-solr-config/conf/* $FEDORA_HOME/solr/$SOLR_DEFAULT_CORE_PATH/conf

mv ~/basic-solr-config/islandora_transforms $CATALINA_HOME/webapps/fedoragsearch/WEB-INF/classes/fgsconfigFinal/index/FgsIndex

mv ~/basic-solr-config/foxmlToSolr.xslt $CATALINA_HOME/webapps/fedoragsearch/WEB-INF/classes/fgsconfigFinal/index/FgsIndex/foxmlToSolr.xslt

cp ~/basic-solr-config/index.properties $CATALINA_HOME/webapps/fedoragsearch/WEB-INF/classes/fgsconfigFinal/index/FgsIndex/index.properties

cd ~

rm -rf ~/basic-solr-config

rm -rf ~/$SOLR_NAME*

cd $CATALINA_HOME/webapps/fedoragsearch/WEB-INF/lib

wget https://github.com/discoverygarden/dgi_gsearch_extensions/releases/download/v0.1.1/gsearch_extensions-0.1.1-jar-with-dependencies.jar -O gsearch_extensions-0.1.1-jar-with-dependencies.jar

GSearch Multithreading

OPTIONAL: Only need to use if you want multithreading and you have multiple cores. This allows multithreaded gsearch updates for better performance. Recommend adding one Fgsupdater per core.

sed -i '0,/ /s// /' $FEDORA_HOME/server/config/fedora.fcfg

sed -i 's|topic.fedoraAPIM|queue.fedoraAPIM|g' $CATALINA_HOME/webapps/fedoragsearch/WEB-INF/classes/fgsconfigFinal/updater/FgsUpdaters/updater.properties

cp -r $CATALINA_HOME/webapps/fedoragsearch/WEB-INF/classes/fgsconfigFinal/updater/FgsUpdaters $CATALINA_HOME/webapps/fedoragsearch/WEB-INF/classes/fgsconfigFinal/updater/FgsUpdater1

sed -i 's|fedoragsearch0|fedoragsearch1|g' $CATALINA_HOME/webapps/fedoragsearch/WEB-INF/classes/fgsconfigFinal/updater/FgsUpdater1/updater.properties

sed -i "s|FgsUpdaters|$GSEARCH_UPDATER_NAMES|g" $CATALINA_HOME/webapps/fedoragsearch/WEB-INF/classes/fgsconfigFinal/fedoragsearch.properties

Adore-Djatoka

Install djatoka war

cp /opt/adore-djatoka/dist/adore-djatoka.war $CATALINA_HOME/webapps && unzip -o /opt/adore-djatoka/dist/adore-djatoka.war -d $CATALINA_HOME/webapps/adore-djatoka

Setup Logging Please note logging still needs some TLC log4j and logrotate clash with some files

cd ~

git clone https://github.com/discoverygarden/islandora_log_config.git

cd islandora_log_config

cp islandora_logrotate /etc/logrotate.d/

cp log4j.xml /usr/local/fedora/tomcat/webapps/fedoragsearch/WEB-INF/classes/log4j.xml

cp logging.properties /usr/local/fedora/tomcat/conf/logging.properties

cp log4j.properties /usr/local/fedora/tomcat/webapps/adore-djatoka/WEB-INF/classes/log4j.properties

chown -R $FEDORA_USER:$FEDORA_USER $FEDORA_HOME

Drupal Filter

Setup Drupal filter

cd $CATALINA_HOME/webapps/fedora/WEB-INF/lib

wget --no-check-certificate $DRUPAL_FILTER_URL

echo -e 'fedora-auth\n{\n\torg.fcrepo.server.security.jaas.auth.module.XmlUsersFileModule required\n\tdebug=true; \n\tca.upei.roblib.fedora.servletfilter.DrupalAuthModule required\n\tdebug=true; \n};\n\nfedora-auth-xmlusersfile\n{\n\torg.fcrepo.server.security.jaas.auth.module.XmlUsersFileModule required\n\tdebug=true;\n};\n\nfedora-auth-ldap-bind\n{\n\torg.fcrepo.server.security.jaas.auth.module.LdapModule required\n\thost.url="ldap://dev01.muradora.org"\n\tauth.type="simple"\n\tbind.mode="bind"\n\tbind.filter="uid={0},ou=people,dc=muradora,dc=org"\n\tdebug=true;\n};\n\nfedora-auth-ldap-bind-search-bind\n{\n\torg.fcrepo.server.security.jaas.auth.module.LdapModule required\n\thost.url="ldap://dev01.muradora.org"\n\tauth.type="simple"\n\tbind.mode="bind-search-bind"\n\tbind.user="uid=binduser,ou=people,dc=muradora,dc=org"\n\tbind.pass="murabind"\n\tsearch.base="ou=people,dc=muradora,dc=org"\n\tsearch.filter="(uid={0})"\n\tattrs.fetch="cn,sn,mail,displayName,carLicense"\n\tdebug=true;\n};\n\nfedora-auth-ldap-bind-search-compare\n{\n\torg.fcrepo.server.security.jaas.auth.module.LdapModule required\n\thost.url="ldap://dev01.muradora.org"\n\tauth.type="simple"\n\tbind.mode="bind-search-compare"\n\tbind.user="uid=binduser,ou=people,dc=muradora,dc=org"\n\tbind.pass="murabind"\n\tsearch.base="ou=people,dc=muradora,dc=org"\n\tsearch.filter="(uid={0})"\n\tattrs.fetch="cn,sn,mail,displayName,carLicense"\n\tdebug=true;\n};' > $FEDORA_HOME/server/config/jaas.conf

cd $FEDORA_HOME/server/config

wget https://raw.github.com/Islandora/islandora_drupal_filter/master/filter-drupal.xml

sed -i "s|DB_SERVER|$DB_SERVER|g" $FEDORA_HOME/server/config/filter-drupal.xml

sed -i "s|DRUPAL_DB_NAME|$DRUPAL_DB_NAME|g" $FEDORA_HOME/server/config/filter-drupal.xml

sed -i "s|DRUPAL_DB_USER|$DRUPAL_DB_USER|g" $FEDORA_HOME/server/config/filter-drupal.xml

sed -i "s|DRUPAL_DB_PASS|$DRUPAL_DB_PASS|g" $FEDORA_HOME/server/config/filter-drupal.xml

Start fedora fully configured

chown -R $FEDORA_USER:$FEDORA_USER $FEDORA_HOME

service tomcat start

Install Drupal

CLUI Config

Please note some libraries, modules, contrib are optional but are included to support additional theming. e.g. features, strongarm, node_export

cd $OS_DEFAULT_DOCUMENTROOT

drush dl drupal

mv drupal-7* drupal7

cd drupal7

mkdir sites/default/files

mkdir sites/all/{modules,themes,libraries}

cp sites/default/default.settings.php sites/default/settings.php

cd sites/all/modules

Islandora Modules

Git clone the following modules:

modslist.sh helper script to handle the git repos to install modules

#!/bin/bash

cd /var/www/drupal7/sites/all/modules git clone https://github.com/Islandora/islandora.git
git clone https://github.com/Islandora/islandora_scholar.git
git clone https://github.com/discoverygarden/google_analytics_reports.git
git clone https://github.com/discoverygarden/islandora_ga_reports.git
git clone https://github.com/Islandora/islandora_solr_search.git
git clone https://github.com/Islandora/islandora_solr_views.git
git clone https://github.com/Islandora/islandora_solution_pack_collection.git
git clone https://github.com/Islandora/objective_forms.git
git clone https://github.com/Islandora/islandora_xml_forms.git
git clone https://github.com/Islandora/php_lib.git
git clone https://github.com/Islandora/islandora_importer.git
git clone https://github.com/Islandora/islandora_bookmark.git
git clone https://github.com/Islandora/islandora_oai.git
git clone https://github.com/Islandora/islandora_solution_pack_audio.git
git clone https://github.com/Islandora/islandora_solution_pack_book.git
git clone https://github.com/Islandora/islandora_solution_pack_image.git
git clone https://github.com/Islandora/islandora_solution_pack_large_image.git
git clone https://github.com/Islandora/islandora_solution_pack_pdf.git
git clone https://github.com/Islandora/islandora_solution_pack_video.git
git clone https://github.com/Islandora/islandora_paged_content.git
git clone https://github.com/Islandora/islandora_internet_archive_bookreader.git
git clone https://github.com/Islandora/islandora_ocr.git
git clone https://github.com/Islandora/islandora_openseadragon.git
git clone https://github.com/Islandora/islandora_jwplayer.git
git clone https://github.com/Islandora/islandora_fits.git
git clone https://github.com/Islandora/islandora_simple_workflow.git
git clone https://github.com/Islandora/islandora_book_batch.git
git clone https://github.com/Islandora/islandora_batch.git
git clone https://github.com/Islandora/islandora_ip_embargo.git
git clone https://github.com/Islandora/islandora_solution_pack_compound.git
git clone https://github.com/Islandora/islandora_solution_pack_newspaper.git
git clone https://github.com/Islandora/islandora_xacml_editor.git
git clone https://github.com/Islandora/islandora_marcxml.git
git clone https://github.com/discoverygarden/islandora_featured_collection.git
git clone https://github.com/Islandora/islandora_solr_metadata.git
git clone https://github.com/discoverygarden/solrmetadataconfigs.git
git clone https://github.com/discoverygarden/islandora_solution_pack_document.git
git clone https://github.com/discoverygarden/islandora_jodconverter.git
git clone https://github.com/discoverygarden/islandora_plupload.git
git clone https://github.com/discoverygarden/islandora_solution_pack_entities.git
git clone https://github.com/Islandora-Labs/islandora_binary_object.git
git clone https://github.com/Islandora/islandora_checksum.git
git clone https://github.com/Islandora/islandora_checksum_checker.git
git clone https://github.com/Islandora/islandora_premis.git
git clone https://github.com/Islandora/islandora_bagit.git

Dependency if bagit is to be used
/usr/bin/pear install Archive_Tar

Libraries

cd /var/www/drupal7/sites/all/libraries/

git clone -b $TUQUE_BRANCH git://github.com/Islandora/tuque.git

git clone https://github.com/Islandora/internet_archive_bookreader.git bookreader

wget https://github.com/openseadragon/openseadragon/releases/download/v1.1.1/openseadragon-bin-1.1.1.tar.gz -O openseadragon-bin-1.1.1.tar.gz && tar xf openseadragon-bin-1.1.1.tar.gz && rm -rf openseadragon-bin-1.1.1.tar.gz && mv openseadragon-bin-1.1.1 openseadragon

#wget http://www.longtailvideo.com/download/jwplayer-3359.zip && unzip -o jwplayer-3359.zip && rm -rf jwplayer-3359.zip #link no longer available. You can sign up to obtain this but unsure of licensing requirements needs to be discussed

wget https://github.com/moxiecode/plupload/archive/v1.5.8.zip -O v1.5.8.zip && unzip -o v1.5.8.zip && rm -rf v1.5.8.zip && mv plupload-1.5.8 plupload

wget http://sourceforge.net/projects/jodconverter/files/JODConverter/2.2.2/jodconverter-2.2.2.zip/download -O jodconverter-2.2.2.zip && unzip -o jodconverter-2.2.2.zip && rm -rf jodconverter-2.2.2.zip

mkdir jquery.cycle && cd jquery.cycle && wget http://malsup.github.com/jquery.cycle.all.js

drush dl imagemagick libraries views ctools oauth chart google_analytics views_slideshow views_responsive_grid strongarm features designkit conditional_styles socialmedia widgets features_extra uuid node_export block_class ldap entity colorbox rules xmlsitemap css_injector

Drupal site install

chown -R $APACHE_USER:$APACHE_USER /var/www/drupal7

drush -y site-install standard --account-name=$DRUPAL_ADMIN_USER --account-pass=$DRUPAL_ADMIN_PASS --db-url=mysql://$DRUPAL_DB_USER:$DRUPAL_DB_PASS@localhost/$DRUPAL_DB_NAME

Secure settings.php
chmod 444 /var/www/drupal7/sites/default/settings.php

Drush Enables and Configuration

drush en block color comment contextual dashboard dblog field field_sql_storage field_ui file filter help image list menu node number options overlay path rdf shortcut system taxonomy text toolbar user bartik seven imagemagick libraries views update ctools oauth_common oauth_common_providerui system_charts chart_views chart googleanalytics views_responsive_grid strongarm features designkit conditional_styles fe_block uuid node_export node_export_features widgets socialmedia block_class colorbox rules entity_token css_injector

drush -y colorbox-plugin

drush -y dis overlay

drush vset islandora_base_url "$ISLANDORA_BASE"

drush vset islandora_solr_url "$SOLR_BASE"

drush -y --user=1 en islandora islandora_audio islandora_basic_collection islandora_basic_image islandora_fits islandora_importer islandora_openseadragon islandora_simple_workflow islandora_video islandora_jwplayer islandora_pdf islandora_paged_content islandora_ocr islandora_internet_archive_bookreader islandora_large_image islandora_book islandora_batch islandora_book_batch xml_form_api xml_form_elements xml_schema_api objective_forms php_lib islandora_solr islandora_solr_config islandora_solr_views islandora_ga_reports islandora_scholar islandora_oai google_analytics_reports islandora_importer xml_form_builder xml_forms islandora_bibliography islandora_scholar_embargo islandora_google_scholar islandora_marcxml islandora_xacml_editor islandora_xacml_api zip_importer pmid_importer ris_importer islandora_bookmark doi_importer endnotexml_importer citation_exporter bartik seven imagemagick libraries views views_ui ctools csl citeproc oauth_common oauth_common_providerui system_charts chart_views chart googleanalytics islandora_compound_object islandora_ip_embargo islandora_newspaper views_slideshow views_slideshow_cycle islandora_featured_collection islandora_solr_metadata islandora_document islandora_jodconverter islandora_entities islandora_entities_csv_import islandora_binary_object

drush php-eval "variable_set('islandora_large_image_viewers', array('name' => array('none' => 'none', 'islandora_openseadragon' => 'islandora_openseadragon'),'default' => 'islandora_openseadragon'));"

drush php-eval "variable_set('islandora_video_viewers', array('name' => array('none' => 'none', 'islandora_jwplayer' => 'islandora_jwplayer'),'default' => 'islandora_jwplayer'));"

drush php-eval "variable_set('islandora_audio_viewers', array('name' => array('none' => 'none', 'islandora_jwplayer' => 'islandora_jwplayer'),'default' => 'islandora_jwplayer'));"

drush php-eval "variable_set('islandora_book_viewers', array('name' => array('none' => 'none', 'islandora_internet_archive_bookreader' => 'islandora_internet_archive_bookreader'), 'default' => 'islandora_internet_archive_bookreader'));"

drush php-eval "variable_set('islandora_book_page_viewers', array('name' => array('none' => 'none', 'islandora_openseadragon' => 'islandora_openseadragon'), 'default' => 'islandora_openseadragon'));"

drush php-eval "variable_set('islandora_newspaper_page_viewers', array('name' => array('none' => 'none', 'islandora_openseadragon' => 'islandora_openseadragon'),'default' => 'islandora_openseadragon'))"

drush php-eval "variable_set('islandora_newspaper_issue_viewers', array('name' => array('none' => 'none', 'islandora_internet_archive_bookreader' => 'islandora_internet_archive_bookreader'),'default' => 'islandora_internet_archive_bookreader'))"

drush vset islandora_pdf_create_fulltext "1"

drush vset islandora_pdf_path_to_pdftotext which pdftotext

drush vset islandora_metadata_display "islandora_solr_metadata"

drush vset islandora_fits_executable_path "/opt/fits/fits.sh"

drush vset islandora_book_tesseract which tesseract

drush vset islandora_ocr_tesseract which tesseract

drush vset islandora_batch_java which java

drush php-eval "variable_set('islandora_ocr_tesseract_enabled_languages', array('deu-frak' => deu-frak, 'eng' => eng, 'fra' => fra, 'ita' => ita, 'jpn' => jpn, 'por' => por, 'spa' => spa, 'dan-frak' => 0, 'deu' => 0, 'hin' => 0, 'ita_old' => 0, 'rus' => 0, 'slk-frak' => 0, 'spa_old' => 0));"

drush vset islandora_lame_url which lame

drush vset islandora_video_ffmpeg_path which ffmpeg

drush vset islandora_video_ffmpeg2theora_path which ffmpeg2theora

drush vset islandora_paged_content_gs which gs

drush vset imagemagick_convert which convert

drush vset islandora_document_create_fulltext "1"

drush vset islandora_document_path_to_pdftotext which pdftotext

drush vset site_name "Stock Islandora and Fedora"

drush vset image_toolkit "imagemagick"

drush vset error_level $ERROR_LEVEL

drush php-eval "variable_set('oai2_date_field', 'fgs_lastModifiedDate_dt')"

NOTE This should be a publicly resolvable URL or viewers will not work for people who cannot resolve the name. You also should ensure that the /etc/hosts file is pointing the name at localhost

drush vset islandora_paged_content_djatoka_url "http://hostname/adore-djatoka/"

drush vset user_register 0

drush -y updb

drush -y cc all

service $APACHE_SERVICE restart

drush cc all

Follow-up Notes

More tesseract languages can be found here: https://code.google.com/p/tesseract-ocr/downloads/list

Clone this wiki locally