Установка Redmine на CentOS 7 / Installing Redmine on CentOS 7
Inhoudsopgave:
- voorwaarden
- MySQL-database maken
- Passagier en Nginx installeren
- Nieuwe systeemgebruiker maken
- Ruby installeren
- Redmine installeren op CentOS
- 1. Redmine downloaden
- 2. Redmine-database configureren
- 3. Ruby-afhankelijkheden installeren
- 4. Genereer sleutels en migreer de database
- Nginx configureren
- Configureer Nginx met SSL
- Toegang tot Redmine
- Conclusie
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:
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:
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:
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:
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 nginxHoe een NFS-server op Centos 8 te installeren en configureren
In deze zelfstudie doorloopt u de benodigde stappen om een NFSv4-server op CentOS 8 in te stellen. We laten u ook zien hoe u een NFS-bestandssysteem op de client kunt mounten.
Redmine installeren en configureren op Debian 9
Redmine is een gratis en open source projectmanagement- en issue tracking-applicatie. In deze zelfstudie laten we u zien hoe u de nieuwste versie van Redmine installeert en configureert op een Debian 9-server met MySQL als database-back-end en Passenger + Nginx als een Ruby-toepassingsserver.
Hoe redmine te installeren en te configureren op ubuntu 18.04
Redmine is een van de meest populaire open source projectmanagement- en issue tracking-softwaretools. Deze zelfstudie beschrijft hoe de nieuwste versie van Redmine op een Ubuntu 18.04-server moet worden geïnstalleerd en geconfigureerd.