Probleme comune la instalarea și actualizarea Redmine.
Deoarece atât Redmine cât și Easy Redmine sunt Open Source și sunt mai mult sau mai puțin independente de platformă, pot apărea probleme de instalare și actualizare din cauza diferitelor configurații de server, versiuni de software sau plugin-uri instalate. Lucrăm din greu pentru a urmări cele mai comune probleme pentru a vă ajuta la depanare.
În timpul actualizării aplicației apare o mesaj de eroare care conține "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 ..." în jurnal.
Cauza
Înseamnă că baza dvs. de date este depășită și nu poate lucra cu cererea pe care o trimite aplicația noastră. Pur și simplu nu o înțelege.
Soluție
Trebuie să actualizați baza de date.
Cum să actualizați baza de date?
Descriere detaliată în Baza de cunoștințe.
Ați instalat sau actualizat Easy Redmine sub un utilizator cu permisiuni insuficiente, neurmând recomandarea noastră puternică din instrucțiuni (cel puțin o dată în trecut).
- Corectați permisiunile prin comenzile chgrp și chown conform setărilor serverului (de exemplu, chgrp -R www-data public_html)
- Rulați instalarea din nou bundle exec rake easyproject:install RAILS_ENV=production care va șterge cache-ul (dacă îl rulați ca root, nu va fi reusit)
- Reporniți serverul
Dacă utilizați o mașină virtuală furnizată de Easy Software, rulați sub utilizatorul easy:
sudo chown -R easy /home/easy/current
(în mașinile mai vechi - sudo chown -R easy /srv/easyredmine/public_html)
sudo chgrp -R easy /home/easy/current
(în mașinile mai vechi - sudo chgrp -R easy /srv/easyredmine/public_html)
cd /home/easy/current
(în mașinile mai vechi - cd /srv/easyredmine/public_html)
bundle exec rake easyproject:install RAILS_ENV=production
sudo service puma@your.domain.name restart
Rețineți să setați permisiunile pentru toate folderele necesare.
Iată câteva sugestii despre ce poți face dacă întâmpini o eroare 500.
- rulează Verificarea cerințelor ușoare ale serverului și încearcă să repari validările eșuate
- fă o copie de rezervă a bazei de date
- descarcă pachetul cel mai recent din Zona Clientului
- asigură-te că serverul web are acces complet la folderele public, files, log, tmp
- rulează bundle install --without development test
- rulează bundle exec rake easyproject:install RAILS_ENV=production
- reporniți serverul de aplicații
- ștergeți orice pluginuri Redmine de la terți (și din baza de date)
- scrie-ne la support@easyredmine.com și atașează log/production.log
Dacă este configurat un timp de așteptare scăzut, această eroare va apărea la:
- exporturi mari
- suprasolicitarea serverului
- rake tasks rulate din GUI
Limita de conexiuni MySQL
Asigurați-vă că aveți un număr suficient de conexiuni permise către MySQL. Depinde de numărul de utilizatori, dar ar trebui să aveți cel puțin 100 permise.
Această eroare apare începând cu versiunea 2018 1.2 (platforma 04.00 și mai recentă)
Eroare în timpul instalării de actualizare care conține următoarele.
[!] A apărut o eroare la analizarea fișierului `Gemfile`:
[!] A apărut o eroare la analizarea fișierului `Gemfile`: nu se poate încărca un astfel de fișier --
# plugin 'rys-bundler', github: 'easysoftware/rys-bundler', branch: 'master' > Plugin.hook('rys-gemfile', self)
Bundler nu poate continua.
Aceasta este cauzată de versiunea depășită a instalatorului Redmine.
Soluție:
Înainte de a instala actualizarea
$ gem install redmine-installer
- Creați un fișier de configurare suplimentar config/additional_environment.rb
- config.action_controller.relative_url_root = "/easyredmine"
- apoi compilați resursele (rake easyproject:install RAILS_ENV=production) și reporniți serverul
Asigurați-vă că wkhtmltopdf este instalat și funcționează ( wkhtmltopdf necesită server X sau altă emulare)
Testați-l folosind: "wkhtmltopdf google.com google.pdf"
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.
Când actualizați Easy Redmine pe platforma Windows și întâmpinați mesajul de eroare ExecJs ::RuntimeError
Tot ce trebuie să faceți este să instalați NODEJS pe sistemul dumneavoastră pentru actualizarea corespunzătoare.
Dacă instalarea eșuează, rulați manual:
$ bundle update
$ rake db:migrate
$ rake redmine:plugins:migrate
Asigurați-vă că serverul dvs. web suportă dimensiunea reală a adresei URL
Asigurați-vă că NU utilizați serverul web Webrick!
- asigurați-vă că aveți cea mai recentă versiune a serverului web și a Ruby-ului
- reconfigurați interogările filtrului lent pentru a afișa mai puține câmpuri
- resetați CRON-ul pentru a nu fi lansat atât de des
- consultați acest studiu de caz - Accelerarea Rails fără a atinge codul Ruby
- verificați configurația dvs. - https://www.easyredmine.com/resources/installation/1885-recommended-optimal-configuration-of-easy-redmine-server
Copiați folderul fișiere din vechiul dvs. Redmine.
Puteți schimba locația implicită a fișierelor în fișierul de configurare Redmine sau puteți utiliza un symlink. Stocarea atașamentelor în rețele LAN sau cloud nu este recomandată din cauza problemelor de fiabilitate.
Configurare:
./config/configuration.yml
# Calea absolută către directorul în care sunt stocate atașamentele.
# Implicit, este directorul 'fișiere' din instanța dvs. Redmine.
# Instanța dvs. EasyRedmine trebuie să aibă permisiuni de citire/scriere în acest director.
# Exemple: attachments_storage_path: /var/www/redmine/files
Depanare:
Dacă nu puteți deschide un atașament, consultați ./log/production.log pentru erori comune:
Nu se poate trimite atașamentul, /var/www/redmine/files/2015/08/150805095407_xxx.PNG nu există sau nu poate fi citit
ENOENT, Permisiune refuzată... etc.
Asigurați-vă că serverul dvs. web are folderele Acces complet la public, fișiere, jurnal, tmp
Noile commit-uri în depozitul tău nu sunt reflectate în Easy Redmine decât dacă sunt preluate de aplicație. Trebuie să setezi webhooks pe clientul tău de depozit (github, gitlab, TortoiseSVN, ...) cu informații despre instanța ta Easy Redmine.
- Merge la administrare >> setări >> depozite
- Activează WS pentru gestionarea depozitelor
- Generează o cheie API
- Salvează
- Merge la clientul tău de depozit
- Adaugă un webhook
Să zicem că site-ul tău este easyredmine.company.com
Pentru git - https://easyredmine.company.com/sys/git_fetcher
sau https://easyredmine.company.com/sys/git_fetcher?key=[API key]
- în funcție de setările clientului, poate fi necesar un singur URL sau cheia într-un alt câmp
Pentru SVN - https://easyredmine.company.com/sys/fetch_changesets
sau https://easyredmine.company.com/sys/fetch_changesets?key=[API key]
De la punctul 5, totul depinde de clientul de depozit și nu este legat de setările Easy Redmine. Este ceva ce trebuie verificat după instalarea curată sau actualizarea din Redmine.
Mergeți la Administrare >> Setări >> Notificări prin e-mail
și verificați că adresa DE este corectă.
Ar trebui să fie aceeași (sau cel puțin de pe același server SMTP) ca în fișierul de configurare. În caz contrar, unele servicii de e-mail (gmail, yahoo, etc.) pot respinge notificările.
Verificați configurația conform acestui articol din baza de cunoștințe.
Pentru a verifica dacă configurația este corectă, încercați să verificați dacă puteți conecta la serverul de poștă de pe serverul Easy Redmine folosind telnet.
telnet your.domain.here port_number_here (De exemplu: telnet gmail.com 465)
Vă va arăta dacă puteți conecta cu adevărat la serverul dvs. de poștă sau există o problemă în configurația serverului dvs. de poștă.
Errno :: EPIPE (Broken pipe) sau wkhtmltopdf: cannot connect to X server
Cauzat de probleme cu exportul componentei wkhtmltopdf
Iată soluțiile propuse.
Server fără cap
Obțineți versiunea necesară a wkhtmltopdf de la http://wkhtmltopdf.org/downloads.html
Exemplu (trebuie să lucrați cu detaliile propriului mediu):
- 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
Doar serverul fără cap
- Trebuie să aveți wkhtmltopdf instalat pe serverul dvs. în PATH
(apt-get install wkhtmltox, yum install wkhtmltox)
Trebuie să fie instalat în bundler, altfel poate să nu funcționeze după actualizarea Easy Redmine - Asigurați-vă că programul funcționează corect (rulați de exemplu din consolă wkhtmltopdf https://easyredmine.com homepage.pdf )
- re-rulați rake easyproject:install RAILS_ENV=production
- reporniți serverul
Instalarea plugin-ului
- Nu instalați plugin-uri ca utilizator ROOT
- Mai întâi, ștergeți toate vechile plugin-uri Easy Gantt dacă există (plugins/easy_gantt*)
- Copiați toate plugin-urile dezarhivate în REDMINE_ROOT/plugins
- În REDMINE_ROOT
Rulați: |
$ bundle install |
- (sau bundle update) |
$ bundle exec rake db:migrate RAILS_ENV=production |
$ bundle exec rake redmine:plugins:migrate RAILS_ENV=production |
După aceea, reporniți serverul.
Cerințe pentru o instalare reușită
- Versiunea Redmine: compatibilă cu Redmine 3.2.x, 3.3.x, 3.4.x, 4.x.
- Versiunea Ruby: 2.3+ (recomandată 2.6.)
- Tipul de bază de date: MySQL (recomandat), PostgreSQL
Urmăriți procedura de instalare în #install. Verificați dacă jurnalul de instalare nu conține erori. Dacă există, încercați să le rezolvați conform descrierii sau contactați support@easyredmine.com cu secțiunea de eroare a jurnalului atașată.
Instalarea pe Bitnami
Bitnami nu este testat și nici garantat. Dacă instalarea eșuează, rulați manual:
Rulați: |
$ bundle update |
$ rake db:migrate |
$ rake redmine:plugins:migrate |