Come installare Redmine su Amazon Web Services (AWS) - Ubuntu 18.04 LTS - Parte 1

2/17/2020
11 minutes
Lukáš Beňa -> Lukáš Beňa
Redmine è un'applicazione web open-source per la gestione di progetti e il tracciamento dei problemi. Viene eseguita su Ruby on Rails ed è progettata per essere cross-platform e cross-database. In questo tutorial, imparerai come installare Redmine su Amazon Web Services (AWS).

Ci sono due opzioni principali per installare Redmine su Amazon Web Services (AWS):

  • Utilizzando un'istanza AWS Linux (EC2 o Lightsail) e installando manualmente Redmine, oppure
  • Utilizzando un'istanza preconfigurata di Redmine Lightsail con installazione in un solo clic.

Se scegliamo la prima opzione, avremo il controllo completo su ogni aspetto della nostra distribuzione di Redmine. D'altra parte, la seconda opzione offre una soluzione rapida e facile per avere Redmine in funzione in pochi minuti, senza doverci occupare di tutti i dettagli di installazione e configurazione.

La prima parte di questo tutorial descrive come installare Redmine su un'istanza AWS Linux.


Prerequisiti

Prima di iniziare il processo, assicurati che siano soddisfatti i seguenti prerequisiti:

  • Hai un account Amazon Web Services con privilegi di amministratore.
  • Hai un nome di dominio per la tua applicazione Redmine, come redmine.mydomain.com.
  • Hai accesso alla configurazione DNS per il tuo dominio.


Installazione di Redmine su un'istanza Linux EC2 o LightSail

Ai fini di questo tutorial, si presume che tu abbia già lanciato un'istanza AWS EC2 o Lightsail in esecuzione su Ubuntu 18.04 LTS.

Installeremo Redmine su questa istanza Linux utilizzando il database MySQL, il server web NGINX e il server dell'applicazione Phusion Passenger.


Configurare il server DNS

Prima di connettersi all'istanza, è necessario configurare il server DNS. Crea una voce DNS per il nome di dominio Redmine (redmine.mydomain.com) che punti all'indirizzo IP pubblico della tua istanza Linux AWS.

Puoi fare questo utilizzando il servizio AWS Route 53.

image001

Configurazione DNS utilizzando AWS Route 53

L'indirizzo IP pubblico della tua istanza Ubuntu 18.04 LTS può essere trovato nella tua Console di gestione EC2 o nella tua Console di Lightsail.

image003

Console di gestione EC2 di AWS

image005

Console di Lightsail di AWS

Una volta configurata la voce DNS, connettiti all'istanza Linux e completa i seguenti passaggi.


Installazione e configurazione del database MySQL


1. Installa il server MySQL:

sudo apt update

sudo apt install mysql-server mysql-client


2. Esegui la configurazione iniziale del server MySQL:

sudo mysql_secure_installation

Ti verrà chiesto di:

  • attivare il PLUGIN VALIDATE PASSWORD (rispondi e scegli password FORTE)
  • selezionare la password dell'utente root.
  • rimuovere gli utenti anonimi (rispondi ).
  • disabilitare il login remoto di root (rispondi no se prevedi di connetterti al database dall'esterno della tua istanza Linux Ubuntu, rispondi sì altrimenti).

3. Verifica che il server MySQL sia in esecuzione:

sudo systemctl status mysql

(dovresti vedere attivo (in esecuzione) come parte della risposta del comando)


4. Crea un nuovo database e un nuovo utente del database per Redmine:

sudo mysql

mysql > CREATE DATABASE redminedb CHARACTER SET utf8mb4;

mysql > GRANT ALL ON redminedb.* TO 'redminedbusr'@'localhost' IDENTIFIED BY 'password';

mysql > flush priviledges;

mysql > EXIT


Installazione di Ruby

Installa la versione predefinita di Ruby per la tua distribuzione Linux. Se hai bisogno di una versione diversa, puoi utilizzare RVM (Ruby Version Manager).


1. Installare Ruby:

Installare l'ultima versione di Ruby tramite Rbenv o RVM.


RVM

1. installare rvm, eseguirlo, aggiungerlo all'avvio automatico

curl -sSL https://get.rvm.io | sudo bash -s master
source /etc/profile.d/rvm.sh
echo '[[ -s "/etc/profile.d/rvm.sh" ]] && source "/etc/profile.d/rvm.sh"' >> ~/.bashrc

2. Creare l'utente "easy" (o puoi chiamarlo come preferisci, l'importante è che questo utente lavori con la tua applicazione redmine, non l'utente root. Dovrebbe essere fatto per motivi di sicurezza)

useradd -m -G rvm -s /bin/bash easy

Inoltre, è necessario aggiungere l'utente "easy" al gruppo sudoers (dobbiamo consentire a questo utente di eseguire alcuni comandi da sudo)

usermod -a -G sudo easy

Se hai fatto questo, potresti saltare il passaggio successivo, perché dopo questo comando il tuo utente è già nel gruppo corretto. Passa a questo utente

su - easy

3. aggiungere l'utente al gruppo rvm

usermod -a -G rvm easy

Inoltre, è necessario aggiungere l'utente "easy" al gruppo sudoers (dobbiamo consentire a questo utente di eseguire alcuni comandi da sudo)

usermod -a -G sudo easy

Passa all'utente "easy"

su - easy

4. installare ruby

rvm install 2.6 --patch railsexpress

5. installare git

sudo apt-get install git

6. impostare ruby 2.6 come predefinito

rvm use 2.6 --default

La parte in corsivo è necessaria solo se si intende installare ruby da un utente non root. Se decidi di lasciarlo, puoi sostituire il nome utente "easy" con "redmine".


Rbenv

Seguire le istruzioni in questo articolo.


Installare NGINX e Passenger

NGINX è un server web open source progettato per massime prestazioni e stabilità. Passenger è un server di applicazioni open source che si integra con NGINX per eseguire software Ruby, come Redmine, sul web. Nel nostro caso, è necessario installare entrambi.

$ gem install passenger --no-ri --no-rdoc
$ passenger-install-nginx-module

sudo gem install bundler --no-rdoc --no-ri


Installare e configurare Redmine

Prima di continuare l'installazione, controllare la versione più recente di Redmine disponibile. Puoi trovarla sulla pagina dei download di Redmine.

image007

Pagina dei download di Redmine

Annotare la versione di destinazione e continuare.

Nota: è meglio non installare e eseguire Redmine dall'utente root.


1. Installare le dipendenze necessarie per compilare Redmine:

sudo apt install build-essential libmysqlclient-dev imagemagick libmagickwand-dev


2. Scaricare Redmine nella directory /tmp:

sudo curl -L http://www.redmine.org/releases/redmine-4.1.0.tar.gz -o /tmp/redmine.tar.gz


3. Estrarre l'archivio scaricato e copiare i file dell'applicazione nella directory di installazione:

cd /tmp

sudo tar zxf /tmp/redmine.tar.gz

sudo mv /tmp/redmine-4.1.0 /var/www/html/redmine/


3. Configurare le impostazioni del database di Redmine


3.1. Aprire il file di configurazione del database (database.yml)

cd /var/www/html/redmine/config/

cp database.yml.example database.yml

sudo nano /var/www/html/redmine/config/database.yml


3.2. Applicare le modifiche indicate di seguito alla sezione production del file:

production:

adapter: mysql2

database: redminedb

host: localhost

username: redminedbusr

password: "password"

encoding: utf8mb4


3.3 Installare le dipendenze Ruby necessarie per eseguire Redmine:

cd /var/www/html/redmine/

sudo gem install bundler --no-rdoc --no-ri

sudo bundle install --without development test postgresql sqlite


3.4 Migrare il database e configurare l'ambiente di esecuzione.

cd /var/www/html/redmine/

sudo bundle exec rake generate_secret_token

sudo RAILS_ENV=production bundle exec rake db:migrate


Configurare NGINX

Questo è l'ultimo passaggio del nostro tutorial. Dopo aver completato la configurazione di NGINX, avrai un server Redmine completamente operativo in esecuzione sulla tua macchina Ubuntu 18.04 LTS.


1. Creare un virtual host per l'applicazione Redmine:

sudo nano /etc/nginx/sites-available/redmine.mydomain.com


2. Inserire la seguente configurazione del virtual host e salvare il file:

server {

listen 80;

server_name redmine.mydomain.com;

root /var/www/html/redmine/public;

passenger_enabled on;

passenger_min_instances 1;

client_max_body_size 10m;

# redirect server error pages to the static page /50x.html

#

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}


3. Abilitare il virtual host collegando il file di configurazione appena creato nella directory sites-enabled:

sudo ln -s /etc/nginx/sites-available/redmine.mydomain.com /etc/nginx/sites-enabled/redmine.mydomain.com


4. Verificare la configurazione di NGINX:

sudo nginx -t

OUTPUT DEL COMANDO:

nginx: il file di configurazione /etc/nginx/nginx.conf ha una sintassi corretta

nginx: la configurazione del file /etc/nginx/nginx.conf è stata testata con successo


5. Riavviare il server NGINX:

sudo systemctl restart nginx


Accedi a Redmine

1. Apri il tuo browser web e digita il nome di dominio di Redmine nella barra degli indirizzi. Verrà visualizzata la schermata di accesso di Redmine.

image009

Schermata di accesso iniziale di Redmine

2. Accedi al tuo server Redmine utilizzando le credenziali predefinite (nome utente: admin e password: admin) e, quando richiesto, imposta una nuova password per il tuo account amministratore.

3. Infine, configura le impostazioni del tuo account amministratore, inclusi il tuo indirizzo email e il fuso orario.

image011

Congratulazioni! Il tuo Redmine è pronto!

Se vuoi scoprire altri modi per distribuire Redmine su Amazon Web Services (AWS), dai un'occhiata alla seconda parte di questo tutorial.

L'aggiornamento definitivo di Redmine? Facile.

Ottieni tutti gli strumenti potenti per una pianificazione, gestione e controllo del progetto perfetti in un unico software.

Prova Easy Redmine gratuitamente per 30 giorni

Funzionalità complete, protetto da SSL, backup giornalieri, nella tua geolocalizzazione