Běžné problémy s instalací a aktualizací Redmine.
Jelikož jsou jak Redmine, tak Easy Redmine Open Source a jsou více méně nezávislé na platformě, mohou se vyskytnout problémy s instalací a aktualizací kvůli různým konfiguracím serveru, verzím softwaru nebo nainstalovaným pluginům. Snažíme se pečlivě sledovat ty nejčastější, abychom vám pomohli s odstraňováním problémů.
Při aktualizaci aplikace se v protokolu objeví chybová zpráva obsahující "Máte chybu ve své SQL syntaxi; zkontrolujte manuál, který odpovídá vaší verzi MySQL serveru pro správnou syntaxi použití v blízkosti..."
Příčina
Znamená to, že vaše databáze je zastaralá a nemůže pracovat s požadavkem, který na ni naše aplikace posílá. Jednoduše ho nerozumí.
Řešení
Musíte aktualizovat svou databázi.
Jak aktualizovat databázi?
Podrobný popis v Knowledge base.
Instalovali jste nebo aktualizovali Easy Redmine pod uživatelem s nedostatečnými oprávněními, nesledující naše silné doporučení v instrukcích (alespoň jednou v minulosti).
- Správná oprávnění pomocí příkazů chgrp a chown podle nastavení serveru (např. chgrp -R www-data public_html)
- Spusťte instalaci znovu bundle exec rake easyproject:install RAILS_ENV=production, která vymaže cache (pokud ji spustíte jako root, nebude úspěšná)
- Restartujte server
Pokud používáte virtuální stroj poskytovaný společností Easy Software, spusťte pod uživatelem easy:
sudo chown -R easy /home/easy/current
(v starších strojích - sudo chown -R easy /srv/easyredmine/public_html)
sudo chgrp -R easy /home/easy/current
(v starších strojích - sudo chgrp -R easy /srv/easyredmine/public_html)
cd /home/easy/current
(v starších strojích - cd /srv/easyredmine/public_html)
bundle exec rake easyproject:install RAILS_ENV=production
sudo service puma@your.domain.name restart
Nezapomeňte nastavit oprávnění pro všechny potřebné složky.
Zde jsou některé tipy, co můžete udělat, pokud narazíte na chybu 500.
- spusťte Easy server requirements check a zkuste opravit selhání ověření
- zazálohujte svou databázi
- stáhněte nejnovější balíček z Klientské zóny
- ujištěte se, že webový server má Plný přístup veřejné, soubory, log, tmp složky
- spusťte bundle install --without development test
- spusťte bundle exec rake easyproject:install RAILS_ENV=production
- restartujte aplikační server
- smazat jakékoliv pluginy Redmine od třetích stran (také z databáze)
- napište nám na support@easyredmine.com a přiložte log/production.log
There are many possible causes of this error. Here are a few tips:
- browser cache problem - try deleting cache from the browser
- dns problem
- server setting problem
First check your connection and network (verify that server is reachable by using a ping command or traceroute command). Firewall server side.
If all above seems fine, try to get some information from nginx error.logs. Check nginx error.log at the server side - /var/log/nginx/error.log
Double check that your nginx configuration matches the standard. Standard nginx configuration can be found here:
https://www.redmine.org/projects/redmine/wiki/HowTo_configure_Nginx_to_run_Redmine
Example of an nginx configuration (as is used by Easy Software). It's quite similar to official one only few variables are optimized:
user www-data;
worker_processes 8;
worker_rlimit_nofile 60000;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 10240;
# multi_accept on;
}
http {
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # dont use SSLv3 ref: POODLE
include /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)";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
include /etc/nginx/sites-auto/*;
}
Other possible causes of 502 error include...
Unicorn is not running at all, due to
- Insufficient permissions
- Wrong version of passenger
- Wrong Ruby version
- Missing gems
- Broken filesystem
To find out the exact problem, you need to check error logs in unicorn or apache + application log from Easy Redmine (log/production.log)
Timeout
Pokud je nastaven nízký timeout, tato chyba se objeví při:
- velkých exportech
- přetížení serveru
- spouštění rake úloh z GUI
Limit připojení k MySQL
Ujistěte se, že máte dostatečný počet povolených připojení k MySQL. Záleží to na počtu uživatelů, ale měli byste mít povoleno alespoň 100 připojení.
Tato chyba se vyskytuje od verze 2018 1.2 (platforma 04.00 a vyšší).
Chyba během instalace aktualizace obsahuje některé z následujících.
[!] Došlo k chybě při zpracování souboru `Gemfile`:
[!] Došlo k chybě při zpracování souboru `Gemfile`: nelze načíst takový soubor --
# plugin 'rys-bundler', github: 'easysoftware/rys-bundler', branch: 'master' > Plugin.hook('rys-gemfile', self)
Bundler nemůže pokračovat.
Je to způsobeno zastaralou verzí instalátoru redmine.
Řešení:
Před instalací aktualizace
$ gem install redmine-installer
- Vytvořte další konfigurační soubor config/additional_environment.rb
- config.action_controller.relative_url_root = "/easyredmine"
- poté zkompilujte prostředky (rake easyproject:install RAILS_ENV=production) a restartujte server
Ujistěte se, že je nainstalován a spuštěn wkhtmltopdf ( wkhtmltopdf potřebuje X server nebo jinou emulaci)
Vyzkoušejte to pomocí: "wkhtmltopdf google.com google.pdf"
Přidejte do vaší konfigurace proxy:
proxy_set_header X-Forwarded-Proto https
Při aktualizaci Easy Redmine na platformě Windows a výskytu chybové zprávy ExecJs ::RuntimeError
Vše, co musíte udělat, je nainstalovat NODEJS na svůj systém pro správnou aktualizaci.
Pokud instalace selže, spusťte manuálně:
$ bundle update
$ rake db:migrate
$ rake redmine:plugins:migrate
Ujistěte se, že váš webový server podporuje skutečnou velikost URL adresy
Ujistěte se, že NEPOUŽÍVÁTE webový server Webrick!
- ujištěte se, že máte nejnovější verzi webového serveru a Ruby
- překonfigurujte pomalé dotazování filtrů tak, aby zobrazovalo méně polí
- resetujte svůj CRON, aby se neaktivoval tak často
- odkaz na tuto studii případu - Zrychlení Rails bez dotyku kódu Ruby
- zkontrolujte svou konfiguraci - https://www.easyredmine.com/resources/installation/1885-recommended-optimal-configuration-of-easy-redmine-server
Zkopírujte složku souborů z vašeho starého Redmine.
Výchozí umístění souborů v Redmine můžete změnit v konfiguračním souboru Redmine nebo můžete použít symbolický odkaz. Síťová úložiště LAN nebo cloudové úložiště pro přílohy není doporučeno kvůli problémům s spolehlivostí.
Konfigurace:
./config/configuration.yml
# Absolutní cesta k adresáři, kde jsou přílohy uloženy.
# Výchozí umístění je adresář 'files' ve vaší instanci Redmine.
# Vaše instance EasyRedmine musí mít oprávnění pro čtení a zápis do tohoto adresáře.
# Příklady: attachments_storage_path: /var/www/redmine/files
Řešení problémů:
Pokud nemůžete otevřít přílohu, podívejte se do ./log/production.log pro běžné chyby:
Nelze odeslat přílohu, /var/www/redmine/files/2015/08/150805095407_xxx.PNG neexistuje nebo není čitelný
ENOENT, Odmítnuto oprávnění... atd.
Ujistěte se, že váš webový server má plný přístup k složkám public, files, log, tmp s přístupem pro všechny uživatele.
Nové commity v vašem repozitáři se nezobrazí v Easy Redmine, pokud nejsou staženy aplikací. Musíte nastavit webhooks na vašem klientském repozitáři (github, gitlab, TortoiseSVN,...) s informacemi o vaší instanci Easy Redmine.
- Přejděte do správy >> nastavení >> repozitáře
- Aktivujte WS pro správu repozitářů
- Vytvořte API klíč
- Uložte
- Přejděte na váš klientský repozitář
- Přidejte webhook
Předpokládejme, že vaše stránka je easyredmine.company.com
Pro git - https://easyredmine.company.com/sys/git_fetcher
nebo https://easyredmine.company.com/sys/git_fetcher?key=[API klíč]
- v závislosti na nastavení klienta může vyžadovat jedinou URL adresu nebo klíč do jiného pole
Pro SVN - https://easyredmine.company.com/sys/fetch_changesets
nebo https://easyredmine.company.com/sys/fetch_changesets?key=[API klíč]
Od bodu 5 je to vše na klientském repozitáři a nesouvisí s nastavením Easy Redmine. Je to něco, co musíte ověřit po čisté instalaci nebo po aktualizaci z Redmine.
Při konfiguraci domény vašeho Easy Redmine se ujistěte, že používáte alespoň doménu první úrovně, například http://myeasyredmine.com místo pouhého http://myeasyredmine. Některé prohlížeče s ním mohou mít problém.
Přejděte do Administrace >> Nastavení >> Emailová upozornění
a ověřte, že adresa ODPOVĚĎ je správná.
Měla by být stejná (nebo alespoň z toho samého SMTP serveru) jako v konfiguračním souboru. Jinak některé emailové služby (gmail, yahoo, atd.) mohou upozornění odmítnout.
Zkontrolujte svou konfiguraci podle této článku v databázi znalostí.
Pro ověření, že konfigurace je správná, zkuste zkontrolovat, zda se můžete připojit k mail serveru ze svého serveru Easy Redmine pomocí telnetu.
telnet vaše.domena.zde číslo_portu_zde (například: telnet gmail.com 465)
Ukáže vám, zda se skutečně můžete připojit k vašemu mailserveru, nebo zda existuje problém v konfiguraci vašeho mailserveru.
Při pokusu o export PDF souboru se může objevit chyba (nebo se nic nestane). Produkční log bude obsahovat chybovou hlášku podobnou
Errno::EPIPE (Broken pipe) nebo wkhtmltopdf: cannot connect to X server
Problém způsobený exportním komponentem wkhtmltopdf
Zde jsou navržená řešení.
Headless server
Získejte potřebnou verzi wkhtmltopdf z http://wkhtmltopdf.org/downloads.html
Příklad (musíte pracovat s podrobnostmi vašeho vlastního prostředí):
- sudo apt-get install 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
Pouze pro non-headless server
- Musíte mít nainstalovaný wkhtmltopdf na vašem serveru v PATH
(apt-get install wkhtmltox, yum install wkhtmltox)
Musí být nainstalován v bundleru, jinak by nemusel fungovat po aktualizaci Easy Redmine - Ujistěte se, že program funguje správně (spusťte například z konzole wkhtmltopdf https://easyredmine.com homepage.pdf)
- znovu spusťte rake easyproject:install RAILS_ENV=production
- restartujte server
Instalace pluginu
- NEinstalujte pluginy jako uživatel ROOT
- Nejprve odstraňte všechny staré pluginy Easy Gantt, pokud existují (plugins/easy_gantt*)
- Zkopírujte všechny rozbalené pluginy do REDMINE_ROOT/plugins
- V REDMINE_ROOT
Spusťte: |
$ bundle install |
- (nebo bundle update) |
$ bundle exec rake db:migrate RAILS_ENV=production |
$ bundle exec rake redmine:plugins:migrate RAILS_ENV=production |
Poté restartujte server.
Požadavky pro úspěšnou instalaci
- Verze Redmine: Kompatibilní s Redmine 3.2.x, 3.3.x, 3.4.x, 4.x.
- Verze Ruby: 2.3+ (doporučeno 2.6.)
- Typ databáze: MySQL (doporučeno), PostgreSQL
Následujte postup instalace v #install. Ověřte, zda instalační protokol neobsahuje žádné chyby. Pokud ano, snažte se je řešit podle popisu nebo kontaktujte support@easyredmine.com s připojeným chybovým oddílem protokolu.
Instalace na Bitnami
Bitnami není testováno ani zaručeno. Pokud instalace selže, spusťte ručně:
Spusťte: |
$ bundle update |
$ rake db:migrate |
$ rake redmine:plugins:migrate |