EBF Files offers three installation options which will be described in detail below.
Installation Option 1 (ISO)
This section describes how to install an EBF appliance as a virtual system based on an EBF ISO image.
- First, a virtual machine shell must be set up according to the specifications. Please note, that the VM must be configured for CentOS 7 x64 Linux operating system.
- The EBF ISO image is then assigned to the created VM shell as startup medium.
- Start the VM based on the ISO.
- When booting on a Linux VM shell the following installation menu appears:
- Select the desired installation language and click „Continue“ to display the „Installation Summary“ menu:
- Optional settings include date, time (New York EST is default) and keyboard language. When using a German keyboard select German language layout to avoid confusion:
- Under „Installation Summary > System > Installation Destination“ select the local volume on which the software is to be installed. It is sufficient to click on the local main volume or drive. Confirm with the „Done“ button:
- The installed packages are selected according to the desired EBF product(s). Navigate to „Installation Overview > Software > Software Selection”:
- Select the Files Server package. The installation begins after clicking on „Done“. In the following screen, click on “Start Installation” to initiate the installation:
- When installing the password for the user Root must be known and configured.
- After installation rebooting the system is required.
- Then log in as Root in the bash terminal of the system (using previously created Root password).
- Finally the ISO image can be removed/ejected as installation media for this virtual machine.
Depending on the network configuration, check the following:
- connectivity of the machine to access it via SSH
- if the machine is available externally
- if packages are up-to-date
When in doubt, contact your network administrator. When further configuration is required, settings are stored in the following files:
/etc/resolv.conf /etc/sysconfig/network-scripts/ifcfg-ensxxx
Installation Option 2 (Docker)
Before Docker installation can start, a Docker-capable operating system must be installed. This is described in the following sections using Linux CentOS 7 as an example. First the operating system is updated then installation of the Docker Daemon is initiated:
System Update
$ yum update
Docker Base Installation
$ curl -fsSL https://get.docker.com/ | sh
Docker Base Start
$ systemctl start docker
Docker Compose is then installed:
$ curl -L "https://github.com/docker/compose/releases/download/1.25.3/ docker-compose-$$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose $ chmod +x /usr/local/bin/docker-compose $ docker-compose --version
Configuring Docker
A separate MySQL database is used as an example. This requires that a docker swarm is created combining the docker images of EBF Files server and MySQL server.
Create a Docker Swarm:
$ docker swarm init
Create Docker Secrets:
$ echo "MySQLRootPWD" | docker secret create mysql-root-pw - $ echo "MySQLFilesPWD" | docker secret create mysql-files-pw -
These secrets are provided by Docker and are read at runtime from both MySQL and the app containers. Afterwards check the secrets were created:
$ docker secret ls
The docker-compose.yml file can be created to combine EBF Files server and MySQL server. Create a new file:
$ touch docker-compose.yml
Edit the created file and add the following content:
$ vi docker-compose.yml version: '3.6' services: db: image: mysql:8 environment: - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql-root-pw - MYSQL_DABASE=files - MYSQL_USER=files - MYSQL_PASSWORD_FILE=/run/secrets/mysql-files-pw networks: - dockernet secrets: - mysql-root-pw - mysql-files-pw app: image: ebfdev/files.server:latest depends_on: - db ports: - 80:8080 environment: - SPRING_JPA_PROPERTIES_HIBERNATE_DIALECT=org.hibernate.dialect.MySQL8Dialect - SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.cj.jdbc.Driver - SPRING_DATASOURCE_URL=jdbc:mysql://db:3306/files?autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true - SPRING_DATASOURCE_USERNAME=files - SPRING_DATASOURCE_PASSWORD_FILE=/run/secrets/mysql-files-pw networks: - dockernet secrets: - mysql-files-pw restart: on-failure:3 networks: dockernet: secrets: mysql-root-pw: external: true mysql-files-pw: external: true
With the following command:
$ cat docker-compose.yml
preview the added content:
Now provide the stack for the local Docker Swarm with the following command:
$ docker start deploy -c docker-compose.yml files-server-stack
After a minute or two the server is ready for operation, the EBF Files admin frontend can be reached with the server IP via port 80:
Installation Option 3 (JAR)
On CentOS
There are three components the service requires: Java Runtime (Open JDK), database (here MariaDB) and the application as JAR file.
First the EBF Files JAR file must be stored on the server. To move the file to the target machine, simply use the scp command in the console:
$ scp files-current.jar benutzername@host-IP:/root/deinOrdner
The host computer must have a Java Runtime. Use Open JDK version 14 or newer to install:
$ yum install java-14-openjdk-devel
Java is now installed and linked from /usr/bin/java.
Next install and configure the database. This database can also be external depending on the requirements. Download MariaDB to the host computer:
$ yum install -y mariadb-server
Now activate MariaDB, start and add a user and database. Activate the database service as follows:
$ systemctl enable mariadb $ systemctl start mariadb $ mariadb-secure-installation
In this last step enter the MariaDB root password and other optional settings. Now access to MariaDB is granted:
$ mysql -u root -p
Enter the MariaDB root password, press Enter if the password is blank. From the MariaDB shell create a EBF Files user („files“) with password („files_pwd“) and a database „files_db“:
CREATE USER 'files'@'localhost' IDENTIFIED BY 'files_pwd'; GRANT ALL PRIVILEGES ON * . * TO 'files'@'localhost'; FLUSH PRIVILEGES; CREATE DATABASE files_db; USE files_db; EXIT;
The database should now be configured for use.
Change the parameters to match LDAP and database configurations. In our case, we have created a local database and need to create a new file to store the created database password. The parameter SPRING_DATASOURCE_PASSWORD_FILE refers to a text file.
Create a new file in the opt folder:
$ touch /opt/mysql-files-pw
Edit this file:
$ vi /opt/mysql-files-pw
Enter the password there. Define the environment variables directly in the terminal:
$ export COM_EBF_LDAP_LDAPTYPE=ActiveDirectory $ export COM_EBF_LDAP_SERVER=10.4.7.7 $ export COM_EBF_LDAP_PORT=389 $ export COM_EBF_LDAP_VIASSL=true $ export COM_EBF_LDAP_BASEDN=dc=files,dc=acme,dc=com $ export COM_EBF_LDAP_USERNAME=cn=admin,dc=files,dc=acme,dc=com $ export COM_EBF_LDAP_PASSWORD=files $ export SPRING_JPA_PROPERTIES_HIBERNATE_DIALECT= org.hibernate.dialect.MySQL8Dialect $ export SPRING_DATASOURCE_DRIVER-CLASS-NAME= com.mysql.cj.jdbc.Driver $ export SPRING_DATASOURCE_URL=jdbc:mysql://db:3306/files_db $ export SPRING_DATASOURCE_USERNAME=files $ export SPRING_DATASOURCE_PASSWORD_FILE=/opt/mysql-files-pw
For a complete overview of all properties please take a look in the Configuration chapter in this documentation.
Finally install the EBF Files server:
$ java -jar files-current.jar
On Windows
The Files Server installation for Windows Server requires a compatible version of Java. The database can be either external or a local instance of Microsoft SQL Server. In the case of a local instance, Microsoft SQL Server 2016 or 2019 is recommended. A database called “files_db” and a login user “files” with ‘diskadmin’, ‘sysadmin’ and ‘securityadmin’ privileges is required.
Install a compatible Java version (14 or newer) and add its ‘bin’ folder as part of the PATH environment variables. For example: right-click on This PC > Properties > Advanced System Settings > Environment variables > ‘System Variables’, search for Path and double-click. Click ‘New’ and add the path to java ‘bin’:
C:\Program Files\Java\jdk-15.0.1\bin
Once saved, Java commands are executable in a CMD console.
Open a CMD console window as administrator and download the current Files Server JAR file into a new folder, for example, in the C: root:
C:\files-server>
Download the “procrun” files from https://downloads.apache.org/commons/daemon/binaries/windows/ and unzip the file in your EBF Files folder.
Important: if you use a 64-bit system, use the prunsrv.exe of the folder „amd64“.
We suggest creating a service user and run the service with that service user.
The service user needs to have full control rights on the folder where you have the JAR and the folder where you save your logs.
Next step is creating a ebffiles.properties file and add following content and fit it for your needs.
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect spring.datasource.url=jdbc:sqlserver://acme.com;databaseName=files_db spring.datasource.username=files spring.datasource.password=password com.ebf.ldap.ldapType=ActiveDirectory com.ebf.ldap.enableCascadedMembershipLookup=true com.ebf.ldap.server=10.10.10.10 com.ebf.ldap.port=389 com.ebf.ldap.viaSSL=false com.ebf.ldap.baseDN=dc=files,dc=acme,dc=com ## IMPORTANT: ldap user need to be an admin that can managae all needed groups. com.ebf.ldap.username=cn=admin,dc=files,dc=acme,dc=com com.ebf.ldap.password=ldap-password com.ebf.tokenTTL=31536000 spring.data.rest.return-body-on-create=true spring.data.rest.return-body-on-update=true spring.jackson.serialization.write_dates_as_timestamps=false spring.jackson.default-property-inclusion=non_null spring.jackson.serialization.INDENT_OUTPUT=true spring.jackson.mapper.default-view-inclusion=true spring.jpa.open-in-view=true spring.servlet.multipart.max-file-size=100MB spring.servlet.multipart.max-request-size=100MB server.max-http-header-size=1048576 logging.level.root=INFO spring.datasource.testWhileIdle=true spring.datasource.validationQuery=SELECT 1 spring.jpa.hibernate.ddl-auto=update spring.output.ansi.enabled=ALWAYS server.port=9090 info.api.version=3
To enable and save logs into file enter:
enableFileLogging=true
To enable SSL enter those variables:
server.ssl.enabled=true server.ssl.key-store=file: (key file path) server.ssl.key-store-type= server.ssl.key-alias= server.ssl.key-store-password=
For a complete overview of all properties please take a look in the Configuration chapter in this documentation.
prunsrv.exe //IS//EBFFiles --Install=C:\files-server\prunsrv.exe --Description="EBF Files" --Startup=auto ++Environment="SPRING_CONFIG_LOCATION=C:\files-server\ebffiles.properties" --ServiceUser="local\svc-files" --ServicePassword="password" --Classpath="C:\files-server\files-2.5.0.jar" --StartMode=jvm --StartClass="org.springframework.boot.loader.JarLauncher" --StopClass="java.lang.System" --StopMode=jvm --DisplayName="EBF Files" --LogPath=C:\files-server\logs --LogPrefix=EBFFiles
Adjust following parameters in the command above:
Parameter | Description |
--Install=C:\files-server\prunsrv.exe | location of prunsrv.exe |
++Environment="SPRING_CONFIG_LOCATION=C:\files-server\ebffiles.properties" | location of .properties-config file of the service |
--ServiceUser="local\svc-files" | service user you want to run the service with |
--ServicePassword="Passwort" | password of the service-user |
--Classpath="C:\files-server\files-2.5.0.jar" | location of the EBF-Files .jar file |
--LogPath=C:\files-server\logs | location where you want to store the log-files |
(optional) --DisplayName="EBF Files" | the name which will be displayed in the windows services |
(optional) --Description="EBF Files" | the description which will be displayed in the windows services |
(optional) --LogPrefix=EBFFiles | Prefix of the log files |
Be sure you created the ebffiles.properties file and run the command.
If you run the command successful, you can find and start the service in the windows service.
If you need to adjust any of the settings after creating the service, you can adjust it with following command
prunsrv.exe //ES//EBFFiles
After doing a change you need to restart the windows service manually.
To remove the service from your computer you just need to stop the service and run
prunsrv.exe //DS//EBFFiles
To upgrade EBF Files you have two options.
- You can stop the service, rename the new version to the file name you set in the Classpath parameter and override the old .jar file. After the restart of the service the update is complete.
- Other option is to open the Properties of the Service with
prunmgr.exe //ES//EBFFiles
navigate to the tab “Java” and set the path and/or filename to the new .jar file.