There are two ways to get up and running with the Giles Ecosystem: using Docker or installing it directly on your infrastructure. We recommend to use Docker for evaluation and testing purposes, but to install all components directly on your machines in production.
Using Docker
You can find a docker compose file with set up instructions for the Giles Ecosystem here: giles-eco-docker.
Full Installation
The Docker Ecosystem consists of the following components: Giles, Nepomuk, Cepheus, Cassiopeia, Digilib, Kafka, Zookeeper, MySQL/PostgreSQL. Ideally, these components should all be installed on their own machines to maximize performance, but they can be installed on just one machine (e.g. for development or testing purposes).
Third-party Components
Apache Zookeeper
Please consult the Apache Zookeeper page for installation instructions.
Apache Kafka
Please consult the Apache Kafka page for installation instructions.
Digilib
Please consult the Digilib page for installation instructions.
Giles Ecosystem Components
Giles
Giles needs the following software to be installed:
- MySQL or PostgreSQL
Create a database for Giles and a user with access to the new database. Then run the script located here to generate the necessary table structure. Note that if you did not call the database you've created for Gilesgiles
, you will have to change the use instruction in the script to reflect the database name. - Tomcat 8
You can either build Giles from source by downloading Giles' source code or download the war files uploaded for a release. This page explains how to install Giles using the provided war file. The download page is https://github.com/diging/giles-eco-giles-web/releases. In most cases, you should choose the latest release.
Once downloaded follow these steps:
- Unpack the war file (e.g. by changing its ending to ".zip" and unzipping it)
- Find the file
WEB-INF/classes/config.properties
and edit the following properties:giles_files_tmp_dir
: This should be an absolute path to the directory where you want Giles to stores its temporary files (files uploaded by users that haven't been processed yet).- If your Kafka server is not running on the same machine as Giles, or if it is running on a different port than the default port (9092), you have to change the property
kafka_hosts
to reflect this. - All other properties can later be changed through the webapp itself.
- Find the file
WEB-INF/classes/META-INF/persistence.xml
and change it as follows:There are three lines that start with
<property name="javax.persistence.jdbc.url"
. In each line, replace/path/to/giles/dbfiles/folder
with the path to the folder that should store Giles' DB files. It should look something like this:<property name="javax.persistence.jdbc.url" value="/path/to/giles/db/folder/users.odb"/>
Make sure to keep the file name at the end of each line.
Find the file
WEB-INF/spring/spring-security.xml
and change the following lines:<beans:bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <beans:property name="driverClassName" value="com.mysql.jdbc.Driver" /> <beans:property name="url" value="jdbc:mysql://localhost:3306/giles" /> <beans:property name="username" value="" /> <beans:property name="password" value="" /> </beans:bean>
Change the values of username and password to the username of your DB user and its password. If you did not name the new DB
giles
, change theurl
property to reflect the database name (e.g. if you named the databasegilesdb
, then instead ofjdbc:mysql://localhost:3306/giles
, putjdbc:mysql://localhost:3306/gilesdb
).
If you are using PostgreSQL instead of MySLQ, make sure to replace the driver class name withorg.postgresql.Driver
.Now, generate a new war file from the unpacked and changed files and deploy it in your Tomcat.
If you are on a Unix-based operating system, you can do this for example by running the command
jar -cvf giles.war .
from inside the unpacked Giles folder.- Once deployed, Tomcat should be accessible at http://your.server/giles.
to be continued...