Představení a konfigurace Redmine na Debianu 9.

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

Redmine zahrnuje podporu pro různé projekty, wiki, sledování problémů, diskuse, kalendáře, upozornění e-mailem a mnoho dalšího. V tomto tutoriálu vám ukážeme, jak nainstalovat a přizpůsobit novou verzi Redmine na Debian 9.

Před začátkem se ujistěte, že toto uděláte

  • Mějte doménové jméno ukazující na veřejnou IP adresu na vašem serveru. Budeme používat example.com.
  • Přihlaste se jako sudo-favorizovaný klient.
  • Nainstalujte Nginx
  • Mějte nainstalované SSL deklarace pro doménu.


Vytvořte databázi MySQL

Redmine podporuje MySQL/MariaDB, SQL Server, SQLite 3, Microsoft a PostgreSQL. Jako backend databáze použijeme MariaDB. Zkontrolujte, že máte nainstalovanou alespoň verzi MySQL 5.7 nebo MariaDB 10.3 na vašem počítači. 
Pokud váš Debian server nemá nainstalovanou MariaDB nebo MySQL, můžete ji nainstalovat pomocí těchto pokynů. 
Začněte přihlášením se do MySQL konzole:
$ sudo mysql
Pro vytvoření nové databáze spusťte následující SQL příkaz; 
mysql> CREATE DATABASE redmine CHARACTER SET utf8mb4;
Vytvořte nový uživatelský účet pro MySQL a povolte přístup k databázi: 
mysql> GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
mysql> flush priviledges; <- toto je důležité! Jinak se změny nebudou aplikovat, dokud nebude restartována služba mysql.
Nezapomeňte změnit silné heslo na změňte-silné-heslo.
Jakmile to dokončíte, odhlaste se z konzole MariaDB zadáním příkazu:
mysql> EXIT;


Nainstalujte Ruby

Nainstalujte nejnovější verzi Ruby pomocí Rbenv nebo RVM.


RVM

1. nainstalujte rvm, spusťte ho, přidejte do autostartu
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. Vytvořte uživatele "easy" (nebo ho můžete pojmenovat podle svého uvážení, důležité je, aby tento uživatel pracoval s vaší redmine aplikací, nikoli jako uživatel root. Mělo by to být z bezpečnostních důvodů)
useradd -m -G rvm -s /bin/bash easy
Také musíte přidat uživatele "easy" do skupiny sudoers (měli bychom tomuto uživateli povolit spouštění některých příkazů z sudo)
usermod -a -G sudo easy
Pokud jste to udělali, můžete přeskočit další krok, protože po tomto příkazu je váš uživatel již v požadované skupině. Přepněte se na tohoto uživatele
su - easy
3. přidejte uživatele do skupiny rvm
usermod -a -G rvm easy
Také musíte přidat uživatele "easy" do skupiny sudoers (měli bychom tomuto uživateli povolit spouštění některých příkazů z sudo)
usermod -a -G sudo easy
Přepněte se na uživatele "easy"
su - easy
4. nainstalujte ruby
rvm install 2.6 --patch railsexpress
5. nainstalujte git
sudo apt-get install git
6. nastavte ruby 2.6 jako výchozí
rvm use 2.6 --default
Část v kurzívě je potřebná pouze tehdy, pokud chcete nainstalovat ruby z uživatele, který není root. Pokud se rozhodnete to nechat, můžete jméno uživatele "easy" nahradit jménem "redmine".


Rbenv

Postupujte podle pokynů v této příručce.


Představení Passenger a Nginx #

Passenger je rychlý, lehký Ruby, Node.js a Python webový aplikační server, který lze začlenit do Apache a Nginx. Passenger bude představen jako modul Nginx. 

Instalace balíčků potřebných pro vytvoření https repozitáře:

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

Importování GPG klíče repozitáře a povolení repozitáře Phusionpassenger:

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

Aktualizace seznamu balíčků a instalace modulu Nginx Passenger:

$   sudo apt update

$   sudo apt install libnginx-mod-http-passenger

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

$   passenger-install-nginx-module


Instalace Redmine na Debianu

Začněte instalací potřebných závislostí pro vytvoření Redmine:

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

Před pokračováním na další krok byste měli zkontrolovat stránku s ke stažení Redmine pro novější verzi.


Stažení Redmine

Použijte následující příkaz curl ke stažení archivu Redmine:

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

Po dokončení stahování rozbalte archiv a přesuňte ho do adresáře /opt:

$  cd /tmp

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

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

Nastavení databáze Redmine:

Zkopírujte konfigurační soubor pro příklad v Redmine:

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

Otevřete soubor v textovém editoru:

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

V sekci production vyhledejte a zadejte informace o dříve vytvořené MySQL databázi a uživateli:

/opt/redmine/config/database.yml

Production:

  adapter: mysql2

  database: redmine

  host: localhost

  username: redmine

  password: "change-with-strong-password"

  encoding: utf8

Uložte soubor a ukončete editor.


Instalace podmínek Ruby

Instalujte bundler a další podmínky Ruby a přejděte do katalogu Redmine:

$ cd path/to/redmine/

$ sudo gem install bundler

$ sudo bundle install -- without development test

Přesunutí databáze generováním klíčů:

Spusťte příkaz pro generování klíčů a přesuňte databázi.

$ sudo bundle exec rake generate_secret_token

$ sudo RAILS_ENV=production bundle exec rake db:migrate


Nastavení správných oprávnění

Nginx běží jako klient a síť www-informací. Nastavte oprávnění správně pomocí následujícího příkazu chown.

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


Nastavení Nginx

Poznámka: V tomto blogu se můžete dozvědět více o letsencryptu a alternativním způsobu vytváření/nákupu HTTPS certifikátů (cert-manager).

Pokud jste pro tento návod nezkontrolovali předpoklady, měli byste již mít Nginx s nainstalovaným SSL certifikátem na vašem systému.

Otevřete svůj textový editor a vytvořte následující blokový soubor pro Nginx server:

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

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

# Přesměrování HTTP -> HTTPS

server {

    listen 80;

    server_name www.example.com example.com;

    include snippets/letsencrypt.conf;

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

}

# Přesměrování 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 parametry

    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;

    # logovací soubory

    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;
}
Nezapomeňte použít svou doménu Redmine místo example.com a nastavit správnou cestu k souborům s SSL certifikátem. Všechny požadavky pro HTTP budou přesměrovány na HTTPS. Tento průvodce generuje úryvky použité v této konfiguraci.
Aktivujte blokovací server vytvořením symbolického odkazu do adresáře povoleného pro stránky:
$    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Před restartováním služby Nginx proveďte test, abyste se ujistili, že nejsou žádné syntaxové chyby: 
$  sudo nginx -t
Pokud se nevyskytnou žádné chyby, výstup by měl vypadat takto: 
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Nakonec restartujte službu Nginx zadáním příkazu:
$  sudo systemctl restart nginx


Přístup k Redmine

Otevřete svůj prohlížeč, zadejte svou doménu a pokud je instalace úspěšná, objeví se podobná obrazovka následujícího typu: 

Výchozí přihlašovací údaje pro Redmine jsou: 
Uživatelské jméno: admin
Heslo: admin
Při prvním přihlášení budete vyzváni ke změně hesla, jak je ukázáno níže: 

Po změně hesla budete přesměrováni na stránku uživatelského účtu.
Redmine jste úspěšně nainstalovali na svém systému Debian.

Nejlepší upgrade Redmine? Snadný.

Získejte všechny mocné nástroje pro dokonalé plánování, řízení a kontrolu projektů v jednom softwaru.

Vyzkoušejte Easy Redmine na 30 dní zdarma

Kompletní funkce, chráněno protokolem SSL, denní zálohování, ve vaší lokalitě.