Typowe problemy z instalacją i aktualizacją Redmine
Ponieważ zarówno Redmine i Easy Redmine są Open Source i są mniej lub bardziej niezależne od platformyNiektóre instalacja i uaktualnienia problemy mogą wystąpić z powodu różnych konfiguracjach serwerowych wersjach oprogramowania lub wtyczek zainstalowanych. Dokładamy wszelkich starań, aby śledzić te najczęściej w celu pomóc w rozwiązywaniu problemów.
Oto kilka wskazówek, co można zrobić, jeśli napotkasz błąd 500.
- biegać Łatwe sprawdzanie wymagań serwera i spróbuj naprawić nieprawidłowe walidacje
- kopii zapasowych bazy danych
- pobierz najnowszy pakiet ze Strefy Klienta
- upewnić się, że serwer WWW ma Pełny dostęp publicznego, plików dziennika, tmp teczki
- biegać Wiązka instalacji --without testu rozwoju
- biegać bundle exec natarcia easyproject: zainstaluj RAILS_ENV = produkcja
- restart serwera aplikacji
- usuwać jakichkolwiek wtyczek Redmine 3rd stron (również z bazy danych)
- napisz do nas na support@easyredmine.com i dołącz plik log / production.log
Istnieje wiele możliwych przyczyn tego błędu. Oto kilka wskazówek:
- Problem cache przeglądarki - spróbuj usunąć cache z przeglądarki
- problem dns
- Problem ustawienia serwera
Najpierw sprawdź połączenie i sieć (sprawdź, czy serwer jest osiągalny, używając polecenia ping lub polecenia traceroute). Strona serwera zapory.
Jeśli wszystko powyższe wydaje się w porządku, spróbuj uzyskać informacje z nginx error.logs. Sprawdź plik nginx error.log po stronie serwera - /var/log/nginx/error.log
Dokładnie sprawdzić, czy konfiguracja nginx odpowiada standardowi. Konfiguracja standardowa nginx można znaleźć tutaj:
https://www.redmine.org/projects/redmine/wiki/HowTo_configure_Nginx_to_run_Redmine
Przykład konfiguracji nginx (jaki jest stosowany przez Easy Software). Jest bardzo podobny do oficjalnego tylko kilka zmienne są zoptymalizowane:
użytkownika www-data;
work_processes 8;
worker_rlimit_nofile 60000;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
zdarzenia {
worker_connections 10240;
# Multi_accept dalej;
}
http {
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # nie używaj SSLv3 ref: POODLE
dołącz /etc/nginx/mime.types;
default_type application / octet-stream;
server_names_hash_bucket_size 2048;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
send_timeout 1800;
client_body_timeout 1800;
client_header_timeout 1800;
proxy_read_timeout 1800;
client_max_body_size 220m;
fastcgi_buffer_size 64K;
fastcgi_buffers 128 16k;
proxy_max_temp_file_size 0;
types_hash_max_size 4096;
types_hash_bucket_size 128;
proxy_busy_buffers_size 256k;
proxy_buffers 8 256k;
proxy_buffer_size 256k;
gzip on;
gzip_disable "MSIE [1-6] \. (* SV1?!).";
obejmują /etc/nginx/conf.d/*.conf;
include / etc / nginx / strony obsługującej / *;
include / etc / nginx / strony-auto / *;
}
Inne możliwe przyczyny błędu 502 to ...
Unicorn nie działa w ogóle, ze względu na
- niewystarczające uprawnienia
- Błędna wersja pasażera
- Błędna wersja Ruby
- Brakujące kamienie
- złamane plików
Aby dowiedzieć się dokładnie problem, trzeba sprawdzić logi błędów w jednorożec lub apache + dzienniku aplikacji z łatwym Redmine (log / production.log)
Timeout
Jeśli niski limit czasu jest skonfigurowany ten błąd pojawi się na:
- duże eksport
- przeciążenie serwera
- Zadania natarcia uruchomić z GUI
Limit połączeń MySQL
Upewnij się, że masz wystarczającą liczbę połączeń dozwolonych do MySQL. To zależy od liczby użytkowników, ale trzeba mieć co najmniej 100 dozwolone.
Ten błąd występuje w wersji 2018 1.2 (platforma 04.00 i nowsze)
Błąd podczas instalacji uaktualnienia zawierającej niektóre z poniższych.
[!] Wystąpił błąd podczas analizowania `Gemfile`:
[!] Wystąpił błąd podczas parsowania `Gemfile`: nie można załadować takiego pliku -
# plugin 'rys-bundler', github: 'easysoftware / rys-bundler', branch: 'master'> Plugin.hook ('rys-gemfile', self)
Bundler nie może kontynuować.
Jest to spowodowane nieaktualną wersją instalatora redmine.
Rozwiązanie:
Przed zainstalowaniem aktualizacji
$ gem zainstaluj redmine-installer
Ten problem występuje, jeśli korzystasz przyrostek na URL Łatwy Redmine, na przykład: https://company.com/easyredmine/
W tym przypadku trzeba się upewnić, że masz zmienną RAILS_RELATIVE_URL_ROOT skonfigurowany do prawidłowego przyrostkiem / easyredmine
BitNami:
- Tworzenie dodatkowego pliku konfiguracyjnego config / additional_environment.rb
- config.action_controller.relative_url_root = "/ easyredmine"
- Następnie aktywa prekompilacji (prowizja easyproject: zainstaluj RAILS_ENV = produkcja) i zrestartować serwer
Upewnij się, wkhtmltopdf jest zainstalowany i działa (wkhtmltopdf wymaga serwera X lub innej emulacji)
Przetestować go przy użyciu: "wkhtmltopdf google.com google.pdf"
Dodaj do konfiguracji serwera proxy:
proxy_set_header x przekazane proto HTTPS
Sprawdź konfigurację cron. Jest to bardzo ważne, że są zadania Rake NIE prowadzony przez root. Będzie to spowodować awarię z powodu niewystarczających uprawnień.
Powiedzmy, że działają zgodnie z użytkownikiem Łatwa Redmine łatwe. Polecenia są:
Zobacz aktywne crons crontab -l -u łatwe
Edycja crontab -u łatwe -e
Zatwierdź zmiany sudo service cron reload
Przykład działa crona co 5 minut:
* / 5 * * * * /home/easy/scripts/easy_scheduler.sh &> / dev / null
#! / bin / bash -l
LOG_FILE = "/ home / easy / current / log / easy_scheduler_rake.log"
echo "$ (date '+% Y-% m-% d% H:% M:% S') start rake" >> $ {LOG_FILE}
cd / home / easy / current && bundle exec rake easyproject: scheduleer: run_tasks RAILS_ENV = produkcja >> $ {PLIK_LOGU}
echo "$ (date '+% Y-% m-% d% H:% M:% S') end rake" >> $ {LOG_FILE}
/home/easy/scripts/easy_scheduler.sh musi być plikiem wykonywalnym:
sudo chmod + x /home/easy/scripts/easy_scheduler.sh
Nie wahaj się szukać w Internecie dla bardziej precyzyjnej instrukcji, aby skonfigurować cron na serwerze. To nie jest wyłącznie wymagana Łatwy Redmine funkcji.
Gdy aktualizujesz Łatwy Redmine na platformie Windows i kliknij na komunikat o błędzie ExecJs :: RuntimeError
Wszystko co musisz zrobić, to zainstalować NODEJS w systemie dla właściwego aktualizacji.
Jeśli instalacja nie powiedzie się, należy uruchomić ręcznie:
$ Pakiet aktualizacji
$ Rake db: migrować
$ Redmine Rake: plugins: migracja
Upewnij się, że Twój serwer obsługuje rzeczywisty rozmiar adres URL
Upewnij się, że jesteś NIE używając WEBrick serwer!
- Sprawdź, czy masz najnowszą wersję serwera WWW i Ruby
- konfigurować powolnych zapytań filtrujących, aby pokazać mniej pól
- zresetować Cię CRON nie tak często, aby uruchomić
- odnoszą się do tego studium przypadku - Poręcze przyspieszyć bez dotykania kodu Ruby
- sprawdzić konfigurację - https://www.easyredmine.com/resources/installation/1885-recommended-optimal-configuration-of-easy-redmine-server
Skopiuj pliki Folder ze starego Redmine.
Można zmienić domyślne położenie plików w pliku konfiguracyjnym Redmine lub można użyć dowiązania symbolicznego. LAN lub cloud oparte magazyny sieciowe dla załączniki są nie zaleca się z powodu niezawodność problemy.
Konfiguracja:
./config/configuration.yml
# Bezwzględna ścieżka do katalogu, w którym przechowywane są załączniki.
# Domyślnie jest to katalog „files” w Redmine instancji.
# Twój EasyRedmine instancji musi mieć uprawnienia do odczytu / zapisu w tym katalogu.
# Przykłady: attachments_storage_path: / var / www / Redmine / pliki
Rozwiązywanie problemów:
Jeśli nie można otworzyć załącznik, zobacz ./log/production.log dla typowych błędów:
Nie można wysłać załącznik, /var/www/redmine/files/2015/08/150805095407_xxx.PNG Nie istnieje lub jest nieczytelny
ENOENT, Permission Denied... Etc.
Upewnij się, że Twój serwer WWW ma Pełny dostęp publicznego, plików dziennika, tmp teczki
Nowe Zobowiązuje do swojego repozytorium nie są odzwierciedlane w łatwym Redmine ile nie zostały one pobrane przez aplikację. Musisz ustawić webhooks na własną repozytorium klient (Github, gitlab, TortoiseSVN, ...) z informacjami o przykład Łatwy Redmine.
- Iść do administracja >> ustawienia >> repozytoria
- Włącz WS zarządzania repozytorium
- Generowanie klucza API
- Zapisz
- Idź do swojego repozytorium klienta
- Dodaj webhook
Załóżmy, że Twoja strona jest easyredmine.company.com
Dla git - https://easyredmine.company.com/ Sys / git_fetcher
lub https://easyredmine.company.com/ Sys / git_fetcher? Key =[Klucz API]
- w zależności od ustawienia klienta, może wymagać pojedynczy adres URL lub klucz do innej dziedzinie
Dla SVN - https://easyredmine.company.com/ sys / fetch_changesets
lub https://easyredmine.company.com/ Sys / fetch_changesets? Key =[Klucz API]
Z punktu 5, to wszystko zależy od repozytorium klienta i nie związane z ustawieniami Łatwy Redmine. To jest coś, należy zweryfikować po czystej instalacji lub uaktualnienia z Redmine.
Podczas konfigurowania domenę Łatwy Redmine, należy użyć przynajmniej pierwsze domeny najwyższego poziomu, na przykład http://myeasyredmine.com zamiast zwykłego http: // myeasyredmine. Niektóre przeglądarki mogą mieć problem z dotarciem go.
Przejdź do Administracja >> Ustawienia >> Powiadomienia e-mail
i sprawdź, czy adres FROM jest poprawny.
Powinien być taki sam (lub przynajmniej z tego samego serwera SMTP), jak w pliku konfiguracyjnym. W przeciwnym razie niektóre usługi pocztowe (gmail, yahoo itp.) Mogą odrzucać powiadomienia.
Sprawdź konfigurację według ten artykuł w bazie wiedzy.
Aby sprawdzić, czy konfiguracja jest poprawna, spróbuj sprawdzić, czy można połączyć się z serwerem poczty z serwera Easy Redmine za pomocą telnetu.
telnet your.domain.here numer_portu (na przykład: telnet gmail.com 465)
Pokaże ci, czy naprawdę możesz połączyć się ze swoim serwerem pocztowym, czy jest problem z konfiguracją twojego serwera poczty.
Podczas próby wyeksportowania pliku PDF, który powoduje błąd (lub działa tak, jakby nic się nie działo). Dziennik produkcji wyświetlałby błąd podobny do
Errno :: EPIPE (Broken pipe) or Wkhtmltopdf: nie można połączyć się z serwerem X.
Przyczyną problemów z eksportowaniem komponentu wkhtmltopdf
Oto proponowane rozwiązania.
Serwer bezgłowy
Pobierz niezbędną wersję pliku wkhtmltopdf z http://wkhtmltopdf.org/downloads.html
Przykład (musisz pracować ze szczegółami własnego środowiska):
- sudo apt-get zainstaluj xvfb xauth
- wget https://bitbucket.org/wkhtmltopdf/wkhtmltopdf/downloads/wkhtmltox-0.13.0-alpha-7b36694_linux-jessie-amd64.deb
- sudo dpkg -i wkhtmltox-0.13.0-alpha-7b36694_linux-jessie-amd64.deb
- sudo apt-get -f install
- sudo mv / usr / local / bin / wkhtmltopdf / usr / local / bin / xwkhtmltopdf
- echo 'exec xvfb-run -a -s "-screen 0 640x480x16" xwkhtmltopdf "$ @"' | sudo tee / usr / local / bin / wkhtmltopdf> / dev / null
- sudo chmod a + x / usr / local / bin / wkhtmltopdf
Tylko serwer bezgłowy
- Musisz mieć wkhtmltopdf zainstalowany na serwerze w PATH
(Apt-get install wkhtmltox, yum install wkhtmltox)
Musi on być zainstalowany w Bundler, w przeciwnym razie może nie działać po aktualizacji Łatwa Redmine - Upewnij się, że program działa poprawnie (uruchamiany z konsoli na przykład wkhtmltopdf https://easyredmine.com homepage.pdf)
- re-run natarcia easyproject: zainstalować RAILS_ENV = produkcja
- restart serwera
Masz zainstalowane lub zaktualizowane Łatwa Redmine pod użytkownika z niewystarczających uprawnień, nie po naszej silnej rekomendacji w instrukcje (Co najmniej raz w przeszłości).
- Odpowiednich uprawnień za pomocą poleceń chgrp i chown w zależności od ustawień serwera (np. chgrp -R www-data public_html)
- ponownie uruchomić instalację bundle exec natarcia easyproject: zainstaluj RAILS_ENV = produkcja który będzie wyczyścić pamięć podręczną (po uruchomieniu go przez administratora, będzie nie będzie udany)
- restart serwera
Jeśli korzystasz z urządzenia wirtualny udostępniany przez Easy Software, uruchomić pod użytkownikiem łatwo:
sudo chown -R easy / home / easy / current
(w starszych maszynach - sudo chown -R easy / srv / easyredmine / public_html)
sudo chgrp -R easy / home / easy / current
(w starszych komputerach - sudo chgrp -R easy / srv / easyredmine / public_html)
cd / home / easy / current
(w starszych komputerach - cd / srv / easyredmine / public_html)
bundle exec natarcia easyproject: zainstaluj RAILS_ENV = produkcja
usługa sudo puma@twoja.nazwa.domeny restart
Pamiętaj, aby ustawić uprawnienia do wszystkich niezbędnych folderów.
Podczas aktualizacji aplikacji pojawia się komunikat o błędzie zawierający „Masz błąd w składni SQL; sprawdź podręcznik, który odpowiada Twojej wersji serwera MySQL, aby uzyskać właściwą składnię do użycia near ... ”pojawia się w dzienniku.
Spowodować
Oznacza to, że Twoja baza danych jest nieaktualna i nie może działać z żądaniem, które wysyła do niej nasza aplikacja. Po prostu tego nie rozumie.
Rozwiązanie
Musisz zaktualizować swoją bazę danych.
Jak zaktualizować bazę danych?
Szczegółowy opis w Blog.
Instalacja wtyczki
- NIE instalować wtyczek jako użytkownik root
- Najpierw usuń wszystkie stare wtyczki Easy Gantt, jeśli istnieją (plugins/easy_gantt*)
- Skopiuj wszystkie rozpakowane wtyczki do REDMINE_ROOT/plugins
- W REDMINE_ROOT
Biegać: |
$ Bundle install |
- (lub aktualizacja pakietu) |
$ pakiet exec rake db:migrate RAILS_ENV=produkcja |
$ pakiet exec rake redmine:plugins:migrate RAILS_ENV=produkcja |
Następnie uruchom ponownie serwer.
Wymagania dla udanej instalacji
- Wersja Redmine: Kompatybilna z Redmine 3.2.x, 3.3.x, 3.4.x, 4.x., 5.x.
- Wersja Ruby: 2.3 + (zalecane 2.6).
- Typ bazy danych: MySQL (zalecany), PostgreSQL
Wykonaj procedurę instalacji w #zainstalować, Sprawdź, czy dziennika instalacji nie zawiera żadnych błędów. Jeśli tak, spróbuj go rozwiązać zgodnie z opisem lub kontakt support@easyredmine.com z odcinkiem błędu dziennika dołączony.
Instalacja na Bitnami
Bitnami nie jest testowane ani gwarantowane. Jeśli instalacja nie powiedzie się, uruchom ręcznie:
Biegać: |
$ Pakiet aktualizacji |
$ Rake db: migrować |
$ Redmine Rake: plugins: migracja |