Android

Hoe Redmine op Centos te installeren en configureren 7

Установка Redmine на CentOS 7 / Installing Redmine on CentOS 7

Установка Redmine на CentOS 7 / Installing Redmine on CentOS 7

Inhoudsopgave:

Anonim

Redmine is een van de meest populaire open source projectmanagement- en issue tracking-softwaretools. Het is platformoverschrijdend en cross-database en gebouwd bovenop het Ruby on Rails-framework.

Redmine biedt ondersteuning voor meerdere projecten, wiki's, het systeem voor het volgen van problemen, forums, agenda's, e-mailmeldingen en nog veel meer.

In deze tutorial behandelen we de stappen die nodig zijn om de nieuwste versie van Redmine te installeren en te configureren op een CentOS 7-server met MariaDB als database-back-end en Passenger + Nginx als een Ruby-toepassingsserver.

voorwaarden

Zorg ervoor dat u aan de volgende voorwaarden hebt voldaan voordat u doorgaat met deze zelfstudie:

  • Domeinnaam die verwijst naar het openbare IP-adres van uw server. In deze tutorial zullen we example.com Aangemeld als een gebruiker met sudo-rechten.

Installeer de pakketten die nodig zijn voor het bouwen van Redmine en Ruby vanaf de bron:

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

MySQL-database maken

Redmine ondersteunt MySQL / MariaDB, Microsoft SQL Server, SQLite 3 en PostgreSQL. In deze tutorial zullen we MariaDB gebruiken als back-end van de database.

Als MariaDB of MySQL niet op uw CentOS-server is geïnstalleerd, kunt u het installeren door deze instructies te volgen.

Meld u aan bij de MySQL-shell door de volgende opdracht te typen:

sudo mysql

Voer vanuit de MySQL-shell de volgende SQL-instructie uit om een ​​nieuwe database te maken:

CREATE DATABASE redmine CHARACTER SET utf8;

Maak vervolgens een MySQL-gebruikersaccount en verleen toegang tot de database:

GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password'; Zorg ervoor dat u change-with-strong-password met een sterk wachtwoord.

Na voltooiing verlaat u de mysql-shell door te typen:

EXIT;

Passagier en Nginx installeren

Passenger is een snelle en lichtgewicht webtoepassingsserver voor Ruby, Node.js en Python die kan worden geïntegreerd met Apache en Nginx. We zullen Passenger installeren als een Nginx-module.

Installeer de EPEL-repository en de vereiste pakketten:

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

Schakel de Phusionpassenger-repository in:

sudo yum-config-manager --add-repo

Zodra de repository is ingeschakeld, werkt u de pakketlijst bij en installeert u zowel Nginx als Passenger met:

sudo yum install nginx passenger passenger-devel

Nieuwe systeemgebruiker maken

Maak een nieuwe gebruiker en groep, die de Redmine-instantie uitvoert, voor de eenvoud noemen we de gebruiker redmine :

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

Voeg de nginx gebruiker toe aan de nieuwe gebruikersgroep en wijzig de /opt/redmine mapmachtigingen zodat de Nginx er toegang toe heeft:

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

Ruby installeren

De versie van Ruby in de CentOS-repositories is behoorlijk verouderd en wordt niet ondersteund door Redmine. We zullen Ruby installeren met RVM.

Schakel naar de gebruiker redmine door te typen:

sudo su - redmine

Importeer de GPG-sleutels en installeer 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

Om RVM-bron te gaan gebruiken, het rvm bestand:

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

Nu kunnen we Ruby installeren door te draaien:

rvm install 2.5 rvm --default use 2.5 Raadpleeg deze handleiding als u Ruby via Rbenv wilt installeren.

Redmine installeren op CentOS

Op het moment dat dit artikel werd geschreven, is versie 4.0.1 de nieuwste stabiele versie van Redmine.

Voordat u doorgaat met de volgende stappen, moet u de downloadpagina van Redmine controleren om te zien of er een nieuwere versie beschikbaar is.

Zorg ervoor dat u de volgende stappen uitvoert als gebruiker opnieuw redmine .

1. Redmine downloaden

Download het Redmine-archief met de volgende curl-opdracht:

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

Zodra het downloaden is voltooid, pak je het archief uit:

tar -xvf redmine.tar.gz

2. Redmine-database configureren

Kopieer het Redmine-voorbeelddatabaseconfiguratiebestand:

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

Open het bestand met uw teksteditor:

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

Zoek naar de production en voer de MySQL-database en gebruikersinformatie in die we eerder hebben gemaakt:

/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

Sla het bestand op en verlaat de editor.

3. Ruby-afhankelijkheden installeren

Navigeer naar de redmine-4.0.1 en installeer bundler en andere Ruby-afhankelijkheden:

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

4. Genereer sleutels en migreer de database

Voer de volgende opdracht uit om sleutels te genereren en de database te migreren:

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

Nginx configureren

Schakel terug naar uw sudo-gebruiker:

exit

Open uw teksteditor en maak het volgende Nginx-serverblokbestand:

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; } Vergeet niet om example.com te vervangen door uw Redmine-domein.

Voordat u de Nginx-service opnieuw start, moet u een test uitvoeren om er zeker van te zijn dat er geen syntaxisfouten zijn:

sudo nginx -t

Als er geen fouten zijn, ziet de uitvoer er als volgt uit:

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

Start ten slotte de Nginx-service opnieuw op door te typen:

sudo systemctl restart nginx

Configureer Nginx met SSL

Nadat het certificaat is gegenereerd, bewerkt u de Nginx-configuratie van het domein als volgt:

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; } Vergeet niet om example.com te vervangen door uw Redmine-domein en het juiste pad naar de SSL-certificaatbestanden in te stellen. Alle HTTP-aanvragen worden doorgestuurd naar

Toegang tot Redmine

Open uw browser, typ uw domein en ervan uitgaande dat de installatie is geslaagd, verschijnt een scherm zoals het volgende:

Nadat u het wachtwoord hebt gewijzigd, wordt u doorgestuurd naar de gebruikersaccountpagina.

Conclusie

U hebt Redmine op uw CentOS-systeem geïnstalleerd. Raadpleeg nu de Redmine-documentatie en leer meer over het configureren en gebruiken van Redmine.

centos redmine ruby ​​mysql mariadb nginx