Przedstawienie i skonfigurowanie Redmine na Debianie 9.
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.