Android

Jak zainstalować i skonfigurować Redmine na Debianie 9

Реклама подобрана на основе следующей информации:

Реклама подобрана на основе следующей информации:

Spisu treści:

Anonim

Redmine to darmowa i otwarta aplikacja do zarządzania projektami i śledzenia problemów. 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 pokażemy, jak zainstalować i skonfigurować najnowszą wersję Redmine na serwerze Debian 9 przy użyciu MySQL 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:

  • Niech nazwa domeny wskazuje publiczny adres IP twojego serwera. Będziemy używać example.com Zalogowany jako użytkownik z uprawnieniami sudo. Zainstalować Nginx. Zainstalować certyfikat SSL dla swojej domeny.

Tworzenie bazy danych MySQL

Redmine obsługuje MySQL / MariaDB, Microsoft SQL Server, SQLite 3 i PostgreSQL. Będziemy używać MariaDB jako zaplecza bazy danych. Upewnij się, że masz przynajmniej MySQL 5.7 lub MariaDB 10.3 zainstalowane na twoim komputerze.

Jeśli MariaDB lub MySQL nie jest zainstalowany na twoim serwerze Debiana, możesz go zainstalować zgodnie z tymi instrukcjami.

Zacznij od zalogowania się do konsoli MySQL, wpisując:

sudo mysql

Uruchom następującą instrukcję SQL, aby utworzyć nową bazę danych:

CREATE DATABASE redmine CHARACTER SET utf8mb4;

Utwórz nowe konto użytkownika MySQL i udziel dostępu do bazy danych:

GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password'; Nie zapomnij zmienić change-with-strong-password silnym hasłem.

Po zakończeniu wyloguj się z konsoli MariaDB, wpisując:

EXIT;

Instalowanie Ruby

Najłatwiejszym sposobem zainstalowania Ruby na Debianie jest użycie menedżera pakietów apt :

Zainstaluj Ruby, wpisując:

sudo apt install ruby-full

W chwili pisania tego tekstu wersja w repozytoriach Debiana to 2.3.3p222 która jest obsługiwana przez najnowszą wersję Redmine.

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.

Upewnij się, że Nginx jest zainstalowany, zanim przejdziesz do kolejnych kroków.

Instalowanie niezbędnych pakietów, aby włączyć repozytorium

sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common

Zaimportuj klucz GPG repozytorium i włącz repozytorium Phusionpassenger:

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 561F9B9CAC40B2F7 sudo add-apt-repository 'deb https://oss-binaries.phusionpassenger.com/apt/passenger stretch main'

Zaktualizuj listę pakietów i zainstaluj moduł Passenger Nginx za pomocą:

sudo apt update sudo apt install libnginx-mod-http-passenger

Instalowanie Redmine na Debianie

Zacznij od zainstalowania zależności niezbędnych do zbudowania Redmine:

sudo apt install build-essential libmariadbclient-dev imagemagick libmagickwand-dev curl ruby-dev libxslt-dev libxml2-dev zlib1g-dev

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

Przed przejściem do następnego kroku powinieneś sprawdzić stronę pobierania Redmine w celu uzyskania nowszej wersji.

1. Pobieranie Redmine

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

sudo curl -L http://www.redmine.org/releases/redmine-4.0.4.tar.gz -o /tmp/redmine.tar.gz

Po zakończeniu pobierania rozpakuj archiwum i przenieś je do katalogu /opt :

cd /tmp sudo tar zxf /tmp/redmine.tar.gz sudo mv /tmp/redmine-4.0.4 /opt/redmine

2. Konfiguracja bazy danych Redmine

Skopiuj przykładowy plik konfiguracyjny Redmine:

sudo cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml

Otwórz plik za pomocą edytora tekstu:

sudo nano /opt/redmine/config/database.yml

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

/opt/redmine/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 i zainstaluj bundler i inne zależności Ruby:

cd /opt/redmine/ sudo gem install bundler --no-rdoc --no-ri sudo 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:

cd /opt/redmine/ sudo bundle exec rake generate_secret_token sudo RAILS_ENV=production bundle exec rake db:migrate

5. Ustaw prawidłowe uprawnienia

Nginx działa jako użytkownik i grupa www-data . Ustaw poprawne uprawnienia, wydając następujące polecenie chown:

sudo chown -R www-data: /opt/redmine/

Skonfiguruj Nginx

Do tej pory powinieneś już mieć Nginx z certyfikatem SSL zainstalowanym w systemie, jeśli nie, sprawdź wymagania wstępne tego samouczka.

Otwórz edytor tekstu i utwórz następujący plik bloku serwera Nginx:

sudo nano /etc/nginx/sites-available/example.com /etc/nginx/sites-available/example.com

# 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/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 HTTPS. Fragmenty użyte w tej konfiguracji są tworzone w tym przewodniku.

Włącz blok serwera, tworząc symboliczne łącze do katalogu z sites-enabled :

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

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

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 systemie Debian. Powinieneś teraz sprawdzić dokumentację Redmine i dowiedzieć się więcej o tym, jak skonfigurować i korzystać z Redmine.

debian redmine ruby ​​mysql nginx