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>