How to Install Redmine on Debian 9 (Stretch)¶
I was having some trouble installing redmine because I am not an experienced Debian administrator! I used the talking points in several other guides and some googling to get these instructions together.
1. Install the pre-requisites for redmine and all its packages.
apt install gcc build-essential zlib1g zlib1g-dev zlibc ruby-zip libssl-dev libyaml-dev libcurl4-openssl-dev ruby gem libapache2-mod-passenger apache2 apache2-dev libapr1-dev libxslt1-dev checkinstall libxml2-dev ruby-dev vim libmagickwand-dev imagemagick sudo rails
2. Install your database of choice. If installing another database, it's very easy! Just follow the instructions here instead:
apt install postgresql
3. If installing postgres, install dev. Use the version number installed in the previous step.
apt install postgresql-server-dev-* (See version in step 2 during install)
4. Choose a directory where to install redmine. I used /opt. You can use wherever you like, but you will need to update the following steps as necessary based on your desired install location.
Install redmine in /opt
Get redmine - use the download page and review the functionality that you need to determine the right version for you. I wanted DMSF, which is not yet compatible with the latest version. If in doubt, check it out!
tar xzf ./redmine-3.3.4.tar.gz
5. Login as the default postgres user and create a new role and database. Use your own password )).
sudo -u postgres psql postgres
CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'your_password' NOINHERIT VALID UNTIL 'infinity';
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
then press CTRL-D to escape the shell.
edit /etc/postgresql/9.6/main/pg_hba.conf and set postgres to trust :
"local all postgres trust “
sudo service postgresql reload
6. Create the /opt/redmine/redmine-3.3.4/config/database.yml file with the following contents…
Note that the spacing is important in this file! under the “Production” line, each other line must be indented by two spaces, not tabs. Replace your_password with the password specified above. Seriously, don’t use your_password…. Remeber to save! ALSO- Postgresql password can't start with @ character (or other non alpha numerics?) .
7. Next, set up the database schema and load the initial database.
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data
8.Do a quick test to verify that redmine is working using webrick.
bundle exec ruby /usr/bin/rails server -b your_ip webrick -e production
And try to connect via browser to your ip:3000. Webrick is not for production systems. It is a good way to check things before getting started with Apache, though.
9. Next, let’s set up Apache.
sudo chown -R www-data:www-data /opt/redmine
sudo chmod -R 755 files log tmp public/plugin_assets
sudo chown www-data:www-data Gemfile.lock
9.1 Create a symbolic link which points from the working directory of apache to the redmine public folder…
sudo ln -s /opt/redmine/redmine-3.3.4/public/ /var/www/html/redmine
9.2 Need to create a new vhost configuration…
sudo nano /etc/apache2/sites-available/master.conf
and paste in….
sudo a2dissite 000-default.conf
sudo a2ensite master.conf
9.3 add this line to /etc/apache2/mods-available/passenger.conf…. in the body of the document- not just the 1st line.
sudo service apache2 restart
10. Open your browser and navigate to: http://your-ip-address/redmine
And hopefully, you're up and running.Sources: