Redmine je jedním z nejpopulárnějších softwarových nástrojů pro správu projektů a sledování problémů s otevřeným zdrojovým kódem. 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.
Tento tutoriál popisuje, jak nainstalovat a nakonfigurovat nejnovější verzi Redmine na serveru Ubuntu 18.04 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áte název domény odkazující na veřejnou IP adresu vašeho serveru. V tomto tutoriálu budeme používat
example.com
. - Jste přihlášeni jako uživatel s právy sudo.
- Máte nainstalovaný Nginx podle těchto pokynů.
- Máte nainstalovaný certifikát SSL pro vaši doménu. Bezplatný certifikát Let’s Encrypt SSL si můžete nainstalovat podle těchto pokynů.
Vytváření databáze MySQL #
Redmine podporuje MySQL/MariaDB, Microsoft SQL Server, SQLite 3 a PostgreSQL. V tomto tutoriálu použijeme MySQL jako back-end databáze.
Pokud ještě nemáte na svém serveru Ubuntu nainstalovanou MySQL, můžete ji nainstalovat podle těchto pokynů.
Přihlaste se do prostředí MySQL zadáním následujícího příkazu:
sudo mysql
Z prostředí MySQL spusťte následující příkaz SQL a vytvořte novou databázi:
CREATE DATABASE redmine CHARACTER SET utf8mb4;
Dále vytvořte 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';
Ujistěte se, že jste změnili change-with-strong-password
se silným heslem. Po dokončení ukončete konzolu mysql zadáním:
EXIT;
Instalace Ruby #
Nejjednodušší způsob, jak nainstalovat Ruby na váš systém Ubuntu, je pomocí apt
správce balíčků. V době psaní tohoto článku je verze v repozitářích Ubuntu 2.5.1, což je nejnovější stabilní verze Ruby.
Nainstalujte Ruby zadáním:
sudo apt install ruby-full
Pokud chcete nainstalovat Ruby přes Rbenv nebo RVM, podívejte se na tuto příručku.
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 jste dodrželi předpoklady a nainstalovali Nginx.
Začněte instalací potřebných balíčků:
sudo apt install dirmngr gnupg apt-transport-https ca-certificates
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 bionic main'
Jakmile je úložiště apt povoleno, aktualizujte seznam balíčků a nainstalujte modul Passenger Nginx pomocí:
sudo apt update
sudo apt install libnginx-mod-http-passenger
Instalace Redmine na Ubuntu #
Začneme instalací závislostí nezbytných k sestavení Redmine:
sudo apt install build-essential libmysqlclient-dev imagemagick libmagickwand-dev
V době psaní tohoto článku je nejnovější stabilní verze Redmine verze 4.0.0.
Než budete pokračovat dalším krokem, měli byste zkontrolovat stránku stahování Redmine, abyste zjistili, zda není k dispozici novější verze.
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.0.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.0 /opt/redmine
2. Konfigurace databáze Redmine #
Začněte zkopírováním příkladu konfiguračního souboru 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 úspěšné instalace se zobrazí 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.