Introducera och konfigurera Redmine på Debian 9

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

Redmine integrerar olika projektstöd, wikis, systemspårning av problem, diskussioner, kalendrar, e-postaviseringar och mycket mer. Vi kommer att visa dig hur du installerar och anpassar den nya versionen av Redmine på Debian 9 i denna handledning.

Innan du börjar, se till att göra detta

  • Ha ett domännamn som pekar på en offentlig IP-adress på din server. Vi kommer att använda example.com.
  • Inloggad som en sudo-favoriserad klient.
  • Installerad. Nginx
  • Ha ett Domain SSL-certifikat installerat.


Skapa en MySQL-databas

Redmine stöder MySQL/MariaDB, SQL Server, SQLite 3, Microsoft och PostgreSQL. Vi kommer att använda MariaDB som backend för databasen. Kontrollera att du har installerat åtminstone MySQL 5.7 eller MariaDB 10.3 på din dator. 
Om din Debian-server inte har MariaDB eller MySQL kan du installera det med hjälp av dessa instruktioner. 
Börja med att logga in genom att skriva in MySQL-stödet:
$ sudo mysql
För att skapa en ny databas, kör följande SQL-uttalande; 
mysql> CREATE DATABASE redmine CHARACTER SET utf8mb4;
Skapa ett nytt användarkonto för MySQL och ge åtkomst till databasen: 
mysql> GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'byt-till-starkt-lösenord';
mysql> flush priviledges; <- detta är viktigt! Annars kommer ändringarna inte att gälla förrän MySQL-tjänsten startas om.
Kom ihåg att byta ut ett starkt lösenord med byt-till-starkt-lösenord.
När du är klar, logga ut från konsolen i MariaDB genom att skriva:
mysql> EXIT;


Installera Ruby

Installera den senaste versionen av Ruby via Rbenv eller RVM.


RVM

1. Installera rvm, kör det, lägg till 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. Skapa användaren "easy" (eller du kan namnge den som du vill, poängen är att denna användare kommer att arbeta med din redmine-applikation, inte root-användaren. Det bör göras av säkerhetsskäl)
useradd -m -G rvm -s /bin/bash easy
Du behöver också lägga till användaren "easy" i sudoers-gruppen (vi bör tillåta att denna användare kör vissa kommandon från sudo)
usermod -a -G sudo easy
Om du gjorde detta kan du hoppa över nästa steg, eftersom din användare redan är i rätt grupp. Byt till denna användare
su - easy
3. Lägg till användaren i rvm-gruppen
usermod -a -G rvm easy
Du behöver också lägga till användaren "easy" i sudoers-gruppen (vi bör tillåta att denna användare kör vissa kommandon från sudo)
usermod -a -G sudo easy
Byt till användaren "easy"
su - easy
4. Installera Ruby
rvm install 2.6 --patch railsexpress
5. Installera git
sudo apt-get install git
6. Ställ in Ruby 2.6 som standard
rvm use 2.6 --default
Det som är kursivt behövs bara om du tänker installera Ruby från en icke-root-användare. Om du väljer att lämna det kan du ersätta användarnamnet "easy" med "redmine".


Rbenv

Följ instruktionerna i den här artikeln.


Introducera Passenger och Nginx #

Passenger är en snabb, lättviktig Ruby-, Node.js- och Python-webbapplikationsserver som kan integreras med Apache och Nginx. Passenger kommer att introduceras som en Nginx-modul. 

Installera de paket som krävs för att skapa ett https-repositorium:

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

Importera GPG-nyckelrepositoriet och tillåt Phusionpassenger-repositoriet:

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

Uppdatera listan över paket och installera 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


Installera Redmine på Debian

Börja med att installera de nödvändiga beroenderna för att bygga en Redmine:

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

Du bör kontrollera Redmines nedladdningssida efter en nyare version innan du går vidare till nästa steg.


Ladda ner Redmine

Använd följande curl-kommando för att ladda ner arkivet för Redmine:

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

Extrahera arkivet och flytta det till /opt-katalogen när nedladdningen är klar:

$  cd /tmp

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

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

Konfigurera Redmine-databasen:

Kopiera konfigurationsfilen för ett exempel i Redmine:

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

Öppna din textredigerare:

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

Sök efter avsnittet "production" och ange den tidigare skapade MySQL-databasen och användarinformationen:

/opt/redmine/config/database.yml

Production:

  adapter: mysql2

  database: redmine

  host: localhost

  username: redmine

  password: "byt-ut-med-starkt-lösenord"

  encoding: utf8

Spara filen och avsluta redigeraren.


Installera Ruby-villkor

Installera bundler och andra Ruby-villkor och navigera till Redmine-katalogen:

$ cd path/to/redmine/

$ sudo gem install bundler

$ sudo bundle install -- without development test

Flytta databasen genom att generera nycklar:

Kör följande kommando för att generera nycklar och flytta databasen.

$ sudo bundle exec rake generate_secret_token

$ sudo RAILS_ENV=production bundle exec rake db:migrate


Ange korrekta behörigheter

Nginx körs som klient och nätverk för www-informationen. Ange behörigheter korrekt genom att använda följande chown-kommando.

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


Installera Nginx

Observera: I den här bloggen kan du lära dig mer om letsencrypt samt ett alternativt sätt att skapa/köpa HTTPS-certifikat (cert-manager).

Vid det här laget, om du inte har kontrollerat förutsättningarna för den här handledningen, bör du redan ha Nginx med ett SSL-certifikat installerat på ditt system.

Öppna din textredigerare och skapa följande blockfil för Nginx-servern:

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

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

# Omdirigera HTTP -> HTTPS

server {

    listen 80;

    server_name www.example.com example.com;

    include snippets/letsencrypt.conf;

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

}

# Omdirigera WWW -> INTE 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-parametrar

    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öm inte att använda din Redmine-domän för att ersätta example.com och ange rätt sökväg till SSL-certifikatfilerna. Alla förfrågningar för HTTP kommer att vidarebefordras till HTTPS. Den här guiden genererar de snuttar som används i denna konfiguration.
Aktivera blockservern genom att skapa en symbolisk länk till katalogen som är aktiverad för webbplatserna:
$    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Gör en test innan du startar om Nginx-tjänsten för att vara säker på att det inte finns några syntaxfel: 
$  sudo nginx -t
Om inga fel uppstår ska utmatningen se ut så här: 
nginx: konfigurationsfilen /etc/nginx/nginx.conf har korrekt syntax
nginx: konfigurationsfilen /etc/nginx/nginx.conf testades framgångsrikt
Till sist, starta om tjänsten med Nginx genom att skriva:
$  sudo systemctl restart nginx


Åtkomst till Redmine

Öppna din webbläsare, skriv in din domän och om installationen är framgångsrik kommer en liknande skärm att visas enligt följande: 

Redmines standardinloggningsuppgifter är: 
Användarnamn: admin
Lösenord: admin
När du först loggar in kommer du att bli ombedd att ändra ditt lösenord som visas nedan: 

När lösenordet har ändrats kommer du att omdirigeras till användarkontosidan.
Du har framgångsrikt installerat Redmine på ditt Debian-system.

Den ultimata Redmine-uppgraderingen? Enkel.

Få alla kraftfulla verktyg för perfekt projektplanering, hantering och kontroll i en enda programvara.

Prova Easy Redmine i en 30 dagars gratis provperiod

Fullständiga funktioner, SSL-skyddad, dagliga säkerhetskopior, i din geografiska plats