Introductie en configuratie van Redmine op Debian 9.

7/20/2020
10 minutes
Lukáš Beňa.

Redmine bevat verschillende projectondersteuning, wiki's, systeemtrackingproblemen, discussies, agenda's, e-mailmeldingen en nog veel meer. We laten u in deze tutorial zien hoe u de nieuwe versie van Redmine op Debian 9 installeert en aanpast.

Zorg ervoor dat je dit doet voordat je begint

  • Zorg ervoor dat je een domeinnaam hebt die naar een openbaar IP-adres op je server wijst. We gaan gebruik maken van example.com.
  • Aangemeld als een sudo-gebruiker.
  • Geïnstalleerd. Nginx
  • Heb een domein SSL-certificaat geïnstalleerd.


Maak een MySQL-database

Redmine ondersteunt MySQL/MariaDB, SQL Server, SQLite 3, Microsoft en PostgreSQL. We zullen MariaDB als back-end voor de database gebruiken. Controleer of je ten minste MySQL 5.7 of MariaDB 10.3 op je computer hebt geïnstalleerd. 
Als je Debian-server geen MariaDB of MySQL heeft, kun je deze installeren met behulp van deze instructies. 
Begin met inloggen door in de MySQL-ondersteuning te typen:
$ sudo mysql
Om een nieuwe database te maken, voer je de volgende SQL-verklaring uit; 
mysql> CREATE DATABASE redmine CHARACTER SET utf8mb4;
Maak een nieuwe gebruiker aan voor MySQL en sta toegang tot de database toe: 
mysql> GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
mysql> flush priviledges; <- dit is belangrijk! Anders worden de wijzigingen pas toegepast na het opnieuw starten van de mysql-service.
Onthoud om een sterk wachtwoord te wijzigen in change-with-strong passwords.
Als je klaar bent, log dan uit bij de console op MariaDB door te typen:
mysql> EXIT;


Installeer Ruby

Installeer de nieuwste versie van Ruby via Rbenv of RVM.


RVM

1. installeer rvm, voer het uit, voeg toe aan autostart
curl -sSL https://get.rvm.io | sudo bash -s master
source /etc/profile.d/rvm.sh
echo '[[ -s "/etc/profile.d/rvm.sh" ]] && source "/etc/profile.d/rvm.sh"' >> ~/.bashrc
2. Maak gebruiker "easy" aan (of je kunt het noemen zoals je wilt, het punt is dat deze gebruiker zal werken met je redmine applicatie, niet als rootgebruiker. Het moet om veiligheidsredenen worden gedaan)
useradd -m -G rvm -s /bin/bash easy
Je moet ook gebruiker "easy" toevoegen aan de sudoers-groep (we moeten deze gebruiker toestaan om enkele opdrachten van sudo uit te voeren)
usermod -a -G sudo easy
Als je dit hebt gedaan, kun je de volgende stap overslaan, omdat je gebruiker na deze opdracht al in de juiste groep zit. Schakel over naar deze gebruiker
su - easy
3. voeg gebruiker toe aan rvm-groep
usermod -a -G rvm easy
Je moet ook gebruiker "easy" toevoegen aan de sudoers-groep (we moeten deze gebruiker toestaan om enkele opdrachten van sudo uit te voeren)
usermod -a -G sudo easy
Schakel over naar gebruiker "easy"
su - easy
4. installeer ruby
rvm install 2.6 --patch railsexpress
5. installeer git
sudo apt-get install git
6. stel ruby 2.6 in als standaard
rvm use 2.6 --default
Het gedeelte in cursief is alleen nodig als je ruby wilt installeren vanuit een niet-rootgebruiker. Als je besluit om het te laten staan, kun je de gebruikersnaam "easy" vervangen door "redmine".


Rbenv

Volg de instructies in dit artikel.


Introduce Passenger en Nginx #

Passenger is een snelle, lichtgewicht Ruby, Node.js en Python webapplicatieserver die kan worden geïntegreerd met Apache en Nginx. Passenger wordt geïntroduceerd als Nginx-module. 

Installeer de benodigde pakketten om een https repository te maken:

$    sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common

Importeer de GPG-sleutelrepository en sta de Phusionpassenger-repository toe:

$   sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 561F9B9CAC40B2F7

$   sudo add-apt-repository 'deb https://oss-binaries.phusionpassenger.com/apt/passenger stretch main'

Werk de lijst met pakketten bij en installeer de Nginx Passenger-module met:

$   sudo apt update

$   sudo apt install libnginx-mod-http-passenger

$   gem install passenger --no-ri --no-rdoc

$   passenger-install-nginx-module


Installeer Redmine op Debian

Begin met het installeren van de benodigde afhankelijkheden om een Redmine te bouwen:

$    sudo apt install build-essential libmariadbclient-dev imagemagick libmagickwand-dev curl ruby-dev libxslt-dev libxml2-dev zlib1g-dev

Controleer de Redmine downloadpagina voor een nieuwere versie voordat u doorgaat met de volgende stap.


Download Redmine

Gebruik de volgende curl-opdracht om het archief op Redmine te downloaden:

$     sudo curl -L http://www.redmine.org/releases/redmine-4.0.4.tar.gz -o /tmp/redmine.tar.gz

Extract het archief en verplaats het naar de /opt-directory zodra de download is voltooid:

$  cd /tmp

$  sudo tar zxf /tmp/redmine.tar.gz

$  sudo mv /tmp/redmine-4.0.4 /opt/redmine

Configureer Redmine Database:

Kopieer het configuratiebestand voor een voorbeeld in Redmine:

$     sudo cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml

Open uw teksteditorbestand:

$    sudo nano /opt/redmine/config/database.yml

Zoek de productiesectie en voer de eerder aangemaakte MySQL-database- en gebruikersinformatie in:

/opt/redmine/config/database.yml

Productie:

  adapter: mysql2

  database: redmine

  host: localhost

  username: redmine

  password: "change-with-strong-password"

  encoding: utf8

Sla het bestand op totdat u klaar bent en sluit de editor.


Installeer Ruby-voorwaarden

Installeer bundler en andere Ruby-voorwaarden en ga naar de Redmine-catalogus:

$ cd path/to/redmine/

$ sudo gem install bundler

$ sudo bundle install -- without development test

Verplaats de database door sleutels te genereren:

Voer de bijbehorende sleutelopdracht uit en verplaats de database.

$ sudo bundle exec rake generate_secret_token

$ sudo RAILS_ENV=production bundle exec rake db:migrate


Stel de juiste goedkeuringen in

Nginx draait als een client en netwerk van de www-informatie. Stel de machtigingen nauwkeurig in door de volgende chown-opdracht te geven.

$    sudo chown -R www-data: /opt/redmine/


Instellen van Nginx

Opmerking: In deze blog kun je meer leren over letsencrypt en een alternatieve manier om HTTPS-certificaten te maken/kopen (cert-manager).

Als je de vereisten voor deze tutorial nog niet hebt gecontroleerd, zou je Nginx met een SSL-certificaat al op je systeem moeten hebben geïnstalleerd.

Open je teksteditor en maak het volgende blokbestand voor de Nginx-server:

$    sudo nano /etc/nginx/sites-available/example.com

/etc/nginx/sites-available/example.com

# Redirect HTTP -> HTTPS

server {

    listen 80;

    server_name www.example.com example.com;

    include snippets/letsencrypt.conf;

    return 301 https://example.com$request_uri;

}

# Redirect WWW -> NON WWW

server {

    listen 443 ssl http2;

    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;

    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;

    include snippets/ssl.conf;

    return 301 https://example.com$request_uri;

}

server {

    listen 443 ssl http2;

    server_name example.com;

    root /opt/redmine/public;

    # SSL parameters

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;

    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;

    include snippets/ssl.conf;

    include snippets/letsencrypt.conf;

    # log files

    access_log /var/log/nginx/example.com.access.log;

    error_log /var/log/nginx/example.com.error.log;

    passenger_enabled on;

    passenger_min_instances 1;

    client_max_body_size 10m;
}
Vergeet niet om uw Redmine-domein te gebruiken om example.com te vervangen en het juiste pad naar de SSL-certificaatbestanden in te stellen. Alle verzoeken voor HTTP worden doorgestuurd naar HTTPS. Deze handleiding genereert de fragmenten die in deze configuratie worden gebruikt.
Activeer de blokserver door een symbolische koppeling te maken naar de voor de sites ingeschakelde directory:
$    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Maak een test voordat u de Nginx-service opnieuw start om er zeker van te zijn dat er geen syntaxisfouten zijn: 
$  sudo nginx -t
Als er geen fouten optreden, moet de uitvoer er als volgt uitzien: 
nginx: de configuratiebestand /etc/nginx/nginx.conf syntaxis is oké
nginx: configuratiebestand /etc/nginx/nginx.conf test is succesvol
Herstart ten slotte de service met Nginx door het volgende in te typen:
$  sudo systemctl restart nginx


Toegang tot Redmine

Open je browser, typ je domeinnaam in en als de installatie succesvol is, verschijnt er een vergelijkbaar scherm als volgt: 

De standaard inloggegevens voor Redmine zijn: 
Gebruikersnaam: admin
Wachtwoord: admin
Wanneer je voor het eerst inlogt, word je gevraagd om je wachtwoord te wijzigen, zoals hieronder wordt weergegeven: 

Zodra het wachtwoord is gewijzigd, word je doorgestuurd naar de gebruikersaccountpagina.
Je hebt Redmine met succes gebouwd op je Debian-systeem.

De ultieme Redmine-upgrade? Makkelijk.

Krijg alle krachtige tools voor perfect projectplanning, -beheer en -controle in één software.

Probeer Easy Redmine 30 dagen gratis uit

Volledige functies, SSL-beveiligd, dagelijkse back-ups, in uw geografische locatie