Redmine je bezplatná a open source aplikace pro správu projektů a sledování problémů. Je to multiplatformní a multidatabáze a je postavena na platformě Ruby on Rails.
Redmine zahrnuje podporu pro více projektů, wiki, systém sledování problémů, fóra, kalendáře, e-mailová upozornění a mnoho dalšího.
V tomto tutoriálu vám ukážeme, jak nainstalovat a nakonfigurovat nejnovější verzi Redmine na serveru Debian 9 pomocí MySQL jako back-end databáze a Passenger + Nginx jako aplikačního serveru Ruby.
Předpoklady #
Než budete pokračovat v tomto kurzu, ujistěte se, že jste splnili následující předpoklady:
- Mějte název domény odkazující na veřejnou IP adresu vašeho serveru. Použijeme
example.com
. - Přihlášeni jako uživatel s právy sudo.
- Mějte nainstalovaný Nginx.
- Mějte pro svou doménu nainstalovaný certifikát SSL.
Vytvoření databáze MySQL #
Redmine podporuje MySQL/MariaDB, Microsoft SQL Server, SQLite 3 a PostgreSQL. Jako back-end databáze použijeme MariaDB. Ujistěte se, že máte na svém počítači nainstalované alespoň MySQL 5.7 nebo MariaDB 10.3.
Pokud na vašem serveru Debian není nainstalována MariaDB nebo MySQL, můžete je nainstalovat pomocí těchto pokynů.
Začněte přihlášením do konzole MySQL zadáním:
sudo mysql
Spuštěním následujícího příkazu SQL vytvořte novou databázi:
CREATE DATABASE redmine CHARACTER SET utf8mb4;
Vytvořte nový uživatelský účet MySQL a udělte přístup k databázi:
GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Nezapomeňte změnit change-with-strong-password
se silným heslem. Po dokončení se odhlaste z konzoly MariaDB zadáním:
EXIT;
Instalace Ruby #
Nejjednodušší způsob, jak nainstalovat Ruby na Debian, je pomocí apt
správce balíčků:
Nainstalujte Ruby zadáním:
sudo apt install ruby-full
V době psaní tohoto článku je verze v repozitářích Debianu 2.3.3p222
který je podporován nejnovější verzí Redmine.
Pokud chcete nainstalovat Ruby přes Rbenv nebo RVM, navštivte tento tutoriál.
Instalace Passenger a Nginx #
Passengeris je rychlý a lehký webový aplikační server pro Ruby, Node.js a Python, který lze integrovat s Apache a Nginx. Passenger nainstalujeme jako modul Nginx.
Než budete pokračovat v následujících krocích, ujistěte se, že je nainstalován Nginx.
Instalace potřebných balíčků pro povolení úložiště https:
sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common
Importujte klíč GPG úložiště a povolte úložiště 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'
Aktualizujte seznam balíčků a nainstalujte modul Passenger Nginx pomocí:
sudo apt update
sudo apt install libnginx-mod-http-passenger
Instalace Redmine na Debian #
Začněte instalací závislostí nezbytných k sestavení Redmine:
sudo apt install build-essential libmariadbclient-dev imagemagick libmagickwand-dev curl ruby-dev libxslt-dev libxml2-dev zlib1g-dev
V době psaní tohoto článku je nejnovější stabilní verze Redmine verze 4.0.4.
Než budete pokračovat dalším krokem, měli byste zkontrolovat stránku stahování Redmine, kde najdete novější verzi.
1. Stahování Redmine #
Stáhněte si archiv Redmine pomocí následujícího příkazu curl:
sudo curl -L http://www.redmine.org/releases/redmine-4.0.4.tar.gz -o /tmp/redmine.tar.gz
Jakmile je stahování dokončeno, rozbalte archiv a přesuňte jej do /opt
adresář:
cd /tmp
sudo tar zxf /tmp/redmine.tar.gz
sudo mv /tmp/redmine-4.0.4 /opt/redmine
2. Konfigurace databáze Redmine #
Zkopírujte ukázkový konfigurační soubor Redmine:
sudo cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml
Otevřete soubor pomocí textového editoru:
sudo nano /opt/redmine/config/database.yml
Vyhledejte production
a zadejte databázi MySQL a informace o uživateli, které jsme vytvořili dříve:
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "change-with-strong-password"
encoding: utf8
Po dokončení uložte soubor a ukončete editor.
3. Instalace závislostí Ruby #
Přejděte do adresáře redmine a nainstalujte bundler a další závislosti Ruby:
cd /opt/redmine/
sudo gem install bundler --no-rdoc --no-ri
sudo bundle install --without development test postgresql sqlite
4. Generovat klíče a migrovat databázi #
Spusťte následující příkaz pro vygenerování klíčů a migraci databáze:
cd /opt/redmine/
sudo bundle exec rake generate_secret_token
sudo RAILS_ENV=production bundle exec rake db:migrate
5. Nastavte správná oprávnění #
Nginx běží jako www-data
uživatel a skupina. Nastavte správná oprávnění zadáním následujícího příkazu chown:
sudo chown -R www-data: /opt/redmine/
Nakonfigurujte Nginx #
Nyní byste již měli mít na svém systému nainstalovaný Nginx s certifikátem SSL, pokud ne, zkontrolujte si předpoklady pro tento tutoriál.
Otevřete textový editor a vytvořte následující blokový soubor serveru Nginx:
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;
}
Nezapomeňte nahradit example.com svou doménou Redmine a nastavit správnou cestu k souborům certifikátu SSL. Všechny požadavky HTTP budou přesměrovány na HTTPS. Fragmenty použité v této konfiguraci jsou vytvořeny v této příručce.
Povolte blokování serveru vytvořením symbolického odkazu na sites-enabled
adresář:
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 neexistují žádné syntaktické chyby:
sudo nginx -t
Pokud nejsou žá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:
sudo systemctl restart nginx
Přístup k Redmine #
Otevřete prohlížeč, zadejte svou doménu a za předpokladu, že instalace proběhla úspěšně, zobrazí se obrazovka podobná následující:
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 uvedeno níže:
Jakmile změníte heslo, budete přesměrováni na stránku uživatelského účtu.