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>