Gemeenschappelijke problemen bij het installeren en updaten van Redmine
Aangezien zowel Redmine als Easy Redmine Open Source zijn en min of meer platformonafhankelijk zijn, kunnen er bij de installatie en upgrade problemen optreden als gevolg van verschillende serverconfiguraties, softwareversies of geïnstalleerde plugins. We werken hard om de meest voorkomende problemen bij te houden om u te helpen bij het oplossen van problemen.
Tijdens het bijwerken van de applicatie verschijnt er een foutmelding met de tekst "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 ..." in het logboek.
Oorzaak
Hiermee wordt bedoeld dat uw database verouderd is en niet kan werken met het verzoek dat onze applicatie ernaar stuurt. Het begrijpt het gewoon niet.
Oplossing
U moet uw database bijwerken.
Hoe de database bijwerken?
Gedetailleerde beschrijving in de Knowledge base.
U hebt Easy Redmine geïnstalleerd of bijgewerkt onder een gebruiker met onvoldoende rechten, zonder onze sterke aanbeveling in de instructies te volgen (minstens één keer in het verleden).
- Corrigeer de rechten met de opdrachten chgrp en chown volgens de serverinstellingen (bijv. chgrp -R www-data public_html)
- Voer de installatie opnieuw uit met bundle exec rake easyproject:install RAILS_ENV=production, wat de cache zal wissen (als u het als root uitvoert, zal het niet succesvol zijn)
- Herstart de server
Als u een virtuele machine gebruikt die door Easy Software wordt geleverd, voer deze dan uit onder gebruiker easy:
sudo chown -R easy /home/easy/current
(op oudere machines - sudo chown -R easy /srv/easyredmine/public_html)
sudo chgrp -R easy /home/easy/current
(op oudere machines - sudo chgrp -R easy /srv/easyredmine/public_html)
cd /home/easy/current
(op oudere machines - cd /srv/easyredmine/public_html)
bundle exec rake easyproject:install RAILS_ENV=production
sudo service puma@your.domain.name restart
Vergeet niet om de rechten voor alle noodzakelijke mappen in te stellen.
Here are some hints what you can do if you run into 500 error.
- run Easy server requirements check and try to repair failed validations
- back-up your database
- download the latest package from the Client Zone
- make sure that webserver has Full access public, files, log, tmp folders
- run bundle install --without development test
- run bundle exec rake easyproject:install RAILS_ENV=production
- restart application server
- delete any 3rd parties' Redmine plugins (also from database)
- write us on support@easyredmine.com and attach log/production.log
Er zijn veel mogelijke oorzaken van deze fout. Hier zijn een paar tips:
- probleem met browsercache - probeer de cache van de browser te verwijderen
- dns-probleem
- serverinstellingsprobleem
Controleer eerst uw verbinding en netwerk (verifieer dat de server bereikbaar is door een ping-opdracht of traceroute-opdracht te gebruiken). Firewall aan de serverzijde.
Als alles hierboven in orde lijkt te zijn, probeer dan wat informatie te krijgen uit nginx error.logs. Controleer nginx error.log aan de serverzijde - /var/log/nginx/error.log
Dubbelcheck of uw nginx-configuratie overeenkomt met de standaard. De standaard nginx-configuratie is hier te vinden:
https://www.redmine.org/projects/redmine/wiki/HowTo_configure_Nginx_to_run_Redmine
Voorbeeld van een nginx-configuratie (zoals gebruikt door Easy Software). Het is vrijwel identiek aan de officiële configuratie, alleen zijn er een paar variabelen geoptimaliseerd:
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; # gebruik geen 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/*;
}
Andere mogelijke oorzaken van de 502-fout zijn...
Unicorn draait helemaal niet, vanwege
- Onvoldoende rechten
- Verkeerde versie van passenger
- Verkeerde Ruby-versie
- Ontbrekende gems
- Defect bestandssysteem
Om het exacte probleem te achterhalen, moet u de foutenlogboeken in unicorn of apache + applicatielogboek van Easy Redmine (log/production.log) controleren
Timeout
Als er een lage time-out is geconfigureerd, verschijnt deze fout op:
- grote exports
- overbelasting van de server
- rake taken uitgevoerd vanuit de GUI
Limiet van MySQL-verbindingen
Zorg ervoor dat u voldoende toegestane verbindingen heeft met MySQL. Het hangt af van het aantal gebruikers, maar u moet er minstens 100 hebben toegestaan.
Deze fout treedt op vanaf versie 2018 1.2 (platform 04.00 en hoger)
Fout tijdens upgrade-installatie met enkele van de volgende.
[!] Er is een fout opgetreden bij het parseren van `Gemfile`:
[!] Er is een fout opgetreden bij het parseren van `Gemfile`: kan dergelijk bestand niet laden --
# plugin 'rys-bundler', github: 'easysoftware/rys-bundler', branch: 'master' > Plugin.hook('rys-gemfile', self)
Bundler kan niet doorgaan.
Dit wordt veroorzaakt door een verouderde versie van de redmine-installateur.
Oplossing:
Voordat u de upgrade installeert
$ gem install redmine-installer
Deze problemen treden op wanneer u een achtervoegsel gebruikt op uw Easy Redmine URL, bijvoorbeeld: https://bedrijf.com/easyredmine/
In dit geval moet u ervoor zorgen dat de variabele RAILS_RELATIVE_URL_ROOT is geconfigureerd voor uw juiste achtervoegsel /easyredmine
Bitnami:
- Maak een extra configuratiebestand config/additional_environment.rb aan
- config.action_controller.relative_url_root = "/easyredmine"
- compileer vervolgens de assets voor (rake easyproject:install RAILS_ENV=production) en start de server opnieuw op
Zorg ervoor dat wkhtmltopdf is geïnstalleerd en actief is ( wkhtmltopdf heeft X-server of andere emulatie nodig)
Test het met behulp van: "wkhtmltopdf google.com google.pdf"
Voeg toe aan uw proxyconfiguratie:
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.
Als u Easy Redmine op het Windows-platform bijwerkt en een foutmelding krijgt ExecJs ::RuntimeError
Het enige wat u hoeft te doen is NODEJS installeren op uw systeem voor de juiste update.
Als de installatie mislukt, voer dan handmatig uit:
$ bundle update
$ rake db:migrate
$ rake redmine:plugins:migrate
Zorg ervoor dat uw webserver de werkelijke grootte van de URL ondersteunt
Zorg ervoor dat u GEEN gebruik maakt van de Webrick-webserver!
- zorg ervoor dat je de nieuwste versie van de webserver en Ruby hebt
- herconfigureer de trage filterquery's om minder velden weer te geven
- reset je CRON om minder vaak te starten
- raadpleeg deze casestudy - Rails versnellen zonder Ruby-code aan te raken
- controleer je configuratie - https://www.easyredmine.com/resources/installation/1885-recommended-optimal-configuration-of-easy-redmine-server
Kopieer de map bestanden van je oude Redmine.
Je kunt de standaardlocatie van bestanden wijzigen in het configuratiebestand van Redmine of een symlink gebruiken. LAN- of cloudgebaseerde netwerkopslag voor bijlagen wordt niet aanbevolen vanwege betrouwbaarheidsproblemen.
Configuratie:
./config/configuration.yml
# Absoluut pad naar de map waar bijlagen zijn opgeslagen.
# De standaard is de 'bestanden' map in je Redmine-instantie.
# Je EasyRedmine-instantie moet lees- en schrijfrechten hebben op deze map.
# Voorbeelden: attachments_storage_path: /var/www/redmine/files
Problemen oplossen:
Als je een bijlage niet kunt openen, bekijk dan ./log/production.log voor veelvoorkomende fouten:
Kan bijlage niet verzenden, /var/www/redmine/files/2015/08/150805095407_xxx.PNG bestaat niet of is onleesbaar
ENOENT, Toestemming geweigerd... etc.
Zorg ervoor dat uw webserver Volledige toegang heeft tot de mappen public, files, log, tmp
Nieuwe commits in uw repository worden niet weergegeven in Easy Redmine, tenzij ze worden opgehaald door de applicatie. U moet webhooks instellen op uw repository client (github, gitlab, TortoiseSVN,...) met informatie over uw Easy Redmine instantie.
- Ga naar administratie >> instellingen >> repositories
- Schakel WS in voor repositorybeheer
- Genereer een API-sleutel
- Opslaan
- Ga naar uw repository client
- Voeg een webhook toe
Laten we zeggen dat uw site easyredmine.company.com is
Voor git - https://easyredmine.company.com/sys/git_fetcher
of https://easyredmine.company.com/sys/git_fetcher?key=[API-sleutel]
- afhankelijk van de clientinstelling kan het een enkele URL of de sleutel in een ander veld vereisen
Voor SVN - https://easyredmine.company.com/sys/fetch_changesets
of https://easyredmine.company.com/sys/fetch_changesets?key=[API-sleutel]
Vanaf punt 5 is het allemaal aan de repository client en niet gerelateerd aan Easy Redmine-instellingen. Het is iets dat u moet verifiëren na een schone installatie of upgrade van Redmine.
Bij het configureren van het domein van uw Easy Redmine, zorg ervoor dat u ten minste een domein van het eerste niveau gebruikt, bijvoorbeeld http://myeasyredmine.com in plaats van alleen http://myeasyredmine. Sommige browsers kunnen problemen hebben met het bereiken ervan.
Ga naar Beheer >> Instellingen >> E-mailmeldingen
en controleer of het AFZENDER-adres correct is.
Het moet hetzelfde zijn (of ten minste van dezelfde SMTP-server) als in het configuratiebestand. Anders kunnen sommige e-mailservices (gmail, yahoo, etc.) meldingen afwijzen.
Controleer uw configuratie volgens dit artikel in de Kennisbank.
Om te controleren of de configuratie correct is, probeer te controleren of u verbinding kunt maken met de mailservers vanaf uw Easy Redmine-server met behulp van telnet.
telnet uw.domein.hier poortnummer_hier (Bijvoorbeeld: telnet gmail.com 465)
Hiermee wordt weergegeven of u daadwerkelijk verbinding kunt maken met uw mailservers of dat er een probleem is in de configuratie van uw mailservers.
Als u een PDF-export probeert uit te voeren die resulteert in een foutmelding (of doet alsof er niets gebeurt), wordt de productielogboek een foutmelding weergegeven zoals
Errno::EPIPE (Broken pipe) of wkhtmltopdf: cannot connect to X server
Veroorzaakt door problemen met het exporteren van component wkhtmltopdf
Hier zijn de voorgestelde oplossingen.
Headless server
Haal de benodigde versie van wkhtmltopdf op van http://wkhtmltopdf.org/downloads.html
Voorbeeld (u moet werken met de details van uw eigen omgeving):
- 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
Alleen niet-headless server
- U moet wkhtmltopdf geïnstalleerd hebben op uw server in PATH
(apt-get install wkhtmltox, yum install wkhtmltox)
Het moet geïnstalleerd zijn in bundler, anders werkt het mogelijk niet na het bijwerken van Easy Redmine - Zorg ervoor dat het programma correct werkt (voer het bijvoorbeeld uit vanaf de console wkhtmltopdf https://easyredmine.com homepage.pdf)
- Voer rake easyproject:install RAILS_ENV=production opnieuw uit
- Herstart de server
Plugin installatie
- Installeer GEEN plugins als ROOT-gebruiker
- Verwijder eerst alle oude Easy Gantt-plugins als deze bestaan (plugins/easy_gantt*)
- Kopieer alle uitgepakte plugins naar REDMINE_ROOT/plugins
- In REDMINE_ROOT
Voer uit: |
$ bundle install |
- (of bundle update) |
$ bundle exec rake db:migrate RAILS_ENV=production |
$ bundle exec rake redmine:plugins:migrate RAILS_ENV=production |
Start daarna de server opnieuw op.
Vereisten voor een succesvolle installatie
- Redmine-versie: Compatibel met Redmine 3.2.x, 3.3.x, 3.4.x, 4.x.
- Ruby-versie: 2.3+ (aanbevolen 2.6.)
- Type database: MySQL (aanbevolen), PostgreSQL
Volg de installatieprocedure in #install. Controleer of het installatielogboek geen fouten bevat. Als dit het geval is, probeer het dan op te lossen volgens de beschrijving of neem contact op met support@easyredmine.com met het foutgedeelte van het logboek bijgevoegd.
Installatie op Bitnami
Bitnami is niet getest of gegarandeerd. Als de installatie mislukt, voer dan handmatig uit:
Voer uit: |
$ bundle update |
$ rake db:migrate |
$ rake redmine:plugins:migrate |