Gyakori Redmine telepítési és frissítési problémák
Mivel mind a Redmine, mind az Easy Redmine nyílt forráskódúak és többé-kevésbé platformfüggetlenek, előfordulhatnak telepítési és frissítési problémák különböző szerverkonfigurációk, szoftververziók vagy telepített bővítmények miatt. Keményen dolgozunk azon, hogy nyomon kövessük a leggyakoribbakat, hogy segíthessünk a hibaelhárításban.
Alkalmazás frissítése közben hibaüzenet jelenik meg a naplóban, amely tartalmazza a "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ..." szöveget.
Ok
Ez azt jelenti, hogy az adatbázis elavult, és nem tud működni az alkalmazásunk által küldött kéréssel. Egyszerűen nem érti.
Megoldás
Frissíteni kell az adatbázist.
Hogyan frissítsük az adatbázist?
Részletes leírás a Tudásbázisban.
Telepítette vagy frissítette az Easy Redmine-t olyan felhasználói fiókkal, amelynek nincsenek megfelelő engedélyei, nem követve a mi erős ajánlásunkat az utasításokban (legalább egyszer a múltban).
- Corrigálja az engedélyeket a szerverbeállításoknak megfelelően a chgrp és chown parancsokkal (pl. chgrp -R www-data public_html)
- Futtassa újra a telepítést a bundle exec rake easyproject:install RAILS_ENV=production parancs segítségével, amely törli a gyorsítótárat (ha root-ként futtatja, akkor nem lesz sikeres)
- Indítsa újra a szervert
Ha az Easy Software által biztosított virtuális gépet használja, futtassa az easy felhasználóval:
sudo chown -R easy /home/easy/current
(az idősebb gépeken - sudo chown -R easy /srv/easyredmine/public_html)
sudo chgrp -R easy /home/easy/current
(az idősebb gépeken - sudo chgrp -R easy /srv/easyredmine/public_html)
cd /home/easy/current
(az idősebb gépeken - cd /srv/easyredmine/public_html)
bundle exec rake easyproject:install RAILS_ENV=production
sudo service puma@your.domain.name restart
Ne felejtse el beállítani az összes szükséges mappa engedélyeit.
Itt van néhány tipp, hogy mit tehetsz, ha 500-as hibába ütközöl.
- futtasd az Easy szerverkövetelmény-ellenőrzőt és próbáld meg kijavítani a sikertelen ellenőrzéseket
- készíts biztonsági mentést az adatbázisodból
- töltsd le a legújabb csomagot a Kliens Zónából
- győződj meg róla, hogy a webszervernek Teljes hozzáférése van a public, files, log, tmp mappákhoz
- futtasd a bundle install --without development test parancsot
- futtasd a bundle exec rake easyproject:install RAILS_ENV=production parancsot
- indítsd újra az alkalmazás szerverét
- töröld az összes harmadik fél Redmine bővítményt (az adatbázisból is)
- írj nekünk a support@easyredmine.com címre és csatold a log/production.log fájlt
Sok lehetséges okozója lehet ennek a hibának. Itt van néhány tipp:
- böngésző gyorsítótár probléma - próbálja törölni a gyorsítótárat a böngészőből
- dns probléma
- szerver beállítási probléma
Először ellenőrizze a kapcsolatát és hálózatát (ellenőrizze, hogy a szerver elérhető-e a ping parancs vagy a traceroute parancs használatával). Tűzfal szerver oldalon.
Ha mindez rendben van, próbáljon meg információt szerezni az nginx hibanaplóiból. Ellenőrizze az nginx hibanaplóját a szerver oldalán - /var/log/nginx/error.log
Ellenőrizze, hogy az nginx konfigurációja megfelel-e a szabványnak. Az alapértelmezett nginx konfiguráció itt található:
https://www.redmine.org/projects/redmine/wiki/HowTo_configure_Nginx_to_run_Redmine
Egy nginx konfiguráció példája (amelyet az Easy Software használ). Nagyon hasonló az hivataloshoz, csak néhány változó van optimalizálva:
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; # ne használja az SSLv3-at, lásd: 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/*;
}
A 502 hiba más lehetséges okai közé tartozik...
A Unicorn egyáltalán nem fut, mert
- Nincs elegendő engedély
- Rossz passenger verzió
- Rossz Ruby verzió
- Hiányzó gyöngyök
- Törött fájlrendszer
A pontos probléma megállapításához ellenőriznie kell a hibanaplókat az unicorn vagy az apache + az Easy Redmine alkalmazásnaplójából (log/production.log)
Időtúllépés
Ha alacsony időkorlát van beállítva, akkor ez a hiba megjelenik:- nagy exportoknál
- a szerver túlterhelésekor
- rake feladatok futtatásakor a GUI-ból
MySQL kapcsolatok korlátja
Győződjön meg róla, hogy elegendő számú kapcsolat engedélyezett a MySQL-hez. Ez a felhasználók számától függ, de legalább 100 engedélyezettnek kell lennie.
Ez a hiba a 2018 1.2 verziótól kezdődően fordul elő (04.00 és magasabb platform).
Hiba történt az frissítés telepítése közben, amely az alábbiak egyikét tartalmazza.
[!] Hiba történt a `Gemfile` értelmezésekor:
[!] Hiba történt a `Gemfile` értelmezésekor: nem lehet betölteni a fájlt --
# plugin 'rys-bundler', github: 'easysoftware/rys-bundler', branch: 'master' > Plugin.hook('rys-gemfile', self)
A Bundler nem tud folytatódni.
Ez az elavult verziója a redmine telepítőnek köszönhető.
Megoldás:
Mielőtt telepítené a frissítést
$ gem install redmine-installer
- Hozzon létre egy további konfigurációs fájlt a config/additional_environment.rb-ben
- config.action_controller.relative_url_root = "/easyredmine"
- majd előkészítse az erőforrásokat (rake easyproject:install RAILS_ENV=production) és indítsa újra a szervert
Győződjön meg róla, hogy a wkhtmltopdf telepítve van és fut ( wkhtmltopdf X szerverre vagy más emulációra van szüksége)
Tesztelje ezt: "wkhtmltopdf google.com google.pdf"
Add to your proxy configuration:
proxy_set_header X-Forwarded-Proto https
Check cron configuration. It is very important that rake tasks are NOT run by root. It will cause failure due to insufficient permissions.
Let's say you are running Easy Redmine under user easy. The commands are:
View active crons crontab -u easy -l
Editing crontab -u easy -e
Apply changes sudo service cron reload
Example for running cron every 5 minutes:
*/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:scheduler:run_tasks RAILS_ENV=production >> ${LOG_FILE}
echo "$(date '+%Y-%m-%d %H:%M:%S') end rake" >> ${LOG_FILE}
/home/easy/scripts/easy_scheduler.sh has to be an executable:
sudo chmod +x /home/easy/scripts/easy_scheduler.sh
Don't hesitate to search the internet for a more precise manual to set up cron on your server. It is not an exclusively Easy Redmine required function.
Amikor az Easy Redmine-t frissíted a Windows platformon, és hibaüzenetet kapsz a ExecJs ::RuntimeError kapcsán
Minden, amit tenned kell, az az, hogy telepíted a NODEJS-t a megfelelő frissítéshez.
Győződjön meg róla, hogy webszervere támogatja az URL-címek tényleges méretét
Győződjön meg róla, hogy NEM használja a Webrick webszervert!
- győződjön meg róla, hogy a webszerver és a Ruby legfrissebb verzióját használja
- állítsa át a lassú szűrőlekérdezéseket, hogy kevesebb mezőt jelenítsen meg
- állítsa vissza a CRON-t, hogy ne induljon el olyan gyakran
- tekintse meg ezt az esettanulmányt - Rails sebesség növelése Ruby kód módosítása nélkül
- ellenőrizze a konfigurációját - https://www.easyredmine.com/resources/installation/1885-recommended-optimal-configuration-of-easy-redmine-server
Másolja át a fájlokat a régi Redmine mappából.
Az alapértelmezett fájlok helyét megváltoztathatja a Redmine konfigurációs fájljában, vagy használhat egy szimbolikus linket. A LAN vagy a felhő alapú hálózati tárolók a mellékletekhez nem ajánlottak a megbízhatósági problémák miatt.
Konfiguráció:
./config/configuration.yml
# Az a teljes elérési út, ahol a mellékletek vannak.
# Az alapértelmezett a 'files' mappa a Redmine példányában.
# Az EasyRedmine példányának olvasási / írási engedélyekkel kell rendelkeznie ebben a mappában.
# Példák: attachments_storage_path: /var/www/redmine/files
Hibaelhárítás:
Ha nem tudja megnyitni a mellékletet, tekintse meg a ./log/production.log fájlt a gyakori hibákért:
Nem lehet mellékletet küldeni, /var/www/redmine/files/2015/08/150805095407_xxx.PNG nem létezik, vagy nem olvasható
ENOENT, Engedély megtagadva... stb.
Győződjön meg róla, hogy webkiszolgálója teljes hozzáféréssel rendelkezik a Public, Files, Log, Tmp mappákhoz
Az Easy Redmine-ban az új commitok nem jelennek meg, hacsak az alkalmazás nem hívja le őket. Be kell állítania a webhorgokat az adattároló kliensén (github, gitlab, TortoiseSVN,...) az Easy Redmine példányával kapcsolatos információkkal.
- Menjen az adminisztráció >> beállítások >> adattárolók oldalra
- Engedélyezze az WS-t az adattároló kezeléséhez
- Generáljon egy API-kulcsot
- Mentés
- Menjen az adattároló klienséhez
- Adjunk hozzá egy webhorgot
Tegyük fel, hogy az oldala easyredmine.company.com
Git-hez - https://easyredmine.company.com/sys/git_fetcher
vagy https://easyredmine.company.com/sys/git_fetcher?key=[API-kulcs]
- a kliens beállításaitól függően lehet, hogy csak egy URL-t vagy a kulcsot kell beírni egy másik mezőbe
SVN-hez - https://easyredmine.company.com/sys/fetch_changesets
vagy https://easyredmine.company.com/sys/fetch_changesets?key=[API-kulcs]
Az 5. ponttól kezdve az adattároló kliens felelős, és nem kapcsolódik az Easy Redmine beállításaihoz. Ez valami, amit tiszta telepítés vagy Redmine frissítés után ellenőriznie kell.
Amikor az Easy Redmine domainjét konfigurálja, győződjön meg róla, hogy legalább az első szintű domaint használja, például http://myeasyredmine.com helyett csak http://myeasyredmine. Néhány böngészőnek problémái lehetnek azzal, hogy elérjék.
Menj az Adminisztrációba >> Beállítások >> Email értesítésekhez
és ellenőrizd, hogy a FELADÓ címe helyes-e.
Ez ugyanaznak kell lennie (vagy legalábbis ugyanabból az SMTP szerverből kell származnia), mint a konfigurációs fájlban. Ellenkező esetben néhány e-mail szolgáltatás (gmail, yahoo, stb.) elutasíthatja az értesítéseket.
Ellenőrizd a konfigurációt a Tudásbázisban található cikk szerint.
Az ellenőrzéshez, hogy a konfiguráció helyes-e, próbáld meg ellenőrizni, hogy a mail szerverhez csatlakozhatsz-e az Easy Redmine szerverről a telnet használatával.
telnet your.domain.here port_number_here (Például: telnet gmail.com 465)
Ez megmutatja, hogy valóban csatlakozni tudsz-e a mail szerverhez, vagy probléma van a mail szerver konfigurációjában.
Errno :: EPIPE (Broken pipe) vagy wkhtmltopdf: cannot connect to X server
A wkhtmltopdf komponens exportálásával kapcsolatos problémák által okozott.
Itt vannak a javasolt megoldások.
Fej nélküli szerver
Szerezze be a szükséges verziójú wkhtmltopdf-et a http://wkhtmltopdf.org/downloads.html oldalról
Példa (saját környezetének részleteivel kell dolgoznia):
- 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
Csak nem fej nélküli szerver
- A wkhtmltopdf -nek telepítve kell lennie a szerverén a PATH -ban
(apt-get install wkhtmltox, yum install wkhtmltox)
Telepítve kell lennie a bundler-ben, különben nem működhet az Easy Redmine frissítése után - Győződjön meg arról, hogy a program helyesen működik (futtassa például a konzolból a wkhtmltopdf https://easyredmine.com homepage.pdf parancsot)
- futtassa újra a rake easyproject:install RAILS_ENV=production parancsot
- indítsa újra a szervert
Plugin telepítése
- NE telepítse a plugineket ROOT felhasználóként
- Először törölje az összes régi Easy Gantt plugint, ha létezik (plugins/easy_gantt*)
- Másolja be az összes kicsomagolt plugint a REDMINE_ROOT/plugins mappába
- A REDMINE_ROOT mappában
Futtatás: |
$ bundle install |
- (vagy bundle update) |
$ bundle exec rake db:migrate RAILS_ENV=production |
$ bundle exec rake redmine:plugins:migrate RAILS_ENV=production |
Ezután indítsa újra a szervert.
Sikeres telepítéshez szükséges követelmények
- Redmine verzió: Kompatibilis a Redmine 3.2.x, 3.3.x, 3.4.x, 4.x verziókkal.
- Ruby verzió: 2.3+ (ajánlott 2.6.)
- Adatbázis típusa: MySQL (ajánlott), PostgreSQL
Kövesse az #install telepítési eljárását. Ellenőrizze, hogy a telepítési napló nem tartalmaz hibákat. Ha tartalmaz, próbálja meg megoldani a leírás szerint, vagy vegye fel a kapcsolatot a support@easyredmine.com címmel, és csatolja a napló hibaszakaszát.
Telepítés Bitnamin
A Bitnami nem tesztelt és nem garantált. Ha a telepítés nem sikerül, futtassa manuálisan:
Futtatás: |
$ bundle update |
$ rake db:migrate |
$ rake redmine:plugins:migrate |