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

Come installare e configurare Redmine su CentOS 7

Redmine è uno degli strumenti software open source più popolari per la gestione dei progetti e il monitoraggio dei problemi. È multipiattaforma e multidatabase e si basa sul framework Ruby on Rails.

Redmine include il supporto per più progetti, wiki, sistema di rilevamento dei problemi, forum, calendari, notifiche e-mail e molto altro.

In questo tutorial tratteremo i passaggi necessari per installare e configurare l'ultima versione di Redmine su un server CentOS 7 utilizzando MariaDB come database back-end e Passenger + Nginx come server di applicazioni Ruby.

Prerequisiti #

Assicurati di aver soddisfatto i seguenti prerequisiti prima di continuare con questo tutorial:

  • Nome di dominio che punta all'IP pubblico del tuo server. In questo tutorial useremo example.com .
  • Acceduto come utente con privilegi sudo.

Installa i pacchetti richiesti per la creazione di Redmine e Ruby dal sorgente:

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-develsudo yum install mariadb-devel zlib libyaml-devel bzip2 iconv-devel ImageMagick ImageMagick-devel

Creazione del database MySQL #

Redmine supporta MySQL/MariaDB, Microsoft SQL Server, SQLite 3 e PostgreSQL. In questo tutorial utilizzeremo MariaDB come database back-end.

Se non hai MariaDB o MySQL installato sul tuo server CentOS, puoi installarlo seguendo queste istruzioni.

Accedi alla shell MySQL digitando il seguente comando:

sudo mysql

Dall'interno della shell MySQL, esegui la seguente istruzione SQL per creare un nuovo database:

CREATE DATABASE redmine CHARACTER SET utf8;

Quindi, crea un account utente MySQL e concedi l'accesso al database:

GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Assicurati di modificare change-with-strong-password con una password complessa.

Una volta completato, esci dalla shell di MySQL digitando:

EXIT;

Installazione di Passenger e Nginx #

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 Nginx.

Installa il repository EPEL e i pacchetti richiesti:

sudo yum install epel-release yum-utils pygpgmesudo yum-config-manager --enable epel

Abilita il repository Phusionpassenger:

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

Una volta abilitato il repository, aggiorna l'elenco dei pacchetti e installa sia Nginx che Passenger con:

sudo yum install nginx passenger passenger-devel

Creazione di un nuovo utente di sistema #

Crea un nuovo utente e gruppo, che eseguirà l'istanza Redmine, per semplicità chiameremo l'utente redmine :

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

Aggiungi nginx utente nel nuovo gruppo utenti e cambia il /opt/redmine permessi di directory in modo che Nginx possa accedervi:

sudo usermod -a -G redmine nginxsudo chmod 750 /opt/redmine

Installazione di Ruby #

La versione di Ruby nei repository CentOS è piuttosto obsoleta e non supportata da Redmine. Installeremo Ruby usando RVM.

Passa all'utenteredmine digitando:

sudo su - redmine

Importa le chiavi GPG e installa RVM:

gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDBcurl -sSL https://get.rvm.io | bash -s stable

Per iniziare a utilizzare l'origine RVMil rvm file:

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

Ora possiamo installare Ruby eseguendo:

rvm install 2.5rvm --default use 2.5
Se vuoi installare Ruby tramite Rbenv controlla questa guida.

Installazione di Redmine su CentOS #

Al momento della stesura di questo articolo, l'ultima versione stabile di Redmine è la versione 4.0.1.

Prima di continuare con i passaggi successivi dovresti controllare la pagina di download di Redmine per vedere se è disponibile una versione più recente.

Assicurati di eseguire i seguenti passaggi come redmine utente.

1. Download di Redmine #

Scarica l'archivio Redmine con il seguente comando curl:

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

Una volta completato il download, estrarre l'archivio:

tar -xvf redmine.tar.gz

2. Configurazione del database Redmine #

Copia il file di configurazione del database di esempio Redmine:

cp /opt/redmine/redmine-4.0.1/config/database.yml.example /opt/redmine/redmine-4.0.1/config/database.yml

Apri il file con il tuo editor di testo:

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

Cerca la production sezione e inserisci il database MySQL e le informazioni sull'utente che abbiamo creato in precedenza:

/opt/redmine/redmine-4.0.1/config/database.yml
production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "change-with-strong-password"
  encoding: utf8

Al termine, salva il file ed esci dall'editor.

3. Installazione delle dipendenze di Ruby #

Vai al redmine-4.0.1 directory e installa bundler e altre dipendenze di Ruby:

cd ~/redmine-4.0.1gem install bundler --no-rdoc --no-ribundle install --without development test postgresql sqlite

4. Genera chiavi e migra il database #

Eseguire il comando seguente per generare chiavi e migrare il database:

bundle exec rake generate_secret_tokenRAILS_ENV=production bundle exec rake db:migrate

Configurazione di Nginx #

Torna al tuo utente sudo:

exit

Apri il tuo editor di testo e crea il seguente file di blocco del server Nginx:

sudo nano /etc/nginx/conf.d/example.com.conf
/etc/nginx/conf.d/example.com.conf
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.0.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;
}
Non dimenticare di sostituire example.com con il tuo dominio Redmine.

Prima di riavviare il servizio Nginx fai un test per assicurarti che non ci siano errori di sintassi:

sudo nginx -t

Se non ci sono errori, l'output dovrebbe essere simile a questo:

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

Infine, riavvia il servizio Nginx digitando:

sudo systemctl restart nginx

Configura Nginx 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.

Una volta generato il certificato, modifica la configurazione del dominio Nginx come segue:

sudo nano /etc/nginx/conf.d/example.com.conf
/etc/nginx/conf.d/example.com
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.0.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;
}
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.

Accesso a Redmine #

Apri il browser, digita il tuo dominio e supponendo che l'installazione sia riuscita, apparirà una schermata simile alla seguente:

Le credenziali di accesso predefinite per Redmine sono:

  • Nome utente:amministratore
  • Password:amministratore

Quando accedi per la prima volta, ti verrà chiesto di cambiare la password come mostrato di seguito:

Una volta modificata la password verrai reindirizzato alla pagina dell'account utente.


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 Redis su CentOS 8

  5. Come installare e configurare CyberPanel su CentOS 8

Come installare e configurare ownCloud su CentOS 7

Come installare e configurare Samba su CentOS 8

Come installare e configurare Fail2ban su CentOS 8

Come installare Redmine su CentOS 8

Come installare e configurare HAproxy su CentOS 6

Come installare e configurare GlusterFS su CentOS 7/CentOS 8