Przedstawienie i skonfigurowanie Redmine na Debianie 9.

7/20/2020
10 minutes
Lukáš Beňa -> Łukasz Beňa

Redmine zawiera różne wsparcie dla projektów, wiki, śledzenie problemów, dyskusje, kalendarze, powiadomienia e-mail i wiele więcej. W tym samouczku pokażemy Ci, jak zainstalować i dostosować nową wersję Redmine na Debianie 9.

Przed rozpoczęciem upewnij się, że zrobiłeś to

  • Masz nazwę domeny wskazującą na publiczny adres IP na twoim serwerze. Będziemy korzystać z przykład.com.
  • Jesteś zalogowany jako użytkownik z uprawnieniami sudo.
  • Zainstalowany Nginx.
  • Masz zainstalowane oświadczenie SSL dla domeny.


Utwórz bazę danych MySQL

Redmine obsługuje MySQL/MariaDB, SQL Server, SQLite 3, Microsoft i PostgreSQL. Będziemy korzystać z MariaDB jako backendu bazy danych. Sprawdź, czy na twoim komputerze zainstalowano co najmniej MySQL 5.7 lub MariaDB 10.3. 
Jeśli twój serwer Debian nie ma zainstalowanej MariaDB lub MySQL, możesz zainstalować ją, korzystając z tych instrukcji. 
Zacznij od zalogowania się do konsoli MySQL:
$ sudo mysql
Aby utworzyć nową bazę danych, uruchom następujące polecenie SQL: 
mysql> CREATE DATABASE redmine CHARACTER SET utf8mb4;
Utwórz nowe konto użytkownika MySQL i umożliw mu dostęp do bazy danych: 
mysql> GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
mysql> flush priviledges; <- to jest ważne! W przeciwnym razie zmiany nie będą obowiązywać do momentu ponownego uruchomienia usługi mysql.
Pamiętaj, aby zmienić silne hasło na zmianę-z-silnymi-hasłami.
Po zakończeniu wyloguj się z konsoli MariaDB, wpisując:
mysql> EXIT;


Zainstaluj Ruby

Zainstaluj najnowszą wersję Ruby za pomocą Rbenv lub RVM.


RVM

1. zainstaluj rvm, uruchom go, dodaj do autostartu
curl -sSL https://get.rvm.io | sudo bash -s master
source /etc/profile.d/rvm.sh
echo '[[ -s "/etc/profile.d/rvm.sh" ]] && source "/etc/profile.d/rvm.sh"' >> ~/.bashrc
2. Utwórz użytkownika "easy" (lub nazwij go dowolnie, ważne, aby ten użytkownik pracował z twoją aplikacją redmine, a nie z użytkownikiem root. Powinno to być zrobione ze względów bezpieczeństwa)
useradd -m -G rvm -s /bin/bash easy
Musisz również dodać użytkownika "easy" do grupy sudoers (musimy zezwolić temu użytkownikowi na uruchamianie niektórych poleceń z sudo)
usermod -a -G sudo easy
Jeśli to zrobiłeś, możesz pominąć następny krok, ponieważ po tym poleceniu twój użytkownik jest już w odpowiedniej grupie. Przełącz się na tego użytkownika
su - easy
3. dodaj użytkownika do grupy rvm
usermod -a -G rvm easy
Musisz również dodać użytkownika "easy" do grupy sudoers (musimy zezwolić temu użytkownikowi na uruchamianie niektórych poleceń z sudo)
usermod -a -G sudo easy
Przełącz się na użytkownika "easy"
su - easy
4. zainstaluj ruby
rvm install 2.6 --patch railsexpress
5. zainstaluj git
sudo apt-get install git
6. ustaw ruby 2.6 jako domyślny
rvm use 2.6 --default
Część w kursywie jest potrzebna tylko wtedy, gdy zamierzasz zainstalować ruby z nie-root użytkownika. Jeśli zdecydujesz się na to, możesz zamienić nazwę użytkownika "easy" na "redmine".


Rbenv

Proszę postępować zgodnie z instrukcjami w tym artykule.


Wprowadzenie Passenger i Nginx #

Passenger to szybki, lekki serwer aplikacji internetowych Ruby, Node.js i Python, który może być zintegrowany z Apache i Nginx. Passenger zostanie wprowadzony jako moduł Nginx. 

Instalowanie wymaganych pakietów do tworzenia repozytorium https:

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

Zaimportuj klucz GPG repozytorium i zezwól na 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ł Nginx Passenger z:

$   sudo apt update

$   sudo apt install libnginx-mod-http-passenger

$   gem install passenger --no-ri --no-rdoc

$   passenger-install-nginx-module


Instalacja Redmine na Debianie

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

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

Przed przejściem do następnego kroku należy sprawdzić stronę pobierania Redmine w poszukiwaniu nowszej wersji.


Pobierz Redmine

Użyj następującej komendy curl, aby pobrać archiwum Redmine:

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

Rozpakuj archiwum i przetransferuj je do katalogu /opt po zakończeniu pobierania:

$  cd /tmp

$  sudo tar zxf /tmp/redmine.tar.gz

$  sudo mv /tmp/redmine-4.0.4 /opt/redmine

Skonfiguruj bazę danych Redmine:

Skopiuj plik konfiguracyjny dla przykładu w Redmine:

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

Otwórz plik edytora tekstu:

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

Wyszukaj sekcję produkcji i wprowadź informacje o wcześniej utworzonej bazie danych MySQL i użytkowniku:

/opt/redmine/config/database.yml

Produkcja:

  adapter: mysql2

  database: redmine

  host: localhost

  username: redmine

  password: "zmień-na-silne-hasło"

  encoding: utf8

Zapisz plik i wyjdź z edytora.


Zainstaluj warunki Ruby

Zainstaluj bundler i inne warunki Ruby i przejdź do katalogu Redmine:

$ cd path/to/redmine/

$ sudo gem install bundler

$ sudo bundle install -- without development test

Przenieś bazę danych, generując klucze:

Uruchom polecenie generowania kluczy i przenieś bazę danych.

$ sudo bundle exec rake generate_secret_token

$ sudo RAILS_ENV=production bundle exec rake db:migrate


Ustaw poprawne uprawnienia

Nginx działa jako klient i sieć informacyjna www. Ustaw uprawnienia poprawnie, wydając polecenie chown.

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


Skonfiguruj Nginx

Uwaga: W tym blogu możesz dowiedzieć się więcej o letsencrypt oraz alternatywnym sposobie tworzenia/kupowania certyfikatów HTTPS (cert-manager).

Jeśli nie sprawdziłeś jeszcze wymagań dla tego samouczka, powinieneś już mieć zainstalowany Nginx z certyfikatem SSL na swoim systemie.

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

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

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

# Przekieruj HTTP -> HTTPS

server {

    listen 80;

    server_name www.example.com example.com;

    include snippets/letsencrypt.conf;

    return 301 https://example.com$request_uri;

}

# Przekieruj WWW -> BEZ 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;

    # Parametry SSL

    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;

    # Pliki dziennika

    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 użyć swojej domeny Redmine do zastąpienia example.com i ustaw poprawną ścieżkę do plików certyfikatu SSL. Wszystkie żądania HTTP będą przekierowane na HTTPS. Ten przewodnik generuje fragmenty kodu używane w tym ustawieniu.
Aby włączyć serwer, utwórz dowiązanie symboliczne do katalogu umożliwiającego witryny:
$    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 ma błędów składni: 
$  sudo nginx -t
Jeśli nie wystąpią żadne błędy, wynik powinien wyglądać tak: 
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
W końcu, zrestartuj usługę Nginx, wpisując:
$  sudo systemctl restart nginx


Dostęp do Redmine

Otwórz przeglądarkę, wpisz swoją domenę, a jeśli instalacja przebiegła pomyślnie, pojawi się podobny ekran jak poniżej: 

Domyślne dane logowania do Redmine to: 
Nazwa użytkownika: admin
Hasło: admin
Po pierwszym zalogowaniu zostaniesz poproszony o zmianę hasła, jak pokazano poniżej: 

Po zmianie hasła zostaniesz przekierowany na stronę konta użytkownika.
Z powodzeniem zbudowałeś Redmine na swoim systemie Debian.

Najlepsza aktualizacja Redmine? Łatwa.

Zdobądź wszystkie potężne narzędzia do doskonałego planowania, zarządzania i kontroli projektów w jednym oprogramowaniu.

Wypróbuj Easy Redmine przez 30 dni za darmo

Pełne funkcje, zabezpieczenie SSL, codzienne kopie zapasowe, dostępne w Twojej lokalizacji