Introduzione
Redmine è un'applicazione gratuita e open source per la gestione dei progetti e il monitoraggio dei problemi. È multipiattaforma e cross-database e costruito sul framework Ruby on Rails.
Redmine include supporto per più progetti, wiki, sistema di tracciamento dei problemi, forum, calendari, notifiche e-mail e molto altro.
Questo tutorial spiega come installare e configurare l'ultima versione di Redmine su CentOS 8. Useremo MariaDB come back-end del database e Passenger + Apache come server delle applicazioni Ruby.
Prerequisiti
Assicurati di aver soddisfatto i seguenti prerequisiti:
- Nome di dominio che punta all'IP pubblico del server.
- Utente root o utente con privilegi sudo.
Creare un database MySQL
Redmine supporta MySQL/MariaDB, Microsoft SQL Server, SQLite 3 e PostgreSQL. Useremo MariaDB come back-end del database.
Se non hai MariaDB o MySQL installato sul tuo server CentOS, puoi installarlo seguendo queste istruzioni.
Accedi alla shell MySQL digitando il comando seguente:
sudo mysql
Oppure se hai seguito la nostra guida e hai impostato una password per l'utente root, utilizza il seguente comando:
sudo mysql -u root -p
Dall'interno della shell MySQL, eseguire le seguenti istruzioni SQL per creare un nuovo database, un nuovo utente e concedere all'utente l'accesso al database:
CREATE DATABASE redmine CHARACTER SET utf8;
GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Assicurati di cambiare change-with-strong-password
con una password complessa.
Una volta terminato, esci dalla shell MySQL:
EXIT;
Installare Passenger, Apache e Ruby
Passenger è un server di applicazioni Web veloce e leggero per Ruby, Node.js e Python che può essere integrato con Apache e Nginx. Installeremo Passenger come modulo Apache.
Abilita il repository EPEL:
sudo dnf install epel-release
sudo dnf config-manager --enable epel
Una volta abilitato il repository, aggiorna l'elenco dei pacchetti e installa Ruby, Apache e Passenger:
sudo dnf install httpd mod_passenger passenger passenger-devel ruby
Avviare il servizio Apache e abilitarlo per l'avvio all'avvio:
sudo systemctl enable httpd --now
Creare un nuovo utente di sistema
Crea un nuovo utente e gruppo, con home directory /opt/redmine
che eseguirà l'istanza Redmine:
sudo useradd -m -U -r -d /opt/redmine redmine
Aggiungi l'utente redmine
al gruppo apache
e modifica le autorizzazioni della directory /opt/redmine
in modo che Apache possa accedervi:
sudo usermod -a -G redmine apache
sudo chmod 750 /opt/redmine
Installare Redmine
Al momento in cui scrivo, l'ultima versione stabile di Redmine è la versione 4.1.0.
Prima di continuare con i passaggi successivi, visitare la pagina di download di Redmine per vedere se è disponibile una versione più recente.
Installa il compilatore GCC e le librerie necessarie per compilare Redmine:
sudo dnf install make automake curl-devel glibc-devel git bzip2 nano wget tar gettext-devel openssl-devel zlib-devel gcc autoconf mariadb-devel redhat-rpm-config ruby-devel
Assicurati di eseguire i seguenti passaggi come utente redmine
:
sudo su - redmine
Download di Redmine
Scarica l'archivio Redmine con curl
:
curl -L http://www.redmine.org/releases/redmine-4.1.0.tar.gz -o redmine.tar.gz
Una volta completato il download, estrarre l'archivio:
tar -xvf redmine.tar.gz
Configurazione del database Redmine
Copia il file di configurazione del database di esempio Redmine:
cp /opt/redmine/redmine-4.1.0/config/database.yml.example /opt/redmine/redmine-4.1.0/config/database.yml
Apri il file con il tuo editor di testo:
nano /opt/redmine/redmine-4.1.0/config/database.yml
Cerca la sezione production
e inserisci il database MySQL e le informazioni utente che abbiamo creato in precedenza:
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "change-with-strong-password"
encoding: utf8mb4
Salvare e chiudere il file premendo CTRL+X, seguito da Y per salvare le modifiche e quindi ENTER se stai utilizzando nano.
Installare le dipendenze di Ruby
Passa alla directory redmine-4.1.0
e installa le dipendenze di Ruby:
cd ~/redmine-4.1.0
gem install bundler --no-rdoc --no-ri
bundle install --without development test postgresql sqlite --path vendor/bundle
Generare le chiavi e migrare il database
Eseguire il comando seguente per generare chiavi e migrare il database:
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
Configurare Apache
Torna al tuo utente sudo e crea il seguente file vhost Apache:
exit
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>
Non dimenticare di sostituire example.com
con il tuo dominio.
Riavvia il servizio Apache digitando:
sudo systemctl restart httpd
Configurare Apache con SSL
Se non disponi di un certificato SSL affidabile per il tuo dominio, puoi generare un certificato SSL Let's Encrypt gratuito. Seguendo queste istruzioni puoi installare in e configurare automaticamente un certificato SSL Let's Encrypt grautito .
Una volta generato il certificato, il file di configurazione creato in precedenza dovrebbe essere stato automaticamente modificato in questo modo:
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
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.example.com [OR]
RewriteCond %{SERVER_NAME} =example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
Non dimenticare di sostituire example.com con il tuo dominio Redmine e impostare il percorso corretto per i file del certificato SSL. Tutte le richieste HTTP verranno reindirizzate a HTTPS.
Accedere Redmine
Apri il tuo browser e digita il tuo dominio https://DOMINIO/login
.
Le credenziali di accesso predefinite per Redmine sono:
- Nome utente: admin
- Password: admin
Quando accedi per la prima volta, ti verrà richiesto di modificare la password.
Dopo aver modificato la password, verrai reindirizzato alla pagina dell'account utente.
Se non riesci ad accedere alla pagina, probabilmente il tuo firewall sta bloccando le porte di Apache.
Utilizzare i seguenti comandi per aprire la porta necessaria:
sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --reload
Conclusione
Redmine è stato installato correttamente sul sistema CentOS. Ora dovresti controllare la documentazione di Redmine e saperne di più su come configurare e utilizzare Redmine.