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.
Tento tutoriál vysvětluje, jak nainstalovat a nakonfigurovat nejnovější verzi Redmine na CentOS 8. Použijeme MariaDB jako back-end databáze a Passenger + Apache jako aplikační server Ruby.
Předpoklady #
Ujistěte se, že jste splnili následující předpoklady:
- Název domény směřující na veřejnou IP adresu vašeho serveru.
- Jste přihlášeni jako uživatel root nebo uživatel s právy sudo.
Vytvoření databáze MySQL #
Redmine podporuje MySQL/MariaDB, Microsoft SQL Server, SQLite 3 a PostgreSQL. Jako back-end databáze použijeme MariaDB.
Pokud na serveru CentOS nemáte nainstalovanou MariaDB nebo MySQL, můžete je nainstalovat podle těchto pokynů.
Přihlaste se do prostředí MySQL pomocí následujícího příkazu:
sudo mysql
Z prostředí MySQL spusťte následující příkazy SQL, abyste vytvořili novou databázi, nového uživatele a udělili uživateli přístup k databázi:
Ujistěte se, že jste změniliCREATE DATABASE redmine CHARACTER SET utf8;
GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
change-with-strong-password
se silným heslem. Po dokončení ukončete prostředí MySQL:
EXIT;
Instalace Passenger, Apache a Ruby #
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 Apache.
Povolte úložiště EPEL:
sudo dnf install epel-release
sudo dnf config-manager --enable epel
Jakmile je úložiště povoleno, aktualizujte seznam balíčků a nainstalujte Ruby, Apache a Passenger:
sudo dnf install httpd mod_passenger passenger passenger-devel ruby
Spusťte službu Apache a povolte její spuštění při spouštění:
sudo systemctl enable httpd --now
Vytvoření nového systémového uživatele #
Vytvořte nového uživatele a skupinu s domovským adresářem /opt/redmine
který spustí instanci Redmine:
sudo useradd -m -U -r -d /opt/redmine redmine
Přidejte apache
uživatele do redmine
skupinu a změňte /opt/redmine
oprávnění k adresáři, aby k němu měl Apache přístup:
sudo usermod -a -G redmine apache
sudo chmod 750 /opt/redmine
Instalace Redmine #
V době psaní tohoto článku je nejnovější stabilní verze Redmine verze 4.1.0.
Než budete pokračovat dalšími kroky, navštivte stránku pro stažení Redmine a zjistěte, zda je k dispozici novější verze.
Nainstalujte kompilátor GCC a knihovny potřebné k sestavení Redmine:
sudo dnf group install "Development Tools"
sudo dnf install zlib-devel curl-devel openssl-devel mariadb-devel ruby-devel
Ujistěte se, že spouštíte následující kroky jako redmine
uživatel:
sudo su - redmine
1. Stahování Redmine #
Stáhněte si archiv Redmine pomocí curl
:
curl -L http://www.redmine.org/releases/redmine-4.1.0.tar.gz -o redmine.tar.gz
Po dokončení stahování rozbalte archiv:
tar -xvf redmine.tar.gz
2. Konfigurace databáze Redmine #
Zkopírujte ukázkový konfigurační soubor databáze Redmine:
cp /opt/redmine/redmine-4.1.0/config/database.yml.example /opt/redmine/redmine-4.1.0/config/database.yml
Otevřete soubor pomocí textového editoru:
nano /opt/redmine/redmine-4.1.0/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: utf8mb4
Po dokončení uložte soubor a ukončete editor.
3. Instalace závislostí Ruby #
Přepněte na redmine-4.1.0
adresář a nainstalujte závislosti Ruby:
cd ~/redmine-4.1.0
gem install bundler --no-rdoc --no-ri
bundle install --without development test postgresql sqlite --path vendor/bundle
4. Generovat klíče a migrovat databázi #
Spusťte následující příkaz pro vygenerování klíčů a migraci databáze:
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
Konfigurace Apache #
Přepněte zpět na svého uživatele sudo a vytvořte následující soubor Apache vhostfile:
/etc/httpd/conf.d/example.com.confexit
sudo nano /etc/httpd/conf.d/example.com.conf
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /opt/redmine/redmine-4.1.0/public
<Directory /opt/redmine/redmine-4.1.0/public>
Options Indexes ExecCGI FollowSymLinks
Require all granted
AllowOverride all
</Directory>
ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>
Nezapomeňte nahradit example.com svou doménou Redmine. Restartujte službu Apache zadáním:
sudo systemctl restart httpd
Konfigurace Apache pomocí SSL #
Pokud pro svou doménu nemáte důvěryhodný certifikát SSL, můžete si podle těchto pokynů vygenerovat bezplatný certifikát Let’s Encrypt SSL.
Po vygenerování certifikátu upravte konfiguraci Apache následovně:
sudo nano /etc/httpd/conf.d/example.com.conf
/etc/httpd/conf.d/example.com.conf<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
Protocols h2 http/1.1
<If "%{HTTP_HOST} == 'www.example.com'">
Redirect permanent / https://example.com/
</If>
DocumentRoot /opt/redmine/redmine-4.1.0/public
ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
<Directory /opt/redmine/redmine-4.1.0/public>
Options Indexes ExecCGI FollowSymLinks
Require all granted
AllowOverride all
</Directory>
</VirtualHost>
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. 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.
Pokud se na stránku nemůžete dostat, pravděpodobně váš firewall blokuje porty Apache.
Pomocí následujících příkazů otevřete potřebný port:
sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --reload