Κοινά προβλήματα εγκατάστασης και ενημέρωσης του Redmine
Καθώς τόσο το Redmine όσο και το Easy Redmine είναι Ανοικτού Κώδικα και είναι περισσότερο ή λιγότερο ανεξάρτητα από πλατφόρμες, μπορεί να προκύψουν προβλήματα εγκατάστασης και αναβάθμισης λόγω διάφορων ρυθμίσεων διακομιστή, εκδόσεων λογισμικού ή εγκατεστημένων προσθέτων. Εργαζόμαστε σκληρά για να εντοπίσουμε αυτά τα πιο συνηθισμένα προβλήματα προκειμένου να σας βοηθήσουμε στην επίλυσή τους.
Κατά την ενημέρωση της εφαρμογής εμφανίζεται ένα μήνυμα σφάλματος που περιέχει το κείμενο "Έχετε ένα σφάλμα στη σύνταξη SQL σας· ελέγξτε το εγχειρίδιο που αντιστοιχεί στην έκδοση του διακομιστή MySQL σας για τη σωστή σύνταξη που πρέπει να χρησιμοποιήσετε κοντά ..." εμφανίζεται στο αρχείο καταγραφής.
Αιτία
Αυτό σημαίνει ότι η βάση δεδομένων σας είναι παλαιά και δεν μπορεί να λειτουργήσει με το αίτημα που στέλνει η εφαρμογή μας. Απλά δεν το κατανοεί.
Λύση
Πρέπει να ενημερώσετε τη βάση δεδομένων σας.
Πώς να ενημερώσετε τη βάση δεδομένω
Έχετε εγκαταστήσει ή ενημερώσει το Easy Redmine υπό χρήστη με ανεπαρκείς δικαιώματα, μην ακολουθώντας την ισχυρή μας σύσταση στις οδηγίες (τουλάχιστον μία φορά στο παρελθόν).
- Διορθώστε τα δικαιώματα με τις εντολές chgrp και chown σύμφωνα με τις ρυθμίσεις του διακομιστή (π.χ. chgrp -R www-data public_html)
- Εκτελέστε ξανά την εγκατάσταση με την εντολή bundle exec rake easyproject:install RAILS_ENV=production η οποία θα αδειάσει την μνήμη cache (αν την εκτελέσετε από τον ριζικό χρήστη, δεν θα είναι επιτυχής)
- Επανεκκινήστε τον διακομιστή
Αν χρησιμοποιείτε εικονική μηχανή που παρέχεται από την Easy Software, εκτελέστε υπό τον χρήστη easy:
sudo chown -R easy /home/easy/current
(σε παλαιότερες μηχανές - sudo chown -R easy /srv/easyredmine/public_html)
sudo chgrp -R easy /home/easy/current
(σε παλαιότερες μηχανές - sudo chgrp -R easy /srv/easyredmine/public_html)
cd /home/easy/current
(σε παλαιότερες μηχανές - cd /srv/easyredmine/public_html)
bundle exec rake easyproject:install RAILS_ENV=production
sudo service puma@your.domain.name restart
Θυμηθείτε να ορίσετε τα δικαιώματα για όλους τους απαραίτητους φακέλους.
Εδώ είναι μερικές υποδείξεις για το τι μπορείτε να κάνετε αν αντιμετωπίσετε σφάλμα 500.
- τρέξτε το Easy server requirements check και προσπαθήστε να επιδιορθώσετε τις αποτυχημένες επικυρώσεις
- δημιουργήστε αντίγραφο ασφαλείας της βάσης δεδομένων σας
- κατεβάστε το πιο πρόσφατο πακέτο από την Ζώνη Πελάτη
- βεβαιωθείτε ότι ο webserver έχει Πλήρη πρόσβαση public, files, log, tmp φακέλους
- τρέξτε bundle install --without development test
- τρέξτε bundle exec rake easyproject:install RAILS_ENV=production
- επανεκκινήστε τον εξυπηρετητή εφαρμογής
- διαγράψτε οποιαδήποτε πρόσθετα Redmine από τρίτους (επίσης από τη βάση δεδομένων)
- επικοινωνήστε μαζί μας στο support@easyredmine.com και επισυνάψτε το αρχείο log/production.log
Εάν έχει ρυθμιστεί χαμηλό χρονικό όριο, αυτό το σφάλμα θα εμφανιστεί σε:
- μεγάλες εξαγωγές
- υπερφόρτωση του διακομιστή
- εκτέλεση εργασιών rake από το γραφικό περιβάλλον
Όριο συνδέσεων MySQL
Βεβαιωθείτε ότι έχετε επιτρεπόμενο ένα επαρκές αριθμό συνδέσεων στο MySQL. Εξαρτάται από τον αριθμό των χρηστών, αλλά θα πρέπει να έχετε τουλάχιστον 100 επιτρεπόμενες.
Αυτό το σφάλμα συμβαίνει από την έκδοση 2018 1.2 (πλατφόρμα 04.00 και νεότερη)
Σφάλμα κατά την αναβάθμιση εγκατάστασης που περιέχει κάποια από τα παρακάτω.
[!] Παρουσιάστηκε σφάλμα κατά την ανάλυση του `Gemfile`:
[!] Παρουσιάστηκε σφάλμα κατά την ανάλυση του `Gemfile`: δεν είναι δυνατή η φόρτωση του αρχείου --
# plugin 'rys-bundler', github: 'easysoftware/rys-bundler', branch: 'master' > Plugin.hook('rys-gemfile', self)
Ο Bundler δεν μπορεί να συνεχίσει.
Αυτό προκαλείται από ξεπερασμένη έκδοση του εγκαταστάτη redmine.
Λύση:
Πριν εγκαταστήσετε την αναβάθμιση
$ gem install redmine-installer
Αυτό το πρόβλημα προκύπτει όταν χρησιμοποιείτε ένα επίθημα στο URL του Easy Redmine σας, για παράδειγμα: https://company.com/easyredmine/
Σε αυτήν την περίπτωση, πρέπει να βεβαιωθείτε ότι έχετε τη μεταβλητή RAILS_RELATIVE_URL_ROOT ρυθμισμένη στο σωστό επίθημα σας /easyredmine
Bitnami:
- Δημιουργήστε ένα επιπλέον αρχείο ρυθμίσεων config/additional_environment.rb
- config.action_controller.relative_url_root = "/easyredmine"
- έπειτα προετοιμάστε τους πόρους (rake easyproject:install RAILS_ENV=production) και επανεκκινήστε τον διακομιστή
Βεβαιωθείτε ότι έχει εγκατασταθεί και λειτουργεί το wkhtmltopdf ( το wkhtmltopdf χρειάζεται X server ή άλλη εξομοίωση)
Δοκιμάστε το χρησιμοποιώντας: "wkhtmltopdf google.com google.pdf"
Προσθέστε στη διαμόρφωση του διαμεσολαβητή σας:
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.
Όταν ενημερώνετε το Easy Redmine στην πλατφόρμα των Windows και αντιμετωπίζετε ένα μήνυμα σφάλματος ExecJs ::RuntimeError
Το μόνο που πρέπει να κάνετε είναι να εγκαταστήσετε το NODEJS στο σύστημά σας για τη σωστή ενημέρωση.
Εάν η εγκατάσταση αποτύχει, εκτελέστε χειροκίνητα:
$ bundle update
$ rake db:migrate
$ rake redmine:plugins:migrate
Βεβαιωθείτε ότι ο διακομιστής ιστού σας υποστηρίζει τον πραγματικό μέγεθος της διεύθυνσης URL
Βεβαιωθείτε ότι ΔΕΝ χρησιμοποιείτε τον διακομιστή ιστού Webrick!
- βεβαιωθείτε ότι έχετε την τελευταία έκδοση του webserver και του Ruby
- αναδιαμορφώστε τα αργά ερωτήματα φίλτρου για να εμφανίζονται λιγότερα πεδία
- επαναφέρετε το CRON σας ώστε να μην εκκινεί τόσο συχνά
- ανατρέξτε σε αυτήν τη μελέτη περίπτωσης - Επιτάχυνση του Rails χωρίς να αγγίξετε τον κώδικα Ruby
- ελέγξτε τη διαμόρφωσή σας - https://www.easyredmine.com/resources/installation/1885-recommended-optimal-configuration-of-easy-redmine-server
Αντιγράψτε τον φάκελο αρχείων από τον παλιό σας Redmine.
Μπορείτε να αλλάξετε την προεπιλεγμένη τοποθεσία των αρχείων στο αρχείο διαμόρφωσης του Redmine ή να χρησιμοποιήσετε ένα σύμβολικό σύνδεσμο. Οι αποθηκευτικοί χώροι δικτύου LAN ή βάσει cloud για συνημμένα δεν συνιστώνται λόγω προβλημάτων αξιοπιστίας.
Διαμόρφωση:
./config/configuration.yml
# Απόλυτη διαδρομή προς τον φάκελο όπου αποθηκεύονται τα συνημμένα.
# Η προεπιλογή είναι ο φάκελος 'files' στην περίπτωση της εγκατάστασης του Redmine.
# Το EasyRedmine σας πρέπει να έχει δικαιώματα ανάγνωσης/εγγραφής σε αυτόν τον φάκελο.
# Παραδείγματα: attachments_storage_path: /var/www/redmine/files
Επίλυση προβλημάτων:
Εάν δεν μπορείτε να ανοίξετε ένα συνημμένο αρχείο, δείτε το αρχείο ./log/production.log για συνηθισμένα σφάλματα:
Δεν είναι δυνατή η αποστολή του συνημμένου, το αρχείο /var/www/redmine/files/2015/08/150805095407_xxx.PNG δεν υπάρχει ή δεν είναι αναγν
Βεβαιωθείτε ότι ο διακομιστής ιστού σας έχει τα φακέλους Πλήρης πρόσβαση δημόσιος, αρχεία, καταγραφές, προσωρινά
Οι νέες δεσμεύσεις στο αποθετήριό σας δεν αντανακλώνται στο Easy Redmine εκτός αν ανακτηθούν από την εφαρμογή. Πρέπει να ορίσετε webhooks στον πελάτη του αποθετηρίου σας (github, gitlab, TortoiseSVN,...) με πληροφορίες για την περίπτωση του Easy Redmine.
- Μεταβείτε στις ρυθμίσεις διαχείρισης >> ρυθμίσεις >> αποθετήρια
- Ενεργοποιήστε το WS για τη διαχείριση του αποθετηρίου
- Δημιουργήστε ένα κλειδί API
- Αποθηκεύστε
- Μεταβείτε στον πελάτη του αποθετηρίου σας
- Προσθέστε ένα webhook
Ας πούμε ότι ο ιστότοπός σας είναι easyredmine.company.com
Για git - https://easyredmine.company.com/sys/git_fetcher
ή https://easyredmine.company.com/sys/git_fetcher?key=[API key]
- ανάλογα με τη ρύθμιση του πελάτη, μπορεί να απαιτείται μια μόνο διεύθυνση URL ή το κλειδί σε διαφορετικό πεδίο
Για SVN - https://easyredmine.company.com/sys/fetch_changesets
ή https://easyredmine.company.com/sys/fetch_changesets?key=[API key]
Από το σημείο 5, είναι όλα στον πελάτη του αποθετηρίου και δεν σχετίζονται με τις ρυθμίσεις του Easy Redmine. Είναι κάτι που πρέπει να επαληθεύσετε μετά από μια καθαρή εγκατάσταση ή αναβάθμιση από το Redmine.
Όταν ρυθμίζετε τον τομέα του Easy Redmine σας, βεβαιωθείτε ότι χρησιμοποιείτε τουλάχιστον έναν τομέα πρώτου επιπέδου, για παράδειγμα http://myeasyredmine.com αντί για απλά http://myeasyredmine . Ορισμένοι περιηγητές μπορεί να έχουν πρόβλημα με την πρόσβασή τους.
Μεταβείτε στην Διαχείριση >> Ρυθμίσεις >> Ειδοποιήσεις μέσω email
και επαληθεύστε ότι η διεύθυνση ΑΠΟ είναι σωστή.
Θα πρέπει να είναι η ίδια (ή τουλάχιστον από τον ίδιο διακομιστή SMTP) όπως στο αρχείο ρυθμίσεων. Διαφορετικά, ορισμένες υπηρεσίες email (gmail, yahoo, κλπ.) μπορεί να απορρίψουν τις ειδοποιήσεις.
Ελέγξτε τις ρυθμίσεις σας σύμφωνα με αυτό το άρθρο στη Βάση Γνώσεων.
Για να επαληθεύσετε ότι οι ρυθμίσεις είναι σωστές, δοκιμάστε να ελέγξετε αν μπορείτε να συνδεθείτε στον διακομιστή αλληλογραφίας από τον διακομιστή Easy Redmine χρησιμοποιώντας το telnet.
telnet το.δικό.σας.εδώ αριθμός_θύρας_εδώ (
Όταν προσπαθείτε να κάνετε εξαγωγή PDF που οδηγεί σε σφάλμα (ή δεν συμβαίνει τίποτα). Το αρχείο καταγραφής παραγωγής θα καταγράφει σφάλματα παρόμοια με
Errno::EPIPE (Σπασμένος σωλήνας) ή wkhtmltopdf: δεν είναι δυνατή η σύνδεση με τον X server
Προκαλείται από προβλήματα με την εξαγωγή του στοιχείου wkhtmltopdf
Εδώ είναι οι προτεινόμενες λύσεις.
Εξυπηρετητής χωρίς κεφαλή
Αποκτήστε την απαιτούμενη έκδοση του wkhtmltopdf από http://wkhtmltopdf.org/downloads.html
Παράδειγμα (πρέπει να εργαστείτε με τις λεπτομέρειες του δικού σας περιβάλλοντος):
- 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
Μόνο εξυπηρετητής χωρίς κεφαλή
- Πρέπει να έχετε εγκατεστημένο το wkhtmltopdf στον εξυπηρετητή σας στον PATH
(apt-get install wkhtmltox, yum install wkhtmltox)
Πρέπει να είναι εγκατεστημένο στον bundler, διαφορετικά μπορεί να μην λειτουργεί μετά την ενημέρωση του Easy Redmine - Βεβαιωθείτε ότι το πρόγραμμα λειτουργεί σωστά (τρέξτε από την κονσόλα, για παράδειγμα wkhtmltopdf https://easyredmine.com homepage.pdf)
- εκτελέστε ξανά το rake easyproject:install RAILS_ENV=production
- επανεκκινήστε τον εξυπηρετητή
Εγκατάσταση προσθέτου
- ΜΗΝ εγκαθιστάτε προσθέτα ως χρήστης ROOT
- Πρώτα, διαγράψτε όλα τα παλιά πρόσθετα Easy Gantt αν υπάρχουν (πρόσθετα/easy_gantt*)
- Αντιγράψτε όλα τα αποσυμπιεσμένα πρόσθετα στον φάκελο REDMINE_ROOT/plugins
- Στον φάκελο REDMINE_ROOT
Εκτέλεση: |
$ bundle install |
- (ή bundle update) |
$ bundle exec rake db:migrate RAILS_ENV=production |
$ bundle exec rake redmine:plugins:migrate RAILS_ENV=production |
Μετά από αυτό, επανεκκινήστε τον διακομιστή.
Παρακολουθήστε το εκπαιδευτικό βίντεο
Απαιτήσεις για επιτυχή εγκατάσταση
- Έκδοση Redmine: Συμβατό με Redmine 3.2.x, 3.3.x, 3.4.x, 4.x.
- Έκδοση Ruby: 2.3+ (συνιστάται 2.6.)
- Τύπος βάσης δεδομένων: MySQL (συνιστάται), PostgreSQL
Ακολουθήστε τη διαδικασία εγκατάστασης στον #install. Επαληθεύστε εάν το αρχείο καταγραφής της εγκατάστασης δεν περιέχει κανένα σφάλμα. Εάν περιέχει, προσπαθήστε να το επιλύσετε σύμφωνα με την περιγραφή ή επικοινωνήστε με την support@easyredmine.com με το τμήμα του αρχείου καταγραφής που περιέχει το σφάλμα.
Εγκατάσταση στο Bitnami
Το Bitnami δεν έχει δοκιμαστεί ούτε εγγυάται. Εάν η εγκατάσταση αποτύχει, εκτελέστε χειροκίνητα:
Εκτέλεση: |
$ bundle update |
$ rake db:migrate |
$ rake redmine:plugins:migrate |
Τεκμηρίωση / γνώση Gantt
Δοκιμάστε το Easy Redmine σε δωρεάν δοκιμαστική περίοδο 30 ημερών
Πλήρεις λειτουργίες, προστασία SSL, καθημερινά αντίγραφα ασφαλείας, στην τοποθεσία σας
