Redmine è uno strumento open source per la gestione dei progetti e il monitoraggio dei problemi basato su Ruby on Rails Framework. È basato sul Web, quindi puoi usarlo da qualsiasi piattaforma client che fornisce un browser Web. È adatto per team multilingue in quanto contiene traduzioni per 42 lingue. Puoi tenere traccia di più progetti in un'unica installazione, ha un supporto integrato per notizie, gestione dei documenti, gestione dei file, un wiki di supporto. Puoi collegarlo ad altre applicazioni tramite l'autenticazione LDAP e l'API REST.
Questo tutorial copre l'installazione di Redmine 3.2 con il server web Nginx e il server di database MySQL sul sistema operativo Ubuntu 16.04 (64 Bit).
Prerequisiti
- Ubuntu 16.04 - 64 bit.
- Privilegi di root.
Passaggio 1:installazione delle dipendenze
Redmine ha molte dipendenze ma possiamo installarle facilmente con apt. Il primo passo è diventare l'utente root e quindi aggiornare il tuo repository Ubuntu. Tutti gli ulteriori passaggi in questo tutorial vengono eseguiti come utente root, ecco perché uso "sudo su" invece di anteporre sudo a ciascun comando.
sudo su
apt-get update
Installa le dipendenze di Redmine con il comando apt di seguito:
apt-get install mysql-server mysql-client libmysqlclient-dev imagemagick libmagickwand-dev libcurl4-openssl-dev git-core subversion
Il programma di installazione chiederà una nuova password di root MySQl, inserirà lì una nuova password MySQL sicura.
Fase 2:installa Ruby e RVM
In questo passaggio, installeremo l'ultima versione di RVM e Ruby 2.2. Redmine 3.2 stabile supporta Ruby versione 2.2, quindi possiamo usarlo qui. RMV (Ruby Version Manager) è un pratico strumento da riga di comando che ti consente di installare, gestire e lavorare con più ambienti Ruby.
gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
curl -L https://get.rvm.io | bash -s stable --ruby=2.2.5
Ora dobbiamo ricaricare RVM e aggiungerlo a .bashrc per il ricaricamento automatico:
source /usr/local/rvm/scripts/rvm
echo '[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm"' >> ~/.bashrc
Fase 3:configura il database MySQL per Redmine
Creeremo un database e un utente del database per l'installazione di Redmine. Accedi alla shell MySQL con l'utente root e la tua password:
mysql -u root -p
TYPE YOUR PASSWORD
Quindi, crea un nuovo database chiamato "redmine" e un nuovo utente con il nome "redmine" con password "redmine" (usa una password migliore sulla tua installazione, questo è solo un esempio), quindi concedi i privilegi per l'utente 'redmine' nel database 'redmine'.
create database redmine;
create user [email protected] identified by 'redmine';
grant all privileges on redmine.* to [email protected] identified by 'redmine';
flush privileges;
q\
Il database e l'utente vengono creati. Utilizza una password sicura sul tuo server!
Fase 4:installazione di Phusion Passenger e Nginx
Phusion Passenger è un server web e app che può essere integrato con server web Apache e Nginx. Supporta più linguaggi come Ruby, Python e Nodejs. È facile da usare, veloce e migliora la sicurezza della configurazione.
In questa parte, installeremo Phusion Passenger e lo integreremo con Nginx. Redmine verrà eseguito sotto il server web Nginx. Installa Passenger con il comando gem, quindi installa il modulo Passenger-nginx.
gem install passenger --no-ri --no-rdoc
passenger-install-nginx-module
Il comando ti chiederà la lingua che sarà supportata, seleziona Ruby e Python qui .
Ti verrà chiesto dell'installazione di Nginx, seleziona "Sì:scarica, compila e installa Nginx per me. (consigliato) ".
Infine, ti verrà chiesto della directory di installazione di Nginx, utilizza il predefinito '/opt/nginx/' e premi "Invio ".
Passaggio 5 - Configura Nginx
Vai alla directory di installazione e modifica il file nginx.conf con un editor, userò l'editor vim qui.
cd /opt/nginx/conf/
vim nginx.conf
Incolla la riga di configurazione qui sotto nel file:
include vhost/*.conf;
Salva ed esci.
Quindi, crea una nuova directory 'vhost' per la configurazione dell'host virtuale.
mkdir -p /opt/nginx/conf/vhost
Vai alla directory vhost e crea un file di configurazione dell'host virtuale redmine con vim:
cd /opt/nginx/conf/vhost/
vim redmine.conf
Incolla la configurazione dell'host virtuale di seguito:
server {
listen 80;
server_name www.redmine.me;
root /var/www/redmine/public;
passenger_enabled on;
client_max_body_size 10m; # Max attachemnt size
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
Salva ed esci.
Successivamente, configureremo Nginx per essere avviato con systemd. Vai alla directory systemd e crea un nuovo file di servizio 'nginx.service'.
cd /lib/systemd/system/
vim nginx.service
Incolla lo script Nginx per systemd di seguito:
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Salva il file ed esci.
Ricarica i servizi systemd e prova ad avviare Nginx con il comando systemctl:
systemctl daemon-reload
systemctl start nginx
Se vuoi controllare Nginx, controlla la porta aperta 80 con netstat:
netstat -plntu | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4871/nginx
Passaggio 6:installa Redmine
Crea una nuova directory per l'installazione di Redmine, userò la directory '/var/www/' qui.
mkdir -p /var/www/
Vai alla directory '/var/www/' e scarica redmine con il comando svn:
cd /var/www/
svn co https://svn.redmine.org/redmine/branches/3.2-stable redmine
Entra nella directory redmine e copia il file di configurazione e il file di configurazione del database:
cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml
Quindi modifica il file database.yml con vim:
vim config/database.yml
Sulla linea di produzione, inserisci i dettagli per il database, l'utente del database e la password. Usa i dettagli del database che hai creato nel capitolo 3.
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "redmine"
encoding: utf8
Salva il file ed esci dall'editor.
Nella directory redmine, crea una nuova directory e cambia il proprietario in www-data:
mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R www-data:www-data files log tmp public/plugin_assets
sudo chmod -R 775 files log tmp public/plugin_assets
Quindi installa il bundler e le dipendenze gem per Redmine:
gem install bundler
bundle install --without development test
Ora genera il token segreto e quindi genera il database:
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data
Riavvia Nginx e visita il dominio redmine con un browser web:
systemctl restart nginx
Visita l'installazione di redmine, nel mio caso:www.redmine.me
Accedi alla pagina di amministrazione:www.redmine.me/login
L'utente e la password predefiniti sono 'admin'.
Crea un nuovo progetto di esempio.
Esempio di pagina del progetto.
L'installazione di Redmine con Nginx e MySQL è stata completata con successo.
Conclusione
Redmine è un'applicazione basata sul Web per la gestione dei progetti e il monitoraggio dei problemi. Redmine è un'app multipiattaforma, quindi possiamo eseguirla su Windows, Linux e Mac OS. Supporta diversi database come MySQL, PostgreSQL, Microsoft SQL Server e SQLite. Redmine è facile da installare e configurare, possiamo usare Apache o Nginx come server web. Redmine è molto potente e ha molte funzionalità come supporto multilingue, gestione dei file, wiki e un'API REST. Redmine è una delle migliori soluzioni OpenSource per creare la tua gestione dei progetti con il monitoraggio dei problemi.