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

Come installare Redmine 3 con Nginx su CentOS 7

Redmine è un'applicazione web open source per la gestione dei progetti e il rilevamento dei problemi. Redmine è basato su Ruby on Rails Framework, ha supporto multipiattaforma e multidatabase e viene fornito con traduzioni per 42 lingue. Il software consente di tenere traccia di più progetti, integra la gestione di notizie, documenti e file e un wiki di supporto per ogni progetto. Gli account utente possono essere autenticati su una directory LDAP e software di terze parti possono essere collegati tramite un'API REST.

In questo tutorial installeremo Redmine 3.2 con Nginx come server web, MySQL come server di database su un sistema operativo CentOS 7 (64 bit).

Prerequisito

  • CentOS 7 - 64 bit.
  • Privilegi di root.

Passaggio 1:installa le dipendenze Redmine

Redmine ha molte dipendenze che installeremo per prime. Accedi al tuo server CentOS 7 come utente root:

ssh [email protected]

Installa tutte le dipendenze richieste da Redmine e i pacchetti necessari per ruby ​​e rvm con il comando yum di seguito:

yum install zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel ftp wget ImageMagick-devel gcc-c++ patch readline readline-devel zlib libyaml-devel libffi-devel make bzip2 autoconf automake libtool bison iconv-devel subversion

L'installazione richiederà una password MySQL. Digita la tua nuova password di root MySQL quando richiesto.

Fase 2:installa Ruby e RVM

In questo passaggio, installeremo rvm (ultima versione) e ruby ​​2.2. Redmine 3.2 supporta la versione 2.2 di Ruby. RVM (Ruby Version Manager) è uno strumento a riga di comando che consente di installare, gestire e lavorare con più ambienti Ruby sullo stesso server.

gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -L https://get.rvm.io | bash -s stable --ruby=2.2.5

Al termine dell'installazione, dobbiamo ricaricare RVM e aggiungerlo al file .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

Ricarica il file .bashrc e controlla la versione di Ruby e RVM.

source ~/.bashrc
ruby -v
rvm -v

Fase 3:configura il database per Redmine

In questo passaggio, installeremo il pacchetto mysql-server dal repository MySQL ufficiale.

Aggiungi il repository Oracle MySQL e controlla l'elenco dei repository.

rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
yum repolist

per garantire che il repository del server MySQL sia stato aggiunto correttamente.

Installa il server MySQL con questo comando yum.

yum install mysql-server

Al termine dell'installazione, avvia il servizio mysqld e configura la password di root di MySQL.

systemctl start mysqld

Il server MySQL è stato avviato. Ora ottieni la password di root temporanea per il server mysql con il comando grep di seguito:

grep 'temporary password' /var/log/mysqld.log

Vedrai un risultato simile a questo:

2016-10-31T23:06:50.974555Z 1 [Note] A temporary password is generated for [email protected]: />y.)uWui8j*

Quindi sappiamo che la password di root per il server MySQL è:/>y.)uWui8j*

Ora imposteremo una nuova password di root per il server MySQL. Accedi alla shell di mysql con l'utente root e la password generata:

mysql -u root -p
GENERATED PASSWORD: />y.)uWui8j*

Imposta una nuova password utente root con la query mysql di seguito:

ALTER USER 'root'@'localhost' IDENTIFIED BY '[email protected]!';

Quindi, crea un nuovo database chiamato "redmine" e crea un nuovo utente "redmine" con password "redmine" (usa una password sicura sul tuo server qui!). Quindi concedi tutti i privilegi per l'utente al database 'redmine'.

create database redmine;
create user [email protected] identified by '[email protected]!';
grant all privileges on redmine.* to [email protected] identified by '[email protected]!';
flush privileges;
exit

Database e utente sono stati creati.

Fase 4:installazione di Phusion Passenger e Nginx

Phusion Passenger è un server di applicazioni web che può essere utilizzato insieme ad apache e nginx. Supporta più linguaggi:Ruby, Python e Nodejs. Per noi è facile, veloce, in grado di gestire più traffico e offre miglioramenti della sicurezza.

In questo capitolo installeremo Phusion Passenger e lo integreremo con il nostro server web nginx. Installa il passeggero con il comando gem di seguito, quindi esegui il comando passeggero-nginx-module.

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

Il comando ti chiederà quale linguaggio di programmazione deve essere utilizzato, seleziona Ruby e Python .

Ti verrà chiesto dell'installazione di nginx; seleziona "Sì:scarica, compila e installa Nginx per me. (consigliato) ".

Ti verrà richiesta la directory di installazione di nginx, utilizza l'impostazione predefinita '/opt/nginx/' , premi semplicemente "Invio ".

Passaggio 5 - Configura Nginx

Al termine dell'installazione di nginx, vai alla directory di installazione e modifica il file nginx.conf con un editor.

cd /opt/nginx/
cd conf/
vim nginx.conf

Incolla la configurazione di seguito alla riga 24:

include vhost/*.conf;

Salva il file ed esci dall'editor.

Crea una nuova directory 'vhost' per la configurazione dell'host virtuale.

mkdir -p /opt/nginx/conf/vhost

Vai alla directory vhost e crea la configurazione di 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 il file.

Ubuntu 16.04 usa systemd come sistema di inizializzazione. Quindi configuriamo nginx per systemd. Vai alla directory systemd e crea un nuovo file di servizio chiamato '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 ed esci.

Ricarica il servizio 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:

netstat -plntu | grep nginx

Il risultato dovrebbe essere questo:

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

Vai alla directory di 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

Modifica il file database.yml con vim:

vim config/database.yml

Nella riga della sezione di produzione, inserisci il nome utente e la password del database:

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "[email protected]!"
  encoding: utf8

Salva il file.

Nella directory redmine, crea alcune nuove directory e cambia il proprietario in utente e gruppo nessuno:

mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R nobody:nobody files log tmp public/plugin_assets
sudo chmod -R 775 files log tmp public/plugin_assets

Installa le dipendenze bundler e gem per redmine:

gem install bundler
bundle install --without development test

Genera il token segreto, 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 nome di dominio redmine con un browser web:

systemctl restart nginx

Visita l'installazione di redmine, la mia è:www.redmine.co

Accedi alla pagina di amministrazione:www.redmine.co/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 su CentOS 7 è andata a buon fine.

Conclusione

Redmine è un'applicazione basata sul Web per la gestione dei progetti e il monitoraggio dei problemi. Redmine è multipiattaforma, quindi possiamo eseguirlo su Windows, Linux o Mac OS. Redmine supporta molti 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 gratuite se desideri creare la tua gestione dei progetti con il monitoraggio dei problemi.


Cent OS
  1. Come installare MySQL su CentOS 8

  2. Come installare phpMyAdmin con Nginx su CentOS 7 / RHEL 7

  3. Come installare Redmine su CentOS 7

  4. Come installare Redmine su CentOS 8

  5. Come installare MySQL 5.6 su CentOS 6.x

Come installare phpMyAdmin con Nginx su CentOS 8 / RHEL 8

Come installare Redmine su CentOS 8

Come installare Nginx con ngx_pagespeed su CentOS

Come installare Nginx con PHP-FastCGI su CentOS 6

Come installare Magento con Nginx su CentOS 7

Come installare Laravel con Nginx su CentOS 8