Redmine
Contents
Redmine is a flexible project management web application. Written using the Ruby on Rails framework, it is cross-platform and cross-database.
Redmine is open source and released under the terms of the GNU General Public License v2 (GPL).
Requirements
Check the Redmine requirements carefully, specially if you won't use PostgreSQL. A few MariaDB and MySQL issues remain open.
Installation
These instructions are for Redmine 4.0.7.stable under Debian 10 (Buster)
Redmine database and application
1. Install your database:
# apt install postgresql # or default-mysql-server
2. Install Redmine with support for your database of choice:
# apt install redmine-pgsql -t buster-backports # or redmine-mysql, or redmine-sqlite
This will also install all required dependencies including Ruby libraries, etc.
There will be one or more prompts asking to confirm database configuration via dbconfig-common. The default Yes should be OK unless you are upgrading (see below), using an external database or want to otherwise manually configure this.
3. Configure the web server
apt install apache2 libapache2-mod-passenger
To use your domain for Redmine only (ie. http://domain.com/):
cp /usr/share/doc/redmine/examples/apache2-passenger-host.conf /etc/apache2/sites-available/redmine.conf
To use the same domain shared with other applications (ie. http://domain.com/redmine):
cp /usr/share/doc/redmine/examples/apache2-passenger-alias.conf /etc/apache2/sites-available/redmine.conf
Edit your configuration file to add your domain name and sysadmin contact information:
edit /etc/apache2/sites-available/redmine.conf
For example:
ServerName exampledomain.com ServerAdmin admin@exampledomain.com
Next:
# a2enmod passenger # a2ensite redmine.conf # a2dissite 000-default # service apache2 reload
Alternatively, to use the same domain but a different port, base your config on apache2-passenger-host.conf, then edit apache2.conf to also Listen to <port> and redmine.conf accordingly. In this case disabling 000-default is not required.
4. Log into Redmine at http://<ip>/ with the following default admin account:
username: admin password: admin
TLS certificate
Follow instructions at the Certbot documentation for Debian 10 (Buster)
Differences from upstream Redmine
The Debian redmine package contains a few patches to support running multiple Redmine instances using a single codebase. You manage your instances by using dpkg-reconfigure redmine. This multi-instance support makes some things appear in places that are different from when you are using the upstream Redmine:
The application logs are located under /var/log/redmine/${instance}/ (instead of /path/to/redmine/log)
The database configuration is located at /etc/redmine/${instance}/database.yml (instead of /path/to/redmine/config/database.yml)
File attachments are located under /var/lib/redmine/${instance}/files
Plugins should be placed under /usr/share/redmine/plugins. The folder doesn't exist by default and must be created. Don't use /usr/share/redmine/lib/plugins as this result to routing error in the application.
plugins assets should be place in /var/cache/redmine/${instance}/plugin_assets/{$plugin}, could be done by a symlink
Other documentation
* Manual Redmine install using RVM with Debian (French)