@@ -11,9 +11,9 @@ If you are viewing this file from the repository, please make sure you are on th
While ARSnova should be able to run on any Linux distribution, we officially only support Debian and Ubuntu systems on which we test the installation procedure regularly.
We recommend to use the latest (LTS) versions of the distributions.
For Debian 8 you need to enable the backports repository to install Java 8:
For Debian 9 you can enable the backports repository to install Tomcat 9:
Before you proceed, make sure that CouchDB is up and running:
After CouchDB is installed successfully, [set up an admin user](https://docs.couchdb.org/en/stable/config/auth.html)
with the credentials set before for `couchdb.username` and `couchdb.password`.
$ curl localhost:5984
CouchDB should respond with version information.
Use the values you set for `couchdb.username` and `couchdb.password` before to set the database credentials with the following command:
$ curl -X PUT -d '"<password>"' localhost:5984/_config/admins/<username>
We provide a Python script that will set up all database essentials.
We provide a Python script that will set up a new database for ARSnova.
This "Setup Tool" is located at [thm-projects/arsnova-setuptool](https://github.com/thm-projects/arsnova-setuptool).
To set up the database, run:
$ python tool.py
$ ./tool.py
This will create the database along with all required view documents.
CouchDB is now usable for ARSnova, but there are still a few things that should be setup for security and performance reasons.
We recommend that you make the following adjustments to the CouchDB configuration `local.ini` which is usually located in either `/etc/couchdb` or `/usr/local/etc/couchdb` depending on the installation method.
First, make sure the CouchDB daemon only listens to local connections by setting `bind_address` in the `httpd` section to `127.0.0.1`.
Next, append the following section which instructs CouchDB to cleanup at night.
CouchDB is now usable for ARSnova, but there are still a few things that should be setup for performance reasons.
We recommend that you enable scheduled compactions of databases and their views.
Create a new file `99-compactions.ini` in the CouchDB configuration directory (usually located at `/opt/couchdb/etc/local.d`) with the following content:
@@ -113,13 +104,13 @@ On Debian-based systems this is done by appending
JAVA_OPTS="$JAVA_OPTS -Xms3072m -Xmx3072m"
to `/etc/default/tomcat8`.
to `/etc/default/tomcat9`.
For most other distributions append this to `setenv.sh` in Tomcat's `bin` directory.
Adjust the values based on the memory available to the system, but make sure to reserve 1 GiB for the operating system, web server, and database system.
By default, Tomcat listens on a public interface.
If you follow our recommendation to use a reverse proxy, you should change the configuration so Tomcat only accepts requests from localhost.
Open `/etc/tomcat8/server.xml`, look for `<Connector port="8080" ...>`, and change it to:
Open `/etc/tomcat9/server.xml`, look for `<Connector port="8080" ...>`, and change it to: