elog2labfolder/installation.rst
author Heinz Junkes <junkes@fhi-berlin.mpg.de>
Wed, 17 Jan 2018 17:33:45 +0100
changeset 9 526bf7695cbd
parent 3 b71be85a294c
permissions -rw-r--r--
Add FEL network

Installation of labfolder
=========================

Labfolder is easy to install. Follow the instructions given in the *labfolder Installation Manual*. The broad steps are: **install MySQL, docker and labolder; configure labfolder via the server.cnf file**. This labfolder config file could look like this::

	# Network settings
	DEFAULT_HTTP_PROTOCOL=https://
	DEFAULT_DOMAIN=labfolder.rz-berlin.mpg.de

	# JDBC Properties
	JDBC_SERVER_TIMEZONE=Europe/Berlin
	JDBC_DATABASE_URL=jdbc:mysql://localhost:3306/labfolder?useUnicode=true&characterEncoding=UTF-8
	JDBC_USERNAME=labfolder
	JDBC_PASSWORD=fhilab
	JDBC_SCHEMA_NAME=labfolder
	#REMOVE_ABANDONED_TIMEOUT=60

	# Mail client properties
	MAIL_STARTTLS=false
	MAIL_AUTHENTICATION_ENABLE=false
	MAIL_HOST=mail.fhi-berlin.mpg.de
	MAIL_PORT=25
	#MAIL_USERNAME=
	#MAIL_PASSWORD=
	MAIL_EMAIL=ppb@fhi-berlin.mpg.de

	# Server Event logging
	LOG_TO_FILE=true

	#Maximum upload file size
	FILEUPLOAD_MAXUPLOADSIZE=25000000

	# User and group control
	DEFAULT_GROUP_SIZE=50
	DEFAULT_GROUP_TYPE_MAXI=true
	DEFAULT_USER_STORAGE=3221225472
	FEATURE_GLOBAL_PREVENT_DELETE_CONTENT=false

	# Terms and Privacy links
	TERMS_OF_USE_LINK=https://www.labfolder.com/terms-external-servers/
	PRIVACY_LINK=https://www.labfolder.com/privacy-external-servers/

	# LDAP Authentication
	FEATURE_LDAP_AUTHENTICATION=true
	LDAP_URL=ldap://ldap.rz-berlin.mpg.de:389
	LDAP_BASE=ou=people,dc=ppb,dc=rz-berlin,dc=mpg,dc=de
	#LDAP_SERVER_TYPE=
	LDAP_USER_DN=cn=pwCheck,dc=rz-berlin,dc=mpg,dc=de
	LDAP_PASSWORD=ProstetnikVogonJeltz
	#LDAP_ANONYMOUS_READ_ONLY=
	LDAP_USER_DN_PATTERNS=uid={0}
	#LDAP_IS_TLS_ENABLED=
	#LDAP_IS_ATTRIBUTE_SEARCH_ENABLED=
	#LDAP_ATTRIBUTE_SEARCH_NAME=

	# Usage monitoring
	ACTIVE_USER_REPORT_USE_DEFAULT_MAIL_CLIENT=true
	CUSTOMER_IDENTIFIER='Fritz-Haber-Institut'

	# Mendeley
	FEATURE_MENDELEY=false
	#MENDELEY_CLIENT_ID=
	#MENDELEY_CLIENT_SECRET=
	#MENDELEY_CLIENT_CALLBACKURL=http://localhost:9091/eln/mendeley/oauthCallback

	# Dropbox
	FEATURE_DROPBOX=false
	#DROPBOX_CONSUMER_KEY=
	#DROPBOX_CONSUMER_SECRET=

	# Figshare
	FEATURE_FIGSHARE=false

	# XHTML Export
	FEATURE_XHTML_EXPORT=true
	EXPORT_DOCUMENT_REPOSITORY_TYPE=fileSystem

The configuration is explained in detail in the installation manual. Now, **create the labfolder database and run labfolder** (see the manual for details). Additionally, you could install Apache and set it up as a reverse proxy in order to make labfolder only available through https. The exact steps are::

	labfolder@lf:~$ sudo apt-get install build-essential
	labfolder@lf:~$ sudo apt install apache2
	labfolder@lf:~$ sudo a2enmod proxy proxy_ajp proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html xml2enc
	labfolder@lf:~$ sudo a2enmod ssl

	### Use certificates from e.g. let's encrypt. Please see below for more information.

	### create /etc/apache2/sites-available/labfolder.conf with virtual hosts for http and https:
	labfolder@lf:~$ sudo a2ensite labfolder.conf
	labfolder@lf:~$ sudo a2dissite 000-default.conf
	labfolder@lf:~$ sudo service apache2 restart

To get SSL certificates from letsencrypt is quite straight forward. For example this guide shows how to set up SSL certificates:

https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-16-04

The Apache labfolder config file could look like this::

	<VirtualHost *:80>
	    ErrorLog /var/log/apache2/error.log
	    LogLevel warn

	    ServerName labfolder.rz-berlin.mpg.de
	    Redirect / https://labfolder.rz-berlin.mpg.de/
	</VirtualHost>

	<VirtualHost *:443>
	    ErrorLog /var/log/apache2/error.log
	    LogLevel warn

	    ServerName labfolder.rz-berlin.mpg.de

	    SSLEngine On
	    SSLCertificateFile /etc/letsencrypt/live/labfolder.rz-berlin.mpg.de/fullchain.pem
	    SSLCertificateKeyFile /etc/letsencrypt/live/labfolder.rz-berlin.mpg.de/privkey.pem

	    ProxyPass / http://141.14.138.230:9091/
	    ProxyPassReverse / http://141.14.138.230:9091/
	</VirtualHost>