Android

Jak zainstalować i skonfigurować Redmine na Centos 7

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

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

Spisu treści:

Anonim

Redmine jest jednym z najpopularniejszych narzędzi do zarządzania projektami i śledzenia problemów typu open source. Jest wieloplatformowy i między bazami danych i zbudowany na bazie Ruby on Rails.

Redmine obejmuje obsługę wielu projektów, stron wiki, systemu śledzenia problemów, forów, kalendarzy, powiadomień e-mail i wielu innych.

W tym samouczku omówimy kroki niezbędne do zainstalowania i skonfigurowania najnowszej wersji Redmine na serwerze CentOS 7 przy użyciu MariaDB jako zaplecza bazy danych oraz Passenger + Nginx jako serwer aplikacji Ruby.

Wymagania wstępne

Przed kontynuowaniem tego samouczka upewnij się, że zostały spełnione następujące wymagania wstępne:

  • Nazwa domeny wskazująca publiczny adres IP twojego serwera. W tym samouczku użyjemy example.com Zalogowany jako użytkownik z uprawnieniami sudo.

Zainstaluj pakiety wymagane do budowy Redmine i Ruby ze źródła:

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

Tworzenie bazy danych MySQL

Redmine obsługuje MySQL / MariaDB, Microsoft SQL Server, SQLite 3 i PostgreSQL. W tym samouczku wykorzystamy MariaDB jako zaplecze bazy danych.

Jeśli nie masz MariaDB lub MySQL zainstalowanych na serwerze CentOS, możesz go zainstalować, postępując zgodnie z tymi instrukcjami.

Zaloguj się do powłoki MySQL, wpisując następujące polecenie:

sudo mysql

Z poziomu powłoki MySQL uruchom następującą instrukcję SQL, aby utworzyć nową bazę danych:

CREATE DATABASE redmine CHARACTER SET utf8;

Następnie utwórz konto użytkownika MySQL i udziel dostępu do bazy danych:

GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password'; Upewnij się, że zmienisz change-with-strong-password z silnym hasłem na silne hasło.

Po zakończeniu wyjdź z powłoki mysql, wpisując:

EXIT;

Instalowanie programu Passenger i Nginx

Passenger to szybki i lekki serwer aplikacji WWW dla Ruby, Node.js i Python, który można zintegrować z Apache i Nginx. Zainstalujemy Passenger jako moduł Nginx.

Zainstaluj repozytorium EPEL i wymagane pakiety:

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

Włącz repozytorium Phusionpassenger:

sudo yum-config-manager --add-repo

Po włączeniu repozytorium zaktualizuj listę pakietów i zainstaluj zarówno Nginx, jak i Passenger za pomocą:

sudo yum install nginx passenger passenger-devel

Tworzenie nowego użytkownika systemu

Utwórz nowego użytkownika i grupę, która uruchomi instancję Redmine, dla uproszczenia nazwiemy użytkownika redmine :

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

Dodaj użytkownika nginx do nowej grupy użytkowników i zmień uprawnienia do katalogu /opt/redmine aby Nginx mógł uzyskać do niego dostęp:

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

Instalowanie Ruby

Wersja Ruby w repozytoriach CentOS jest dość przestarzała i nie jest obsługiwana przez Redmine. Zainstalujemy Ruby przy użyciu RVM.

Przejdź do użytkownika redmine , wpisując:

sudo su - redmine

Zaimportuj klucze GPG i zainstaluj RVM:

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

Aby rozpocząć korzystanie ze źródła RVM, plik rvm :

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

Teraz możemy zainstalować Ruby, uruchamiając:

rvm install 2.5 rvm --default use 2.5 Jeśli chcesz zainstalować Ruby przez Rbenv, sprawdź ten przewodnik.

Instalowanie Redmine na CentOS

W chwili pisania tego artykułu najnowszą stabilną wersją Redmine jest wersja 4.0.1.

Przed kontynuowaniem kolejnych kroków powinieneś sprawdzić stronę pobierania Redmine, aby sprawdzić, czy dostępna jest nowsza wersja.

Upewnij się, że redmine następujące kroki jako użytkownik redmine .

1. Pobieranie Redmine

Pobierz archiwum Redmine za pomocą następującego polecenia curl:

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

Po zakończeniu pobierania rozpakuj archiwum:

tar -xvf redmine.tar.gz

2. Konfiguracja bazy danych Redmine

Skopiuj przykładowy plik konfiguracyjny bazy danych Redmine:

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

Otwórz plik za pomocą edytora tekstu:

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

Wyszukaj sekcję production i wprowadź bazę danych MySQL oraz informacje o użytkowniku, które wcześniej utworzyliśmy:

/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

Po zakończeniu zapisz plik i zamknij edytor.

3. Instalowanie zależności Ruby

Przejdź do katalogu redmine-4.0.1 i zainstaluj bundler i inne zależności Ruby:

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

4. Wygeneruj klucze i przeprowadź migrację bazy danych

Uruchom następujące polecenie, aby wygenerować klucze i przeprowadzić migrację bazy danych:

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

Konfigurowanie Nginx

Wróć do użytkownika sudo:

exit

Otwórz edytor tekstu i utwórz następujący plik bloku serwera 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; } Nie zapomnij zastąpić example.com swoją domeną Redmine.

Przed ponownym uruchomieniem usługi Nginx wykonaj test, aby upewnić się, że nie występują błędy składniowe:

sudo nginx -t

Jeśli nie ma błędów, wynik powinien wyglądać następująco:

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

Na koniec zrestartuj usługę Nginx, wpisując:

sudo systemctl restart nginx

Skonfiguruj Nginx z SSL

Po wygenerowaniu certyfikatu edytuj konfigurację domeny Nginx w następujący sposób:

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; } Nie zapomnij zastąpić example.com domeną Redmine i ustawić prawidłową ścieżkę do plików certyfikatów SSL. Wszystkie żądania HTTP zostaną przekierowane do

Dostęp do Redmine

Otwórz przeglądarkę, wpisz domenę i zakładając, że instalacja zakończy się powodzeniem, pojawi się ekran podobny do następującego:

Po zmianie hasła nastąpi przekierowanie na stronę konta użytkownika.

Wniosek

Pomyślnie zainstalowałeś Redmine w swoim systemie CentOS. Powinieneś teraz sprawdzić dokumentację Redmine i dowiedzieć się więcej o tym, jak skonfigurować i korzystać z Redmine.

centos redmine ruby ​​mysql mariadb nginx