Introduceți și configurați Redmine pe Debian 9.

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

Redmine integrează suport pentru diferite proiecte, wiki-uri, urmărirea problemelor de sistem, discuții, calendare, notificări prin e-mail și multe altele. În acest tutorial vă vom arăta cum să instalați și să personalizați noua versiune a Redmine pe Debian 9.

Înainte de a începe, asigurați-vă că faceți acest lucru

  • Aveți un nume de domeniu care să indice către o adresă IP publică pe serverul dvs. Vom utiliza exemplu.com.
  • Sunteți conectat ca un utilizator sudo-favorizat.
  • Ați instalat Nginx.
  • Ați instalat o declarație SSL de domeniu.


Creați o bază de date MySQL

Redmine suportă MySQL/MariaDB, SQL Server, SQLite 3, Microsoft și PostgreSQL. Vom utiliza MariaDB ca backend pentru baza de date. Verificați dacă ați instalat cel puțin MySQL 5.7 sau MariaDB 10.3 pe calculatorul dvs. 
Dacă serverul Debian nu are MariaDB sau MySQL, îl puteți instala utilizând aceste instrucțiuni. 
Pentru a crea o bază de date nouă, rulați următoarea declarație SQL: 
mysql> CREATE DATABASE redmine CHARACTER SET utf8mb4;
Creați un cont nou pentru utilizatorul MySQL și permiteți accesul la baza de date: 
mysql> GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
mysql> flush priviledges; <- acest lucru este important! În caz contrar, modificările nu se vor aplica până la repornirea serviciului mysql.
Amintiți-vă să schimbați o parolă puternică cu o parolă puternică.
După ce ați terminat, deconectați-vă de la consolă la MariaDB tastând:
mysql> EXIT;


Instalați Ruby

Instalați cea mai recentă versiune a Ruby prin intermediul Rbenv sau RVM.


RVM

1. instalați rvm, rulați-l, adăugați-l la 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. Creați utilizatorul "easy" (sau îl puteți numi cum doriți, ideea este că acest utilizator va lucra cu aplicația dvs. Redmine, nu cu utilizatorul root. Ar trebui să fie făcut din motive de securitate)
useradd -m -G rvm -s /bin/bash easy
Trebuie să adăugați, de asemenea, utilizatorul "easy" la grupul sudoers (ar trebui să permitem acestui utilizator să ruleze unele comenzi din sudo)
usermod -a -G sudo easy
Dacă ați făcut acest lucru, puteți sări peste următorul pas, deoarece după această comandă utilizatorul dvs. este deja în grupul potrivit. Treceți la acest utilizator
su - easy
3. adăugați utilizatorul la grupul rvm
usermod -a -G rvm easy
Trebuie să adăugați, de asemenea, utilizatorul "easy" la grupul sudoers (ar trebui să permitem acestui utilizator să ruleze unele comenzi din sudo)
usermod -a -G sudo easy
Treceți la utilizatorul "easy"
su - easy
4. instalați ruby
rvm install 2.6 --patch railsexpress
5. instalați git
sudo apt-get install git
6. setați ruby 2.6 ca implicit
rvm use 2.6 --default
Partea în cursiv este necesară numai dacă intenționați să instalați ruby dintr-un utilizator non-root. Dacă decideți să o lăsați, puteți înlocui numele utilizatorului "easy" cu "redmine".


Rbenv

Urmăriți instrucțiunile din acest articol.


Introduce Passenger and Nginx #

Passenger este un server de aplicații web rapid, ușor pentru Ruby, Node.js și Python, care poate fi incorporat cu Apache și Nginx. Passenger va fi introdus ca modul Nginx. 

Instalarea pachetelor necesare pentru a crea un depozit https:

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

Importați cheia GPG a depozitului și permiteți depozitului Phusionpassenger să:

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

Actualizați lista de pachete și instalați modulul Nginx Passenger cu:

$   sudo apt update

$   sudo apt install libnginx-mod-http-passenger

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

$   passenger-install-nginx-module


Instalare Redmine pe Debian

Începeți prin instalarea dependențelor necesare pentru a construi un Redmine:

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

Ar trebui să verificați pagina de descărcare Redmine pentru o versiune mai nouă înainte de a trece la următorul pas.


Descărcați Redmine

Folosiți următorul comandă curl pentru a descărca arhiva la Redmine:

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

Extrageți arhiva și transferați-o în directorul /opt după ce descărcarea este completă:

$  cd /tmp

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

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

Configurați baza de date Redmine:

Copiați fișierul de configurare pentru un exemplu în Redmine:

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

Deschideți fișierul editorului de text:

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

Căutați secțiunea de producție și introduceți informațiile despre baza de date MySQL și utilizatorul creat anterior:

/opt/redmine/config/database.yml

Producție:

  adapter: mysql2

  database: redmine

  host: localhost

  username: redmine

  password: "change-with-strong-password"

  encoding: utf8

Salvați fișierul până când este gata și ieșiți din editor.


Instalați condițiile Ruby

Instalați bundler și alte condiții Ruby și explorați catalogul Redmine:

$ cd path/to/redmine/

$ sudo gem install bundler

$ sudo bundle install -- without development test

Relocați baza de date prin generarea cheilor:

Rulați comanda de generare a cheii însoțitoare și mutați baza de date.

$ sudo bundle exec rake generate_secret_token

$ sudo RAILS_ENV=production bundle exec rake db:migrate


Setați aprobările corecte

Nginx rulează ca un client și o rețea a informațiilor www. Setați aprobările corecte prin darea comenzii chown următoare.

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


Configurare Nginx

Notă: În acest blog, puteți afla mai multe despre letsencrypt, precum și o modalitate alternativă de a crea/cumpăra certificate HTTPS (cert-manager).

Până acum, dacă nu ați verificat cerințele preliminare pentru acest tutorial, ar trebui să aveți deja Nginx cu un certificat SSL instalat pe sistemul dumneavoastră.

Deschideți editorul de text și creați următorul fișier bloc pentru serverul Nginx:

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

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

# Redirecționare HTTP -> HTTPS

server {

    listen 80;

    server_name www.example.com example.com;

    include snippets/letsencrypt.conf;

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

}

# Redirecționare 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;

    # Parametri SSL

    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;

    # fișiere jurnal

    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;
}
Nu uitați să utilizați domeniul Redmine pentru a înlocui example.com și să setați calea corectă către fișierele de certificat SSL. Toate cererile pentru HTTP vor fi redirecționate către HTTPS. Acest ghid generează fragmentele utilizate în această configurare.
Activarea blocului server prin crearea unui link simbolic către directorul activat pentru site-uri:
$    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Faceți un test înainte de a reporni serviciul Nginx pentru a vă asigura că nu există erori de sintaxă: 
$  sudo nginx -t
Dacă nu apar erori, atunci ieșirea ar trebui să arate astfel: 
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
În cele din urmă, reporniți serviciul cu Nginx tastând:
$  sudo systemctl restart nginx


Accesați Redmine

Deschideți browser-ul, tastați domeniul dvs. și, dacă instalarea a fost reușită, va apărea o ecran similar cu cel de mai jos: 

Credențialele implicite de autentificare în Redmine sunt: 
Nume utilizator: admin
Parolă: admin
La prima autentificare, vi se va solicita să vă schimbați parola, așa cum este prezentat mai jos: 

După ce parola este schimbată, veți fi redirecționat către pagina contului de utilizator.
Ați construit cu succes Redmine pe sistemul dvs. Debian.

Actualizarea finală Redmine? Ușoară.

Obțineți toate instrumentele puternice pentru planificarea, gestionarea și controlul perfect al proiectelor într-un singur software.

Încercați Easy Redmine în 30 de zile de încercare gratuită

Funcții complete, protejat SSL, backup-uri zilnice, în geolocalizarea dvs.