GNU/Linux >> Linux Esercitazione >  >> Cent OS

Installa e configura Redmine su CentOS 7

Redmine è uno strumento basato sul Web open source gratuito per la gestione dei progetti e il monitoraggio dei problemi. Costruito sulla base del framework Ruby on Rails, offre una soluzione multipiattaforma e multidatabase che include il supporto per più progetti, wiki, forum, calendari, notifiche e-mail e molto altro.

Ecco una guida dettagliata su come installare e configurare Redmine sul server CentOS 7.

Prerequisiti

Prima di tutto, hai bisogno di un nome di dominio puntato all'IP del tuo server pubblico. Per questo tutorial, faremo riferimento a example.com. Inoltre, dovrai essere loggato come utente con privilegi sudo.

Oltre a questo, avrai anche bisogno di un database back-end. Nel nostro caso, utilizzeremo MariaDB. Tuttavia, puoi anche utilizzare Microsoft SQL Server, SQLite 3 e PostgreSQL, poiché Redmine li supporta tutti.

Infine, avrai bisogno di un server delle applicazioni Ruby per il quale utilizzeremo Passenger con Nginx. Nel caso in cui non ne hai installato nessuno sul tuo sistema, non devi preoccuparti. Ti mostreremo anche come installarli e configurarli.

Preparazione del sistema prima di installare Redmine

Come abbiamo discusso, ci sono diverse cose di cui hai bisogno sul tuo sistema CentOS prima di poter installare ed eseguire Redmine. Se non li hai installati, ecco una procedura dettagliata che ti mostra come impostare le cose.

Nota:Inutile dire che se hai già un database back-end o un server di applicazioni Ruby installato, puoi saltare questi passaggi e passare a quello successivo.

Fase 1:installazione dei pacchetti necessari

Prima di installare Redmine, devi preparare il tuo sistema installando i pacchetti Redmine e Ruby necessari dal sorgente.

Per fare ciò, digita i seguenti comandi nel tuo terminale:

$ sudo yum install curl gpg gcc gcc-c++ make patch autoconf automake bison libffi-devel libtool 
$ sudo yum install readline-devel sqlite-devel zlib-devel openssl-develh readline glibc-headers glibc-devel
$ sudo yum install mariadb-devel zlib libyaml-devel bzip2 iconv-devel ImageMagick ImageMagick-devel

Una volta fatto, è il momento di creare un database MySQL.

Passaggio 2:installa MariaDB su CentOS 7

Sei libero di utilizzare qualsiasi back-end di database che ti piace. Tuttavia, per questo tutorial, poiché utilizzeremo MariaDB/MySQL, ecco un breve tutorial che ti mostra come installarlo sul tuo sistema.

Dato che MariaDB versione 5.5 viene fornita con il repository CentOS, lo installeremo esclusivamente per comodità. Non è l'ultima versione, ma è eccezionalmente stabile e non dovresti riscontrare problemi.

Digita il seguente comando nel tuo terminale per installare i pacchetti MariaDB:

$ sudo yum install mariadb-server

Una volta completata l'installazione, digita il seguente comando per consentirne l'avvio durante l'avvio del sistema.

$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb

Successivamente, controlla se l'installazione è andata a buon fine o meno immettendo il seguente comando:

$ sudo systemctl status mariadb

L'output dovrebbe dirti che il servizio è attivo e in esecuzione. Una volta risolto, esegui il seguente script per eseguire diverse attività relative alla sicurezza per assicurarti che tutto funzioni correttamente e come previsto.

$ sudo mysql_secure_installation

Verranno visualizzati i seguenti prompt:

Do you want to set up the root user password?
Do you want to remove anonymous user accounts?
Do you want to restrict root user access to the local machine?
Do you want to remove the test database?

Rispondi con Y (sì) a tutte queste domande.

E voilà, hai installato correttamente MariaDB sul tuo sistema CentOS. Ora è il momento di passare al passaggio successivo.

Fase 3:crea un database MySQL

Con MariaDB installato sul tuo sistema CentOS, segui questi passaggi per creare un database MySQL. Innanzitutto, dovrai accedere alla tua shell MySQL. Per fare ciò, inserisci il seguente comando nel terminale:

$ sudo mysql

Successivamente, dovrai creare un nuovo database. Per fare ciò, inserisci il seguente comando dall'interno della tua shell MySQL:

mysql> CREATE DATABASE redmine CHARACTER SET utf8;

Una volta fatto, dovrai creare un account utente MySQL e fornirgli l'accesso al database appena creato. Questo viene fatto usando il seguente comando:

mysql> GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'EnterPasswordHere';

Sostituisci EnterPasswordHere con una password complessa a tua scelta.

Hai creato con successo un database MySQL. Ora esci dalla shell usando il seguente comando e vai al passaggio successivo:

mysql> EXIT;

Fase 4:installa Passenger e Nginx

Passenger è un server di applicazioni web progettato per Ruby, Node.js e Python. È super veloce, leggero e può essere integrato con Apache e Nginx. Per questo tutorial, installeremo il modulo Passenger per Nginx.

Per fare ciò, dovremo prima installare alcuni pacchetti necessari, incluso il repository EPEL. Per fare ciò, inserisci il seguente comando nel tuo terminale:

$ sudo yum install epel-release yum-utils pygpgme
$ sudo yum-config-manager --enable epel

Successivamente, dovrai abilitare il repository Phusionpassenger. Questo può essere fatto usando questo comando:

$ sudo yum-config-manager --add-repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo

Infine, aggiorna l'elenco dei pacchetti e installa sia Nginx che Passenger usando questo comando:

$ sudo yum install nginx passenger passenger-devel

Fase 5:crea un nuovo utente di sistema

Abbiamo quasi finito di configurare tutto per installare Redmine. La prossima cosa che dobbiamo fare è creare un nuovo utente e gruppo di sistema che eseguirà l'istanza Redmine. Per prima cosa creiamo un nuovo utente inserendo il seguente comando nel terminale:

$ sudo useradd -m -U -r -d /opt/redmine redmine

Per semplicità, abbiamo mantenuto il nome utente come redmine; tuttavia, sei libero di utilizzare il nome utente che preferisci.

Quindi, aggiungi l'utente ngnix al nuovo gruppo di utenti usando questo comando:

$ sudo usermod -a -G redmine nginx

E infine, cambia i permessi della directory /opt/redmine in modo che possa essere accessibile da Nginx. Per fare ciò, inserisci questo comando:

$ sudo chmod 750 /opt/redmine

Passaggio 6:installa Ruby

E ora, per il passaggio finale per preparare tutto, dovremo installare Ruby sul nostro sistema CentOS.

Ora, la parte difficile è che la versione Ruby fornita con il repository CentOS è obsoleta e non è supportata da Redmine. Questo è il motivo per cui dovremo installarlo utilizzando RVM.

Innanzitutto, passa all'utente Redmine digitando il seguente comando:

$ sudo su - redmine

Dovrai importare la chiave GPG usando questo comando:

$ gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

Una volta fatto, installa RVM con questo comando:

$ curl -sSL https://get.rvm.io | bash -s stable

Ora, per utilizzare RVM, dovrai creare il file RVM usando questo comando:

$ source /opt/redmine/.rvm/scripts/rvm

Infine, è il momento di installare Ruby sul nostro sistema. Per fare ciò, inserisci il seguente comando nel tuo terminale.

$ rvm install 2.7
$ rvm --default use 2.7

Nota:Qui, 2.7 si riferisce a Ruby versione 2.7, che è l'ultima versione di Ruby al momento della scrittura. Se c'è una versione aggiornata di Ruby mentre stai leggendo questo, allora scaricala invece. Puoi sempre utilizzare la versione 2.7 purché Redmine la supporti.

E questo è tutto! Hai configurato correttamente il tuo sistema CentOS e ora è pronto per installare Redmine.

Installa Redmine su CentOS 7

Quando installi Redmine, dovresti sempre controllare la pagina di download di Redmine per vedere l'ultima versione e scaricarla. Per il bene di questo tutorial, installeremo Redmine versione 4.1.1 poiché è l'attuale versione stabile al momento della scrittura.

Ora, con quello fuori mano, ecco una guida passo passo sull'installazione di Redmine 4.1.1 su CentOS 7.

Passaggio 1:scarica Redmine

Prima di iniziare, assicurati di eseguire tutti i comandi accedendo come utente Redmine.

Una volta fatto, scarica l'archivio Redmine sul tuo sistema. Puoi farlo usando il seguente comando curl:

$ curl -L http://www.redmine.org/releases/redmine-4.1.1.tar.gz -o redmine.tar.gz

Dopo aver scaricato l'archivio, estrarlo utilizzando il seguente comando:

$ tar -xvf redmine.tar.gz

Fase 2:configura il database Redmine

Successivamente, dovrai configurare il database Redmine. Inizia copiando il file di configurazione del database di esempio Redmine utilizzando il seguente comando:

$ cp /opt/redmine/redmine-4.1.1/config/database.yml.example /opt/redmine/redmine-4.1.1/config/database.yml

Quindi, apri il file utilizzando l'editor di testo di tua scelta. Useremo nano editor.

nano /opt/redmine/redmine-4.1.1/config/database.yml

Ora, cerca nella sezione di produzione e inserisci le informazioni del database MySQL precedentemente create, inclusi nome utente e password, come mostrato di seguito.

production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "EnterPasswordHere"
encoding: utf8

Sostituisci EnterPasswordHere con una password complessa a tua scelta.

Al termine, salva ed esci dal file per passare al passaggio successivo.

Fase 3:installa le dipendenze Ruby

Successivamente, dovrai installare tutte le dipendenze di ruby ​​e il bundler.

Per fare ciò, vai alla directory redmine-4.1.1, apri il terminale e inserisci i seguenti comandi:

$ cd ~/redmine-4.1.1
$ gem install bundler --no-rdoc --no-ri
$ bundle install --without development test postgresql sqlite

Fase 4:generazione di chiavi e migrazione del database

Inserisci i seguenti comandi nel tuo terminale per generare chiavi e migrare il database:

$ bundle exec rake generate_secret_token
$ RAILS_ENV=production bundle exec rake db:migrate

Fase 5:Configura Nginx

Ora, prima di poter accedere a Redmine, dovrai configurare Nginx. Per fare ciò, prima torna al tuo utente sudo immettendo il seguente comando:

$ exit

Ora apri l'editor di testo e crea il file di blocco del server Nginx. Per fare ciò, inserisci il seguente comando:

$ sudo nano /etc/nginx/conf.d/example.com.conf

Quindi, copia e incolla il seguente contenuto all'interno del file:

Nota:ricorda di cambiare example.com con il tuo dominio Redmine.

passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini;
passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby;
passenger_instance_registry_dir /var/run/passenger-instreg;

server {
listen 80;
server_name example.com www.example.com;

root /opt/redmine/redmine-4.1.1/public;

# 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;
}

Una volta fatto, esegui un test per assicurarti che non ci siano errori di sistema immettendo il seguente comando:

$ sudo nginx -t

Un output pulito senza errori dovrebbe apparire così:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Una volta ottenuta la luce verde, puoi riavviare il server Nginx inserendo questo comando:

sudo systemctl restart nginx

Fase 6:crittografa Nginx con SSL

Dovrai configurare Nginx con una certificazione SSL. Nel caso in cui il tuo dominio non sia già protetto da un certificato SSL affidabile, puoi generarne uno gratuito utilizzando Let's Encrypt.

Una volta che hai il certificato in mano, dovrai nuovamente modificare il file di configurazione di Nginx. Per fare ciò, devi prima aprirlo nel tuo editor di testo usando il seguente comando:

$ sudo nano /etc/nginx/conf.d/example.com.conf

Ora modifica il file, come mostrato di seguito:

passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini;
passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby;
passenger_instance_registry_dir /var/run/passenger-instreg;

# 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/redmine-4.1.1/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;
}

Nota:ricorda di cambiare example.com con il tuo dominio Redmine.

E questo è tutto! Ora sei pronto per accedere a Redmine.

Accesso a Redmine

Ora hai installato e configurato correttamente Redmine su CentOS. È finalmente arrivato il momento di accedervi e vedere se tutto funziona correttamente.

Per accedere a Redmine, devi prima aprire il browser e digitare il tuo dominio. Se l'installazione è andata a buon fine, dovresti vedere la seguente schermata che ti chiede nome utente e password.

Per impostazione predefinita, le credenziali di accesso sono le seguenti:

Username: admin
Password: admin

Dopo il primo accesso, il sistema ti chiederà di cambiare la tua password con una più sicura.

Dopo aver modificato la password, verrai reindirizzato alla pagina del tuo account utente principale da dove potrai iniziare a utilizzare Redmine.


Cent OS
  1. Come installare e configurare Nginx su CentOS 7

  2. Come installare e configurare Redis su CentOS 7

  3. Come installare e configurare GitLab su CentOS 7

  4. Come installare e configurare Redmine su CentOS 7

  5. Come installare e configurare Redis su CentOS 8

Installa e configura phpLDAPAdmin su CentOS 7 / Ubuntu 16.04

Come installare e configurare ownCloud su CentOS 7

Installa e configura Check_MK Server su CentOS 7

Come installare e configurare Samba su CentOS 8

Come installare e configurare Fail2ban su CentOS 8

Come installare e configurare MariaDB in CentOS / RHEL 7