Android

Redmine installeren en configureren op Debian 9

Installation Achievo (partie 1)

Installation Achievo (partie 1)

Inhoudsopgave:

Anonim

Redmine is een gratis en open source projectmanagement- en issue tracking-applicatie. Het is platformoverschrijdend en cross-database en gebouwd bovenop het Ruby on Rails-framework.

Redmine biedt ondersteuning voor meerdere projecten, wiki's, het systeem voor het volgen van problemen, forums, agenda's, e-mailmeldingen en nog veel meer.

In deze zelfstudie laten we u zien hoe u de nieuwste versie van Redmine installeert en configureert op een Debian 9-server met MySQL als database-back-end en Passenger + Nginx als een Ruby-toepassingsserver.

voorwaarden

Zorg ervoor dat u aan de volgende voorwaarden hebt voldaan voordat u doorgaat met deze zelfstudie:

  • Zorg dat een domeinnaam verwijst naar het openbare IP-adres van uw server. We zullen example.com Aangemeld als een gebruiker met sudo-rechten. Heb Nginx geïnstalleerd. Heb een SSL-certificaat geïnstalleerd voor uw domein.

Een MySQL-database maken

Redmine ondersteunt MySQL / MariaDB, Microsoft SQL Server, SQLite 3 en PostgreSQL. We zullen MariaDB gebruiken als back-end van de database. Zorg ervoor dat minimaal MySQL 5.7 of MariaDB 10.3 op uw machine is geïnstalleerd.

Als MariaDB of MySQL niet op uw Debian-server is geïnstalleerd, kunt u het installeren met behulp van deze instructies.

Begin door in te loggen op de MySQL-console door te typen:

sudo mysql

Voer de volgende SQL-instructie uit om een ​​nieuwe database te maken:

CREATE DATABASE redmine CHARACTER SET utf8mb4;

Maak een nieuw MySQL-gebruikersaccount en verleen toegang tot de database:

GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password'; Vergeet niet om het change-with-strong-password met een sterk wachtwoord.

Zodra u klaar bent, meldt u zich af bij de MariaDB-console door te typen:

EXIT;

Ruby installeren

De eenvoudigste manier om Ruby op Debian te installeren is met behulp van de apt pakketbeheerder:

Installeer Ruby door te typen:

sudo apt install ruby-full

Op het moment van schrijven is de versie in de Debian-repositories 2.3.3p222 die wordt ondersteund door de nieuwste versie van Redmine.

Passagier en Nginx installeren

Passenger is een snelle en lichtgewicht webtoepassingsserver voor Ruby, Node.js en Python die kan worden geïntegreerd met Apache en Nginx. We zullen Passenger installeren als een Nginx-module.

Zorg ervoor dat Nginx is geïnstalleerd voordat u doorgaat met de volgende stappen.

De benodigde pakketten installeren om een ​​https-repository in te schakelen:

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

Importeer de GPG-sleutel van de repository en schakel de Phusionpassenger-repository in:

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 pakkettenlijst bij en installeer de Passenger Nginx-module met:

sudo apt update sudo apt install libnginx-mod-http-passenger

Redmine installeren op Debian

Begin met het installeren van de afhankelijkheden die nodig zijn om Redmine te bouwen:

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

Op het moment dat dit artikel werd geschreven, is versie 4.0.4 de nieuwste stabiele versie van Redmine.

Voordat u doorgaat met de volgende stap, moet u de downloadpagina van Redmine controleren op voor een nieuwere versie.

1. Redmine downloaden

Download het Redmine-archief met de volgende curl-opdracht:

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

Zodra de download is voltooid, pak het archief uit en verplaats het naar de map /opt :

cd /tmp sudo tar zxf /tmp/redmine.tar.gz sudo mv /tmp/redmine-4.0.4 /opt/redmine

2. Redmine-database configureren

Kopieer het Redmine-voorbeeldconfiguratiebestand:

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

Open het bestand met uw teksteditor:

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

Zoek naar de production en voer de MySQL-database en gebruikersinformatie in die we eerder hebben gemaakt:

/opt/redmine/config/database.yml

production: adapter: mysql2 database: redmine host: localhost username: redmine password: "change-with-strong-password" encoding: utf8

Sla het bestand op en verlaat de editor.

3. Ruby-afhankelijkheden installeren

Navigeer naar de redmine-map en installeer bundler en andere Ruby-afhankelijkheden:

cd /opt/redmine/ sudo gem install bundler --no-rdoc --no-ri sudo bundle install --without development test postgresql sqlite

4. Genereer sleutels en migreer de database

Voer de volgende opdracht uit om sleutels te genereren en de database te migreren:

cd /opt/redmine/ sudo bundle exec rake generate_secret_token sudo RAILS_ENV=production bundle exec rake db:migrate

5. Stel de juiste machtigingen in

Nginx draait als www-data gebruiker en groep. Stel de juiste machtigingen in door het volgende chown-commando te geven:

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

Configureer Nginx

U zou nu al Nginx met SSL-certificaat op uw systeem moeten hebben geïnstalleerd, zo niet, controleer dan de vereisten voor deze zelfstudie.

Open uw teksteditor en maak het volgende Nginx-serverblokbestand:

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 example.com te vervangen door uw Redmine-domein en het juiste pad naar de SSL-certificaatbestanden in te stellen. Alle HTTP-aanvragen worden doorgestuurd naar HTTPS. De fragmenten die in deze configuratie worden gebruikt, worden in deze handleiding gemaakt.

Schakel het serverblok in door een symbolische koppeling te maken naar de directory met sites-enabled :

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Voordat u de Nginx-service opnieuw start, moet u een test uitvoeren om er zeker van te zijn dat er geen syntaxisfouten zijn:

sudo nginx -t

Als er geen fouten zijn, ziet de uitvoer er als volgt uit:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Start ten slotte de Nginx-service opnieuw op door te typen:

sudo systemctl restart nginx

Toegang tot Redmine

Open uw browser, typ uw domein en ervan uitgaande dat de installatie is geslaagd, verschijnt een scherm zoals het volgende:

Nadat u het wachtwoord hebt gewijzigd, wordt u doorgestuurd naar de gebruikersaccountpagina.

Conclusie

U hebt Redmine met succes op uw Debian-systeem geïnstalleerd. Raadpleeg nu de Redmine-documentatie en leer meer over het configureren en gebruiken van Redmine.

debian redmine ruby ​​mysql nginx