Introducer og konfigurer Redmine på Debian 9

7/20/2020
10 minutes
Lukáš Beňa
Redmine inkorporerer forskellige projektstyring, wikier, sporing af systemproblemer, diskussioner, kalendere, e-mail-meddelelser og meget mere. Vi vil vise dig, hvordan du installerer og tilpasser den nye version af Redmine på Debian 9 i denne vejledning.

Før du begynder, skal du sørge for at gøre dette

  • Har et domænenavn, der peger på en offentlig IP på din server. Vi vil bruge example.com.
  • Logget ind som en sudo-foretrukket klient.
  • Installeret Nginx.
  • Har en Domain SSL-certifikat installeret.


Opret en MySQL-database

Redmine understøtter MySQL/MariaDB, SQL Server, SQLite 3, Microsoft og PostgreSQL. Vi vil bruge MariaDB som backend til databasen. Kontroller, at du har installeret mindst MySQL 5.7 eller MariaDB 10.3 på din computer. 
Hvis din Debian-server ikke har MariaDB eller MySQL, kan du installere det ved hjælp af disse instruktioner. 
Begynd med at logge ind ved at skrive i MySQL-konsollen:
$ sudo mysql
For at oprette en ny database skal du køre følgende SQL-udtalelse; 
mysql> CREATE DATABASE redmine CHARACTER SET utf8mb4;
Opret en ny bruger til MySQL og tillad adgang til databasen: 
mysql> GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
mysql> flush priviledges; <- dette er vigtigt! Ellers vil ændringerne ikke træde i kraft, før MySQL-tjenesten genstartes.
Husk at ændre et stærkt kodeord med change-with-strong-passwords.
Når du er færdig, skal du logge ud af MariaDB-konsollen ved at skrive:
mysql> EXIT;


Installer Ruby

Installer den nyeste version af Ruby via Rbenv eller RVM.


RVM

1. Installer RVM, kør det, tilføj 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. Opret brugeren "easy" (eller du kan navngive den som du ønsker, pointen er, at denne bruger vil arbejde med din Redmine-applikation, ikke root-brugeren. Dette skal gøres af sikkerhedsmæssige årsager)
useradd -m -G rvm -s /bin/bash easy
Du skal også tilføje brugeren "easy" til sudoers-gruppen (vi skal tillade, at denne bruger kan køre nogle kommandoer fra sudo)
usermod -a -G sudo easy
Hvis du har gjort dette, kan du springe det næste trin over, fordi efter denne kommando er din bruger allerede i den korrekte gruppe. Skift til denne bruger
su - easy
3. Tilføj brugeren til rvm-gruppen
usermod -a -G rvm easy
Du skal også tilføje brugeren "easy" til sudoers-gruppen (vi skal tillade, at denne bruger kan køre nogle kommandoer fra sudo)
usermod -a -G sudo easy
Skift til brugeren "easy"
su - easy
4. Installer Ruby
rvm install 2.6 --patch railsexpress
5. Installer Git
sudo apt-get install git
6. Sæt Ruby 2.6 som standard
rvm use 2.6 --default
Det kursiverede afsnit er kun nødvendigt, hvis du vil installere Ruby fra en ikke-root-bruger. Hvis du beslutter at lade det være, kan du erstatte brugernavnet "easy" med "redmine".


Rbenv

Følg venligst instruktionerne i denne artikel.


Introducer Passenger og Nginx #

Passenger er en hurtig, letvægts Ruby, Node.js og Python webapplikationsserver, der kan integreres med Apache og Nginx. Passenger vil blive introduceret som Nginx-modul. 

Installer de nødvendige pakker for at oprette et https repository:

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

Importer GPG-nøgle repository og tillad Phusionpassenger repository at:

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

Opdater listen over pakker og installer Nginx Passenger Modul 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

Begynd med at installere de nødvendige afhængigheder for at 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 kontrollere Redmine download siden for en nyere version, før du fortsætter med næste trin.


Download Redmine

Brug følgende curl-kommando til at downloade arkivet på Redmine:

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

Udpak arkivet og overfør det til /opt mappen, når downloaden er færdig:

$  cd /tmp

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

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

Konfigurer Redmine Database:

Kopier konfigurationsfilen som et eksempel i Redmine:

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

Åbn din teksteditorfil:

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

Søg efter sektionen "production" og indtast den tidligere oprettede MySQL-database og brugeroplysninger:

/opt/redmine/config/database.yml

Production:

  adapter: mysql2

  database: redmine

  host: localhost

  username: redmine

  password: "skift-med-stærkt-password"

  encoding: utf8

Gem filen, indtil du er færdig, og afslut redigeringsprogrammet.


Installer Ruby-betingelser

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

$ cd path/to/redmine/

$ sudo gem install bundler

$ sudo bundle install -- without development test

Flyt databasen ved at generere nøgler:

Kør den medfølgende nøglegenereringskommando og flyt databasen.

$ sudo bundle exec rake generate_secret_token

$ sudo RAILS_ENV=production bundle exec rake db:migrate


Indstil de korrekte tilladelser

Nginx kører som en klient og netværk af www-informationen. Indstil tilladelserne korrekt ved at give følgende chown-kommando.

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


Opsætning af Nginx

Bemærk: I denne blog kan du lære mere om letsencrypt samt en alternativ måde at oprette/købe HTTPS-certifikater (cert-manager).

På nuværende tidspunkt, hvis du ikke har kontrolleret forudsætningerne for denne vejledning, skal du allerede have Nginx med et SSL-certifikat installeret på dit system.

Åbn din teksteditor og opret følgende blokfil til 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-parametre

    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;

    # logfiler

    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;
}
Glem ikke at bruge dit Redmine-domæne til at erstatte example.com og indstille den korrekte sti til SSL-certifikatfilerne. Alle anmodninger til HTTP vil blive videresendt til HTTPS. Denne vejledning genererer de koder, der bruges i denne opsætning.
Aktivér blokserveren ved at oprette et symbolisk link til mappen, der er aktiveret for webstederne:
$    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Lav en test, inden du genstarter Nginx-tjenesten, for at være sikker på, at der ikke er nogen syntaksfejl: 
$  sudo nginx -t
Hvis der ikke opstår fejl, skal outputtet se sådan ud: 
nginx: konfigurationsfilen /etc/nginx/nginx.conf syntaks er ok
nginx: konfigurationsfilen /etc/nginx/nginx.conf test er vellykket
Til sidst genstart tjenesten med Nginx ved at skrive:
$  sudo systemctl restart nginx


Få adgang til Redmine

Åbn din browser, indtast dit domæne, og hvis installationen er vellykket, vises en lignende skærm som følger: 

Redmines standard loginoplysninger er: 
Brugernavn: admin
Adgangskode: admin
Når du logger ind første gang, bliver du bedt om at ændre din adgangskode som vist nedenfor: 

Når adgangskoden er ændret, bliver du omdirigeret til brugerkonto-siden.
Du har succesfuldt oprettet Redmine på dit Debian-system.

Den ultimative Redmine-opgradering? Nemt.

Få alle kraftfulde værktøjer til perfekt projektplanlægning, -styring og -kontrol i én software.

Prøv Easy Redmine i en 30 dages gratis prøveperiode

Fuld funktionalitet, SSL-beskyttet, daglige backups, i din geolocation