Android

Hvordan installere og konfigurere redmine på centos 7

Real life migrations to Azure and how they did it.

Real life migrations to Azure and how they did it.

Innholdsfortegnelse:

Anonim

Redmine er et av de mest populære open source prosjektstyrings- og problemsporingsprogramvareverktøyene. Det er plattform og tverrdatabase og bygget oppå Ruby on Rails-rammen.

Redmine inkluderer støtte for flere prosjekter, wikier, sporing av systemer, fora, kalendere, e-postvarsler og mye mer.

I denne opplæringen vil vi dekke trinnene som trengs for å installere og konfigurere den nyeste versjonen av Redmine på en CentOS 7-server ved å bruke MariaDB som en database-back-end og Passenger + Nginx som en Ruby-applikasjonsserver.

Forutsetninger

Forsikre deg om at du har oppfylt følgende forutsetninger før du fortsetter med denne opplæringen:

  • Domenenavn som peker til serverens offentlige IP. I denne opplæringen vil vi bruke example.com Logget inn som en bruker med sudo-rettigheter.

Installer pakkene som kreves for å bygge Redmine og Ruby fra kilden:

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

Opprette MySQL-database

Redmine støtter MySQL / MariaDB, Microsoft SQL Server, SQLite 3 og PostgreSQL. I denne opplæringen bruker vi MariaDB som en database-back-end.

Hvis du ikke har MariaDB eller MySQL installert på CentOS-serveren din, kan du installere den ved å følge disse instruksjonene.

Logg inn på MySQL-skallet ved å skrive inn følgende kommando:

sudo mysql

Kjør følgende SQL-setning fra MySQL-skallet for å opprette en ny database:

CREATE DATABASE redmine CHARACTER SET utf8;

Deretter oppretter du en MySQL-brukerkonto og gir tilgang til databasen:

GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password'; Forsikre deg om at du endrer change-with-strong-password med et sterkt passord.

Når du er ferdig, avslutter du mysql-skallet ved å skrive:

EXIT;

Installere Passenger og Nginx

Passenger er en rask og lett webapplikasjonsserver for Ruby, Node.js og Python som kan integreres med Apache og Nginx. Vi vil installere Passenger som en Nginx-modul.

Installer EPEL-depotet og de nødvendige pakkene:

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

Aktiver Phusionpassenger-lagringsstedet:

sudo yum-config-manager --add-repo

Når depotet er aktivert, oppdaterer du pakkelisten og installerer både Nginx og Passenger med:

sudo yum install nginx passenger passenger-devel

Oppretter ny systembruker

Opprett en ny bruker og gruppe, som kjører Redmine-forekomsten, for enkelhets skyld vil vi navngi brukeren redmine :

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

Legg til nginx brukeren i den nye brukergruppen og endre /opt/redmine katalogtillatelser slik at Nginx får tilgang til den:

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

Installere Ruby

Versjonen av Ruby i CentOS-depotene er ganske utdatert og støttes ikke av Redmine. Vi installerer Ruby ved hjelp av RVM.

Bytt til brukerens redmine ved å skrive:

sudo su - redmine

Importer GPG-nøklene og installer RVM:

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

Slik begynner du å bruke RVM-kilde rvm filen:

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

Nå kan vi installere Ruby ved å kjøre:

rvm install 2.5 rvm --default use 2.5 Hvis du vil installere Ruby via Rbenv, sjekk denne guiden.

Installere Redmine på CentOS

I skrivende stund er denne siste stabile versjonen av Redmine versjon 4.0.1.

Før du fortsetter med de neste trinnene, bør du sjekke Redmine nedlastingsside for å se om en nyere versjon er tilgjengelig.

Forsikre deg om at du kjører følgende trinn som redmine user.

1. Laste ned Redmine

Last ned Redmine-arkivet med følgende krøllkommando:

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

Når nedlastingen er fullført, pakker du ut arkivet:

tar -xvf redmine.tar.gz

2. Konfigurere Redmine-databasen

Kopier Redmine eksempeldatabasekonfigurasjonsfil:

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

Åpne filen med tekstredigereren:

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

Søk etter production og skriv inn MySQL-databasen og brukerinformasjonen vi opprettet tidligere:

/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

Når du er ferdig, lagrer du filen og avslutter redigereren.

3. Installere Ruby-avhengigheter

Naviger til redmine-4.0.1 katalogen og installer pakker og andre Ruby-avhengigheter:

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

4. Generer nøkler og migrer databasen

Kjør følgende kommando for å generere nøkler og migrere databasen:

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

Konfigurere Nginx

Bytt tilbake til sudo-brukeren din:

exit

Åpne tekstredigeringsprogrammet og lag følgende Nginx-serverblokkfil:

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; } Ikke glem å erstatte example.com med ditt Redmine-domene.

Før du starter Nginx-tjenesten på nytt, må du utføre en test for å være sikker på at det ikke er syntaksfeil:

sudo nginx -t

Hvis det ikke er noen feil, skal utgangen se slik ut:

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

Til slutt, start Nginx-tjenesten på nytt ved å skrive:

sudo systemctl restart nginx

Konfigurer Nginx med SSL

Når sertifikatet er generert, rediger domenet Nginx-konfigurasjonen som følger:

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; } Ikke glem å erstatte eksempel.com med ditt Redmine-domene og angi riktig sti til SSL-sertifikatfilene. Alle HTTP-forespørsler blir omdirigert til

Få tilgang til Redmine

Åpne nettleseren din, skriv inn domenet ditt og antar at installasjonen er vellykket, vises en skjerm som ligner på følgende:

Når du har endret passordet, blir du omdirigert til brukerkontosiden.

Konklusjon

Du har installert Redmine på CentOS-systemet. Du bør nå sjekke Redmine-dokumentasjonen og lære mer om hvordan du konfigurerer og bruker Redmine.

centos redmine ruby ​​mysql mariadb nginx