Introduser og konfigurer Redmine på Debian 9

7/20/2020
9 minutes
Lukáš Beňa
Redmine inkorporerer ulike prosjektstøtte, wikier, systemsporing av problemer, diskusjoner, kalendere, e-postvarsler og mye mer. Vi vil vise deg hvordan du installerer og tilpasser den nye versjonen av Redmine på Debian 9 i denne opplæringen.

Før du begynner, sørg for å gjøre dette

  • Ha et domenenavn som peker til en offentlig IP på serveren din. Vi kommer til å bruke example.com.
  • Logget inn som en sudo-foretrukket klient.
  • Installert Nginx
  • Ha en Domain SSL-sertifikat installert.


Lag en MySQL-database

Redmine støtter MySQL/MariaDB, SQL Server, SQLite 3, Microsoft og PostgreSQL. Vi vil bruke MariaDB som backend for databasen. Sjekk at du har installert minst MySQL 5.7 eller MariaDB 10.3 på datamaskinen din. 
Hvis Debian-serveren din ikke har MariaDB eller MySQL, kan du installere det ved å følge disse instruksjonene. 
Start med å logge inn ved å skrive inn MySQL-kommandolinjen:
$ sudo mysql
For å opprette en ny database, kjør følgende SQL-uttalelse; 
mysql> CREATE DATABASE redmine CHARACTER SET utf8mb4;
Opprett en ny brukerkonto for MySQL, og gi tilgang til databasen: 
mysql> GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
mysql> flush priviledges; <- dette er viktig! Ellers vil ikke endringene tre i kraft før mysql-tjenesten startes på nytt.
Husk å bytte ut et sterkt passord med change-with-strong-password.
Når du er ferdig, logg ut av MariaDB-konsollen ved å skrive:
mysql> EXIT;


Installer Ruby

Installer den nyeste versjonen av Ruby via Rbenv eller RVM.


RVM

1. Installer rvm, kjør det, legg til 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. Opprett brukeren "easy" (eller du kan gi den et annet navn, poenget er at denne brukeren vil jobbe med Redmine-applikasjonen din, ikke som rotbruker. Dette bør gjøres av sikkerhetsmessige årsaker)
useradd -m -G rvm -s /bin/bash easy
Du må også legge til brukeren "easy" i sudoers-gruppen (vi må tillate at denne brukeren kjører noen kommandoer fra sudo)
usermod -a -G sudo easy
Hvis du gjorde dette, kan du hoppe over neste trinn, fordi etter denne kommandoen er brukeren din allerede i riktig gruppe. Bytt til denne brukeren
su - easy
3. Legg til brukeren i rvm-gruppen
usermod -a -G rvm easy
Du må også legge til brukeren "easy" i sudoers-gruppen (vi må tillate at denne brukeren kjører noen kommandoer fra sudo)
usermod -a -G sudo easy
Bytt til brukeren "easy"
su - easy
4. Installer Ruby
rvm install 2.6 --patch railsexpress
5. Installer git
sudo apt-get install git
6. Sett Ruby 2.6 som standard
rvm use 2.6 --default
Delen i kursiv er bare nødvendig hvis du skal installere Ruby fra en ikke-rotbruker. Hvis du bestemmer deg for å hoppe over dette, kan du erstatte brukernavnet "easy" med "redmine".


Rbenv

Følg instruksjonene i denne artikkelen.


Introduser passasjer og Nginx #

Passasjer er en rask, lettvekts Ruby, Node.js og Python webapplikasjonsserver som kan integreres med Apache og Nginx. Passasjer vil bli introdusert som Nginx-modul. 

Installer pakkene som trengs for å opprette et https-lager:

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

Importer GPG-nøkkellageret og tillat Phusionpassenger-lageret:

$   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'

Oppdater listen over pakker og installer Nginx Passenger-modulen med:

$   sudo apt update

$   sudo apt install libnginx-mod-http-passenger

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

$   passenger-install-nginx-module


Installer Redmine på Debian

Begynn med å installere de nødvendige avhengighetene for å bygge en Redmine:

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

Du bør sjekke Redmine nedlastingssiden for en nyere versjon før du fortsetter med neste trinn.


Last ned Redmine

Bruk følgende curl-kommando for å laste ned arkivet på Redmine:

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

Pakk ut arkivet og overfør det til /opt-katalogen når nedlastingen er fullført:

$  cd /tmp

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

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

Konfigurer Redmine Database:

Kopier konfigurasjonsfilen for et eksempel i Redmine:

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

Åpne tekstredigeringsfilen din:

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

Søk etter produksjonsdelen og skriv inn tidligere opprettet MySQL-database og brukerinformasjon:

/opt/redmine/config/database.yml

Produksjon:

  adapter: mysql2

  database: redmine

  host: localhost

  username: redmine

  password: "endre-med-sterkt-passord"

  encoding: utf8

Lagre filen til du er ferdig, og avslutt redigeringsprogrammet.


Installer Ruby-betingelser

Installer bundler og andre Ruby-betingelser og gå til Redmine-katalogen:

$ cd path/to/redmine/

$ sudo gem install bundler

$ sudo bundle install -- without development test

Flytt databasen ved å generere nøkler:

Kjør følgende nøkkelgenereringskommando og flytt databasen.

$ sudo bundle exec rake generate_secret_token

$ sudo RAILS_ENV=production bundle exec rake db:migrate


Sett riktige tillatelser

Nginx kjører som en klient og nettverk for www-informasjonen. Sett tillatelser nøyaktig ved å gi følgende chown-kommando.

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


Set opp Nginx

Merk: I denne bloggen kan du lære mer om letsencrypt samt en alternativ måte å opprette/kjøpe HTTPS-sertifikater (cert-manager).

På dette tidspunktet, hvis du ikke har sjekket forutsetningene for denne opplæringen, bør du allerede ha Nginx med et SSL-sertifikat installert på systemet ditt.

Åpne tekstredigereren din og opprett følgende blokkfil for Nginx-serveren:

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

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

# Omdiriger HTTP -> HTTPS

server {

    listen 80;

    server_name www.example.com example.com;

    include snippets/letsencrypt.conf;

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

}

# Omdiriger WWW -> IKKE 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-variabler

    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;

    # loggfiler

    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;
}
Gløym ikkje å bruke ditt Redmine-domene til å erstatte example.com og sette riktig sti til SSL-sertifikatfilene. Alle førespurnader for HTTP vil bli videresendt til HTTPS. Denne rettleiinga genererer snuttane som blir brukt i denne oppsettet.
Aktiver blokkserveren ved å lage ein symbolisk lenke til mappa som er aktivert for nettstadene:
$    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Gjer ein test før du startar Nginx-tenesta på nytt for å vere sikker på at det ikkje er nokon syntaksfeil: 
$  sudo nginx -t
Viss det ikkje oppstår feil, skal utdataen sjå slik ut: 
nginx: konfigurasjonsfila /etc/nginx/nginx.conf syntaksen er ok
nginx: konfigurasjonsfila /etc/nginx/nginx.conf testen er vellykka
Til slutt, start tenesta på nytt med Nginx ved å skrive inn:
$  sudo systemctl restart nginx


Tilgang til Redmine

Åpne nettleseren din, skriv inn domenet ditt, og hvis installasjonen er vellykket, vil en lignende skjerm vises som følger: 

Redmine sine standard påloggingsopplysninger er: 
Brukernavn: admin
Passord: admin
Når du logger inn for første gang, blir du bedt om å endre passordet ditt som vist nedenfor: 

Etter at passordet er endret, blir du omdirigert til brukerkonto-siden.
Du har bygget Redmine på Debian-systemet ditt med suksess.

Den ultimate Redmine-oppgraderingen? Enkel.

Få alle kraftige verktøy for perfekt prosjektplanlegging, -styring og -kontroll i én programvare.

Prøv Easy Redmine i en 30-dagers gratis prøveperiode

Full funksjonalitet, SSL-beskyttet, daglige sikkerhetskopier, i din geografiske plassering