Vanliga problem vid installation och uppdatering av Redmine
Eftersom både Redmine och Easy Redmine är öppen källkod och är mer eller mindre plattformsoberoende, kan vissa installations- och uppgraderingsproblem uppstå på grund av olika serverkonfigurationer, programvaruversioner eller installerade tillägg. Vi arbetar hårt för att identifiera de vanligaste problemen för att kunna hjälpa dig med felsökning.
Under applikationsuppdateringen visas ett felmeddelande som innehåller "Du har ett fel i din SQL-syntax; kolla i manualen som motsvarar din MySQL-serverversion för rätt syntax att använda nära ..." i loggen.
Orsak
Det betyder att din databas är föråldrad och kan inte fungera med den begäran som vår applikation skickar till den. Den förstår helt enkelt inte den.
Lösning
Du behöver uppdatera din databas.
Hur uppdaterar du databasen?
Detaljerad beskrivning finns i Kunskapsbasen.
Du har installerat eller uppdaterat Easy Redmine under en användare med otillräckliga behörigheter, vilket inte följer vårt starka rekommendation i instruktionerna (minst en gång tidigare).
- Korrigera behörigheterna med kommandona chgrp och chown enligt serverinställningarna (t.ex. chgrp -R www-data public_html)
- Kör installationen igen med kommandot bundle exec rake easyproject:install RAILS_ENV=production vilket kommer att rensa cacheminnet (om du kör det som root kommer det inte att lyckas)
- Starta om servern
Om du använder en virtuell maskin som tillhandahålls av Easy Software, kör under användaren easy:
sudo chown -R easy /home/easy/current
(på äldre maskiner - sudo chown -R easy /srv/easyredmine/public_html)
sudo chgrp -R easy /home/easy/current
(på äldre maskiner - sudo chgrp -R easy /srv/easyredmine/public_html)
cd /home/easy/current
(på äldre maskiner - cd /srv/easyredmine/public_html)
bundle exec rake easyproject:install RAILS_ENV=production
sudo service puma@your.domain.name restart
Kom ihåg att sätta behörigheterna för alla nödvändiga mappar.
Här är några tips på vad du kan göra om du stöter på 500-fel.
- kör Easy server requirements check och försök att åtgärda misslyckade valideringar
- säkerhetskopiera din databas
- ladda ner den senaste paketet från Klientzonen
- se till att webbservern har Full access public, files, log, tmp mappar
- kör bundle install --without development test
- kör bundle exec rake easyproject:install RAILS_ENV=production
- starta om applikationsservern
- ta bort eventuella tredjeparts Redmine-plugins (även från databasen)
- skriv till oss på support@easyredmine.com och bifoga log/production.log
Om en låg timeout är konfigurerad kommer detta fel att visas på:
- stora exportfiler
- överbelastning av servern
- rake-uppgifter som körs från GUI
Begränsning av MySQL-anslutningar
Säkerställ att du har tillräckligt antal tillåtna anslutningar till MySQL. Det beror på antalet användare, men du bör ha minst 100 tillåtna.
Denna fel uppstår från version 2018 1.2 (plattform 04.00 och högre)
Fel under uppgraderingsinstallationen innehåller något av följande.
[!] Det uppstod ett fel vid tolkning av `Gemfile`:
[!] Det uppstod ett fel vid tolkning av `Gemfile`: kan inte ladda sådan fil --
# plugin 'rys-bundler', github: 'easysoftware/rys-bundler', branch: 'master' > Plugin.hook('rys-gemfile', self)
Bundler kan inte fortsätta.
Det orsakas av en föråldrad version av redmine installer.
Lösning:
Innan du installerar uppgraderingen
$ gem install redmine-installer
Dessa problem uppstår när du använder ett suffix på din Easy Redmine URL, till exempel: https://company.com/easyredmine/
I det här fallet måste du se till att du har variabeln RAILS_RELATIVE_URL_ROOT konfigurerad till ditt korrekta suffix /easyredmine
Bitnami:
- Skapa en ytterligare konfigurationsfil config/additional_environment.rb
- config.action_controller.relative_url_root = "/easyredmine"
- sedan kompilera tillgångar (rake easyproject:install RAILS_ENV=production) och starta om servern
Säkerställ att wkhtmltopdf är installerat och körs ( wkhtmltopdf behöver X-server eller annan emulering)
Testa det genom att använda: "wkhtmltopdf google.com google.pdf"
Lägg till i din proxykonfiguration:
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.
När du uppdaterar Easy Redmine på Windows-plattformen och stöter på felmeddelandet ExecJs ::RuntimeError
Allt du behöver göra är att installera NODEJS på ditt system för rätt uppdatering.
Om installationen misslyckas, kör manuellt:
$ bundle update
$ rake db:migrate
$ rake redmine:plugins:migrate
Säkerställ att din webbserver stöder den faktiska storleken på URL-adressen
Säkerställ att du INTE använder Webrick webbserver!
- se till att du har den senaste versionen av webbservern och Ruby
- omkonfigurera de långsamma filterfrågorna för att visa färre fält
- återställ din CRON så att den inte startar så ofta
- hänvisa till denna fallstudie - Rails speed up without touching Ruby code
- kontrollera din konfiguration - https://www.easyredmine.com/resources/installation/1885-recommended-optimal-configuration-of-easy-redmine-server
Kopiera mapp files från din gamla Redmine.
Du kan ändra standardplatsen för filer i Redmines konfigurationsfil eller använda en symbolisk länk. LAN- eller molnbaserade nätverkslagringar för bilagor rekommenderas inte på grund av tillförlitlighetsproblem.
Konfiguration:
./config/configuration.yml
# Absolut sökväg till mappen där bilagor lagras.
# Standard är mappen 'files' i din Redmine-instans.
# Din EasyRedmine-instans behöver läs- och skrivrättigheter till denna mapp.
# Exempel: attachments_storage_path: /var/www/redmine/files
Felsökning:
Om du inte kan öppna en bilaga, se ./log/production.log för vanliga fel:
Kan inte skicka bilaga, /var/www/redmine/files/2015/08/150805095407_xxx.PNG finns inte eller går inte att läsa
ENOENT, Åtkomst nekad... etc.
Säkerställ att din webbserver har full åtkomst till mapparna public, files, log, tmp
Nya ändringar i ditt repository syns inte i Easy Redmine förrän de hämtas av applikationen. Du behöver sätta upp webhooks på din repository-klient (github, gitlab, TortoiseSVN,...) med information om din Easy Redmine-instans.
- Gå till administration >> inställningar >> repositories
- Aktivera WS för hantering av repository
- Generera en API-nyckel
- Spara
- Gå till din repository-klient
- Lägg till en webhook
Låt oss säga att din webbplats är easyredmine.company.com
För git - https://easyredmine.company.com/sys/git_fetcher
eller https://easyredmine.company.com/sys/git_fetcher?key=[API-nyckel]
- beroende på klientens inställning kan det krävas en enda URL eller nyckeln i ett annat fält
För SVN - https://easyredmine.company.com/sys/fetch_changesets
eller https://easyredmine.company.com/sys/fetch_changesets?key=[API-nyckel]
Från punkt 5 är det upp till repository-klienten och inte relaterat till Easy Redmine-inställningar. Det är något du måste verifiera efter en ren installation eller uppgradering från Redmine.
When configuring the domain of your Easy Redmine, make sure to use at least first level domain, for example http://myeasyredmine.com instead of just http://myeasyredmine . Some browsers may have problem with reaching it.
Gå till Administration >> Inställningar >> E-postaviseringar
och verifiera att FRÅN-adressen är korrekt.
Den bör vara densamma (eller åtminstone från samma SMTP-server) som i konfigurationsfilen. Annars kan vissa e-posttjänster (gmail, yahoo, etc.) avvisa aviseringar.
Kontrollera din konfiguration enligt den här artikeln i kunskapsdatabasen.
För att verifiera att konfigurationen är korrekt, försök att kontrollera om du kan ansluta till e-postservern från din Easy Redmine-server med hjälp av telnet.
telnet din.domän.här portnummer_här (Till exempel: telnet gmail.com 465)
Det kommer att visa om du verkligen kan ansluta till din e-postserver eller om det finns ett problem i din e-postserverkonfiguration.
När du försöker göra en PDF-export som resulterar i ett fel (eller agerar som om ingenting händer). Produktionsloggen skulle lista fel liknande
Errno::EPIPE (Broken pipe) eller wkhtmltopdf: cannot connect to X server
Orsakat av problem med exportkomponenten wkhtmltopdf
Här är de föreslagna lösningarna.
Headless server
Hämta den nödvändiga versionen av wkhtmltopdf från http://wkhtmltopdf.org/downloads.html
Exempel (du måste arbeta med detaljerna i din egen miljö):
- 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
Endast icke-headless server
- Du behöver ha wkhtmltopdf installerat på din server i PATH (apt-get install wkhtmltox, yum install wkhtmltox)
Det måste vara installerat i bundler, annars kan det sluta fungera efter att Easy Redmine har uppdaterats - Se till att programmet fungerar korrekt (kör det från konsolen till exempel wkhtmltopdf https://easyredmine.com homepage.pdf)
- kör om rake easyproject:install RAILS_ENV=production
- starta om servern
Plugin installation
- Installera INTE plugins som ROOT-användare
- Ta först bort alla gamla Easy Gantt-plugins om de finns (plugins/easy_gantt*)
- Kopiera alla uppackade plugins till REDMINE_ROOT/plugins
- I REDMINE_ROOT
Kör: |
$ bundle install |
- (eller bundle update) |
$ bundle exec rake db:migrate RAILS_ENV=production |
$ bundle exec rake redmine:plugins:migrate RAILS_ENV=production |
Efter det, starta om servern.
Krav för framgångsrik installation
- Redmine-version: Kompatibel med Redmine 3.2.x, 3.3.x, 3.4.x, 4.x.
- Ruby-version: 2.3+ (rekommenderas 2.6.)
- Databastyp: MySQL (rekommenderas), PostgreSQL
Följ installationsproceduren i #install. Kontrollera om installationsloggen inte innehåller några fel. Om det gör det, försök att lösa det enligt beskrivningen eller kontakta support@easyredmine.com med den felaktiga delen av loggen bifogad.
Installation på Bitnami
Bitnami är inte testat eller garanterat. Om installationen misslyckas, kör manuellt:
Kör: |
$ bundle update |
$ rake db:migrate |
$ rake redmine:plugins:migrate |