Introduser og konfigurer Redmine på Debian 9

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.