Almindelige problemer ved installation og opdatering af Redmine
Da både Redmine og Easy Redmine er Open Source og mere eller mindre platformuafhængige, kan der opstå problemer med installation og opgradering på grund af forskellige serverkonfigurationer, softwareversioner eller installerede plugins. Vi arbejder hårdt på at identificere de mest almindelige problemer for at hjælpe dig med fejlfinding.
Under opdatering af applikationen vises en fejlmeddelelse med teksten "Der er en fejl i din SQL-syntaks; tjek manualen, der svarer til din MySQL-serverversion, for den korrekte syntaks, der skal bruges nær ..." i loggen.
Årsag
Det betyder, at din database er forældet, og den kan ikke arbejde med den anmodning, vores applikation sender til den. Den forstår det simpelthen ikke.
Løsning
Du skal opdatere din database.
Sådan opdaterer du databasen?
Detaljeret beskrivelse i vidensbasen.
Du har installeret eller opdateret Easy Redmine under en bruger med utilstrækkelige tilladelser, uden at følge vores stærke anbefaling i instruktionerne (mindst én gang tidligere).
- Korriger tilladelserne ved hjælp af kommandoerne chgrp og chown i henhold til serverindstillingerne (f.eks. chgrp -R www-data public_html)
- Kør installationen igen med kommandoen bundle exec rake easyproject:install RAILS_ENV=production, som vil rydde cache (hvis du kører den som root, vil den ikke være succesfuld)
- Genstart serveren
Hvis du bruger en virtuel maskine leveret af Easy Software, skal du køre den under brugeren 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
Husk at indstille tilladelserne for alle nødvendige mapper.
Her er nogle hints til, hvad du kan gøre, hvis du støder på en 500-fejl.
- kør Easy server requirements check og prøv at rette fejlede valideringer
- lav en sikkerhedskopi af din database
- hent den nyeste pakke fra Klientzonen
- sørg for, at webserveren har Fuld adgang til mapperne public, files, log, tmp
- kør bundle install --without development test
- kør bundle exec rake easyproject:install RAILS_ENV=production
- genstart applikationsserveren
- slet eventuelle tredjeparts Redmine-plugins (også fra databasen)
- skriv til os på support@easyredmine.com og vedhæft log/production.log
Hvis der er konfigureret en lav timeout, vil denne fejl vises på:
- store eksporteringer
- overbelastning af serveren
- rake-opgaver, der køres fra GUI'en
Begrænsning af MySQL-forbindelser
Sørg for, at du har et tilstrækkeligt antal tilladte forbindelser til MySQL. Det afhænger af antallet af brugere, men du bør have mindst 100 tilladte.
Denne fejl opstår fra version 2018 1.2 (platform 04.00 og højere)
Fejl under opgraderingsinstallation, der indeholder nogle af følgende.
[!] Der opstod en fejl ved parsing af `Gemfile`:
[!] Der opstod en fejl ved parsing af `Gemfile`: kan ikke indlæse sådan en fil --
# plugin 'rys-bundler', github: 'easysoftware/rys-bundler', branch: 'master' > Plugin.hook('rys-gemfile', self)
Bundler kan ikke fortsætte.
Det skyldes en forældet version af redmine installer.
Løsning:
Før du installerer opgraderingen
$ gem install redmine-installer
Dette problem opstår, når du bruger en suffiks på din Easy Redmine URL, for eksempel: https://company.com/easyredmine/
I dette tilfælde skal du sørge for, at du har variablen RAILS_RELATIVE_URL_ROOT konfigureret til din korrekte suffiks /easyredmine
Bitnami:
- Opret en ekstra konfigurationsfil config/additional_environment.rb
- config.action_controller.relative_url_root = "/easyredmine"
- derefter kompiler aktiver (rake easyproject:install RAILS_ENV=production) og genstart serveren
Sørg for, at wkhtmltopdf er installeret og kører ( wkhtmltopdf kræver X-server eller anden emulering)
Test det ved at bruge: "wkhtmltopdf google.com google.pdf"
Tilføj til din proxy-konfiguration:
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 opdaterer Easy Redmine på Windows-platformen og støder på fejlmeddelelsen ExecJs ::RuntimeError
Alt hvad du skal gøre er at installere NODEJS på dit system for den korrekte opdatering.
Hvis installationen mislykkes, skal du køre følgende manuelt:
$ bundle update
$ rake db:migrate
$ rake redmine:plugins:migrate
Sørg for, at din webserver understøtter den faktiske størrelse af URL-adressen
Sørg for, at du IKKE bruger Webrick webserver!
- sørg for, at du har den nyeste version af webserveren og Ruby
- omkonfigurer de langsomme filterforespørgsler for at vise færre felter
- nulstil din CRON for ikke at starte så ofte
- henvis til denne case study - Rails speed up without touching Ruby code
- tjek din konfiguration - https://www.easyredmine.com/resources/installation/1885-recommended-optimal-configuration-of-easy-redmine-server
Kopier filer mappe fra din gamle Redmine.
Du kan ændre standardplaceringen for filer i Redmines konfigurationsfil eller du kan bruge en symbolisk link. LAN eller cloud-baserede netværkslagringssteder til vedhæftninger anbefales ikke på grund af pålidelighedsproblemer.
Konfiguration:
./config/configuration.yml
# Absolut sti til mappen, hvor vedhæftninger er gemt.
# Standarden er 'files' mappen i din Redmine-instans.
# Din EasyRedmine-instans skal have læse/skrive adgang til denne mappe.
# Eksempler: attachments_storage_path: /var/www/redmine/files
Fejlfinding:
Hvis du ikke kan åbne en vedhæftning, se ./log/production.log for almindelige fejl:
Kan ikke sende vedhæftning, /var/www/redmine/files/2015/08/150805095407_xxx.PNG eksisterer ikke eller kan ikke læses
ENOENT, Tilladelse nægtet... osv.
Sørg for, at din webserver har fuld adgang til mapperne public, files, log, tmp
Nye commits i dit repository bliver ikke afspejlet i Easy Redmine, medmindre de bliver hentet af applikationen. Du skal sætte webhooks op på din repository klient (github, gitlab, TortoiseSVN,...) med information om din Easy Redmine instans.
- Gå til administration >> indstillinger >> repositories
- Aktivér WS til repository håndtering
- Generér en API nøgle
- Gem
- Gå til din repository klient
- Tilføj en webhook
Lad os sige, at dit site er easyredmine.company.com
For git - https://easyredmine.company.com/sys/git_fetcher
eller https://easyredmine.company.com/sys/git_fetcher?key=[API nøgle]
- afhængigt af klientindstillingen kan det kræve en enkelt URL eller nøglen i et andet felt
For SVN - https://easyredmine.company.com/sys/fetch_changesets
eller https://easyredmine.company.com/sys/fetch_changesets?key=[API nøgle]
Fra punkt 5 er det op til repository klienten og ikke relateret til Easy Redmine indstillinger. Det er noget, du skal verificere efter en ren installation eller opgradering fra Redmine.
Når du konfigurerer domænet for din Easy Redmine, skal du sørge for at bruge mindst et førstniveau-domæne, for eksempel http://myeasyredmine.com i stedet for bare http://myeasyredmine. Nogle browsere kan have problemer med at nå det.
Gå til Administration >> Indstillinger >> E-mail underretninger
og bekræft, at afsenderadressen er korrekt.
Den skal være den samme (eller i det mindste fra samme SMTP-server) som i konfigurationsfilen. Ellers kan nogle e-mail-tjenester (gmail, yahoo, osv.) afvise underretninger.
Tjek din konfiguration i henhold til denne artikel i vidensbasen.
For at bekræfte, at konfigurationen er korrekt, skal du prøve at tjekke om du kan oprette forbindelse til mailserveren fra din Easy Redmine-server ved hjælp af telnet.
telnet din.domæne.her port_nummer_her (For eksempel: telnet gmail.com 465)
Det vil vise dig, om du virkelig kan oprette forbindelse til din mailserver, eller om der er et problem i din mailserverkonfiguration.
Når du forsøger at eksportere en PDF, der resulterer i en fejl (eller virker som om intet sker). Produktionsloggen vil vise fejl lignende
Errno::EPIPE (Broken pipe) eller wkhtmltopdf: cannot connect to X server
Forårsaget af problemer med eksportkomponenten wkhtmltopdf
Her er de foreslåede løsninger.
Headless server
Få den nødvendige version af wkhtmltopdf fra http://wkhtmltopdf.org/downloads.html
Eksempel (du skal arbejde med detaljerne 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
Kun ikke-headless server
- Du skal have wkhtmltopdf installeret på din server i PATH
(apt-get install wkhtmltox, yum install wkhtmltox)
Det skal være installeret i bundler, ellers kan det muligvis ikke fungere efter opdatering af Easy Redmine - Sørg for, at programmet fungerer korrekt (kør det f.eks. fra konsollen wkhtmltopdf https://easyredmine.com homepage.pdf)
- kør rake easyproject:install RAILS_ENV=production igen
- genstart serveren
Plugin installation
- Installer IKKE plugins som ROOT-bruger
- Slet først alle gamle Easy Gantt-plugins, hvis de findes (plugins/easy_gantt*)
- Kopier alle udpakkede plugins til 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, genstart serveren.
Krav til vellykket installation
- Redmine-version: Kompatibel med Redmine 3.2.x, 3.3.x, 3.4.x, 4.x.
- Ruby-version: 2.3+ (anbefalet 2.6.)
- Database type: MySQL (anbefalet), PostgreSQL
Følg installationsproceduren i #install. Verificer, om installationsloggen ikke indeholder nogen fejl. Hvis den gør det, prøv at løse det i henhold til beskrivelsen, eller kontakt support@easyredmine.com med fejldelen af loggen vedhæftet.
Installation på Bitnami
Bitnami er ikke testet eller garanteret. Hvis installationen mislykkes, skal du køre manuelt:
Kør: |
$ bundle update |
$ rake db:migrate |
$ rake redmine:plugins:migrate |