Συνηθισμένα προβλήματα εγκατάστασης και ενημέρωσης Redmine
δεδομένου ότι και οι δύο Το Redmine και το Easy Redmine είναι Open Source και είναι περισσότερο ή λιγότερο ανεξάρτητα από την πλατφόρμα, ενδέχεται να προκύψουν ορισμένα προβλήματα κατά την εγκατάσταση και την αναβάθμιση λόγω διαφόρων διαμορφώσεων διακομιστών, εκδόσεων λογισμικού ή πρόσθετων εφαρμογών. Δουλεύουμε σκληρά για να παρακολουθήσουμε τα πιο κοινά για να σας βοηθήσουμε στην αντιμετώπιση προβλημάτων.
Κατά την ενημέρωση της εφαρμογής ένα μήνυμα σφάλματος που περιέχει "Έχετε σφάλμα στη σύνταξη SQL. ελέγξτε το εγχειρίδιο που αντιστοιχεί στην έκδοση του διακομιστή MySQL για τη σωστή σύνταξη για χρήση κοντά ... "εμφανίζεται στο αρχείο καταγραφής.
Αιτία
Αυτό σημαίνει ότι η βάση δεδομένων σας είναι παλιά και δεν μπορεί να λειτουργήσει με το αίτημα που της στέλνει η εφαρμογή μας. Απλώς δεν το καταλαβαίνει.
Λύση
Πρέπει να ενημερώσετε τη βάση δεδομένων σας.
Πώς να ενημερώσετε τη βάση δεδομένων;
Αναλυτική περιγραφή στο Βάση γνώσεων.
Εγκαταστήσατε ή ενημερώσατε το Easy Redmine κάτω από το χρήστη με ανεπαρκή δικαιώματα, μη ακολουθώντας τις ισχυρές μας συστάσεις στο οδηγίες (Τουλάχιστον μία φορά κατά το παρελθόν).
- Σωστές άδειες από τις εντολές chgrp και chown σύμφωνα με τις ρυθμίσεις του διακομιστή (π.χ.. chgrp -R public_html www-data)
- και πάλι τρέχουν εγκατάσταση δέσμη exec easyproject γκανιότα: εγκατάσταση RAILS_ENV = παραγωγή η οποία θα καθαρίσει cache (αν το τρέχει από τον root, θα δεν να είναι επιτυχής)
- Επανεκκινήστε το διακομιστή
Εάν χρησιμοποιείτε εικονική μηχανή που παρέχονται από την Easy Λογισμικό, τρέχουν κάτω από το χρήστη εύκολος:
sudo chown -R εύκολο / home / easy / current
(σε παλαιότερες μηχανές - sudo chown -R easy / srv / easyredmine / public_html)
sudo chgrp -R εύκολο / home / easy / current
(σε παλαιότερες μηχανές - sudo chgrp -R easy / srv / easyredmine / public_html)
cd / home / easy / current
(σε παλαιότερες μηχανές - cd / srv / easyredmine / public_html)
δέσμη exec easyproject γκανιότα: εγκατάσταση RAILS_ENV = παραγωγή
επανεκκίνηση της υπηρεσίας sudo puma@your.domain.name
Θυμηθείτε να ορίσετε τα δικαιώματα για όλους τους απαραίτητους φακέλους.
Ακολουθούν μερικές συμβουλές για το τι μπορείτε να κάνετε εάν αντιμετωπίζετε σφάλμα 500.
- τρέξιμο Απλός έλεγχος απαιτήσεων διακομιστή και προσπαθήστε να επισκευάσετε τις αποτυχημένες επικυρώσεις
- back-up της βάσης δεδομένων σας
- κατεβάστε το τελευταίο πακέτο από τη Ζώνη Πελάτη
- βεβαιωθείτε ότι ο διακομιστής έχει Πλήρης πρόσβαση δημόσια, αρχεία, ημερολόγιο, tmp φακέλους
- τρέξιμο δέσμη εγκαταστήσετε --without δοκιμή ανάπτυξης
- τρέξιμο δέσμη exec easyproject γκανιότα: εγκατάσταση RAILS_ENV = παραγωγή
- κάντε επανεκκίνηση του διακομιστή εφαρμογών
- διαγράψετε Redmine plugins όσες ομάδες 3rd »(επίσης από τη βάση δεδομένων)
- γράψτε μας στο support@easyredmine.com και επισυνάψτε log / production.log
Υπάρχουν πολλές πιθανές αιτίες αυτού του σφάλματος. Ακολουθούν μερικές συμβουλές:
- πρόβλημα cache του browser - δοκιμάστε να διαγράψετε cache από τον browser
- πρόβλημα DNS
- προβλήματος ρύθμιση διακομιστή
Πρώτα ελέγξτε τη σύνδεση και το δίκτυό σας (βεβαιωθείτε ότι ο διακομιστής είναι προσβάσιμος χρησιμοποιώντας μια εντολή ping ή εντολή traceroute). Πλευρά διακομιστή τείχους προστασίας.
Εάν όλα τα παραπάνω φαίνονται καλά, προσπαθήστε να λάβετε μερικές πληροφορίες από το nginx error.logs. Ελέγξτε το nginx error.log από την πλευρά του διακομιστή - /var/log/nginx/error.log
Διπλός έλεγχος ότι η διαμόρφωση nginx σας ταιριάζει με το πρότυπο. Τυπική διαμόρφωση nginx μπορείτε να βρείτε εδώ:
https://www.redmine.org/projects/redmine/wiki/HowTo_configure_Nginx_to_run_Redmine
Παράδειγμα μιας ρύθμισης nginx (όπως χρησιμοποιείται από την Easy Software). Είναι αρκετά παρόμοια με τα επίσημα ένα μόνο λίγες μεταβλητές βελτιστοποιηθεί:
χρήστης www-data?
εργαζόμενοι_επεξεργασίες 8;
worker_rlimit_nofile 60000?
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
εργαζόμενοι_συνδέσεις 10240;
# Multi_accept για?
}
http {
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # μην χρησιμοποιείτε SSLv3 ref: POODLE
συμπεριλάβετε τους τύπους /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;!)."?
περιλαμβάνουν το /etc/nginx/conf.d/*.conf.
περιλαμβάνουν / etc / nginx / sites-enabled / *;
περιλαμβάνουν / etc / nginx / sites-auto / *.
}
Άλλες πιθανές αιτίες σφάλματος 502 περιλαμβάνουν ...
Unicorn δεν λειτουργεί καθόλου, λόγω της
- ανεπαρκή δικαιώματα
- Λάθος έκδοση του επιβάτη
- Λάθος έκδοση Ruby
- Λείπει πολύτιμοι λίθοι
- σπασμένο σύστημα αρχείων
Για να μάθετε το ακριβές πρόβλημα, θα πρέπει να ελέγξετε τα αρχεία καταγραφής σφαλμάτων στο μονόκερο ή Apache + αρχείο καταγραφής εφαρμογής από την Easy Redmine (log / production.log)
Χρονικό όριο
Εάν έχει ρυθμιστεί μικρό χρονικό όριο, αυτό το σφάλμα θα εμφανιστεί:
- μεγάλες εξαγωγές
- υπερφόρτωση του διακομιστή
- καθηκόντων γκανιότα τρέχει από το GUI
Όριο των συνδέσεων MySQL
Βεβαιωθείτε ότι έχετε αρκετό αριθμό συνδέσεων που επιτρέπονται στην MySQL. Εξαρτάται από τον αριθμό των χρηστών, αλλά θα πρέπει να έχετε τουλάχιστον ένα 100 επιτρέπεται.
Αυτό το σφάλμα προκύπτει από την έκδοση 2018 1.2 (πλατφόρμα 04.00 και υψηλότερη)
Σφάλμα κατά την εγκατάσταση της αναβάθμισης που περιέχει ορισμένα από τα παρακάτω.
[!] Παρουσιάστηκε ένα σφάλμα κατά την ανάλυση του `Gemfile`:
[!] Παρουσιάστηκε ένα σφάλμα κατά την ανάλυση του `Gemfile`: δεν είναι δυνατή η φόρτωση αυτού του αρχείου -
# plugin 'rys-bundler', github: 'easysoftware / rys-bundler', κλάδος: 'master'> Plugin.hook ('rys-gemfile', self)
Ο Bundler δεν μπορεί να συνεχιστεί.
Προκαλείται από την ξεπερασμένη έκδοση του προγράμματος εγκατάστασης Redmine.
Λύση:
Πριν εγκαταστήσετε την αναβάθμιση
$ gem install redmine-installer
Αυτά τα προβλήματα παρουσιάζονται όταν χρησιμοποιείτε ένα επίθημα στη διεύθυνση URL Easy Easy, για παράδειγμα: https://company.com/easyredmine/
Σε αυτή την περίπτωση, πρέπει να βεβαιωθείτε ότι έχετε τη μεταβλητή RAILS_RELATIVE_URL_ROOT ρυθμισμένη στη σωστή κατάληξή σας / easyredmine
Bitnami:
- Δημιουργήστε ένα πρόσθετο αρχείο ρυθμίσεων config / additional_environment.rb
- config.action_controller.relative_url_root = "/ easyredmine"
- Στη συνέχεια precompile περιουσιακά στοιχεία (γκανιότα easyproject: εγκατάσταση RAILS_ENV = παραγωγή) και επανεκκίνηση του διακομιστή
Σιγουρευτείτε wkhtmltopdf είναι εγκατεστημένο και λειτουργεί (wkhtmltopdf χρειάζεται διακομιστή X ή άλλη εξομοίωση)
Δοκιμάστε το χρησιμοποιείτε: "wkhtmltopdf google.com google.pdf"
Προσθήκη στη διαμόρφωση του διακομιστή μεσολάβησης σας:
proxy_set_header X-Forwarded-Proto https
Ελέγξτε τη διαμόρφωση cron. Είναι πολύ σημαντικό ότι τα καθήκοντα γκανιότας είναι ΔΕΝ τρέχει από τη ρίζα. Θα προκαλέσει αποτυχία λόγω ανεπαρκών δικαιωμάτων.
Ας υποθέσουμε ότι εκτελείτε το Easy Redmine κάτω από το χρήστη εύκολη. Οι εντολές είναι:
Προβολή ενεργών crons crontab -u εύκολο -l
Επεξεργασία crontab -u εύκολο -ε
Εφαρμογή αλλαγών υπηρεσία sudo cron reload
Παράδειγμα για την εκτέλεση cron κάθε 5 λεπτά:
* / 5 * * * * /home/easy/scripts/easy_scheduler.sh &> / dev / null
#! / bin / bash -l
LOG_FILE = "/ home / εύκολο / τρέχον / log / easy_scheduler_rake.log"
echo "$ (ημερομηνία '+% Y-% m-% d% H:% M:% S') έναρξη τσουγκράνας" >> $ {LOG_FILE}
cd / home / easy / current && bundle exec rake easyproject: scheduler: run_tasks RAILS_ENV = παραγωγή >> $ {LOG_FILE}
echo "$ (ημερομηνία '+% Y-% m-% d% H:% M:% S') τελική τσουγκράνα" >> $ {LOG_FILE}
/home/easy/scripts/easy_scheduler.sh πρέπει να είναι εκτελέσιμο:
sudo chmod + x /home/easy/scripts/easy_scheduler.sh
Μη διστάσετε να ψάξετε στο διαδίκτυο για ένα ακριβέστερο εγχειρίδιο για να ρυθμίσετε το cron στον server σας. Δεν είναι απαραίτητη η λειτουργία Easy Redmine.
Όταν ενημερώνετε το Easy Redmine στην πλατφόρμα των Windows και πατάτε μήνυμα σφάλματος ExecJs :: RuntimeError
Το μόνο που έχετε να κάνετε είναι να εγκαθιστώ NODEJS στο σύστημά σας για τη σωστή ενημέρωση.
Αν αποτύχει η εγκατάσταση, εκτελέστε το χέρι:
$ update update
$ Rake db: μεταναστεύσουν
$ rake redmine: plugins: μεταναστεύουν
Βεβαιωθείτε ότι ο διακομιστής σας υποστηρίζει πραγματικό μέγεθος της διεύθυνσης URL
Βεβαιωθείτε ότι είστε ΔΕΝ χρησιμοποιώντας Webrick webserver!
- βεβαιωθείτε ότι έχετε την τελευταία έκδοση του webserver και του Ruby
- αναμορφώσουν τις αργές ερωτήματα φίλτρο για να δείξει λιγότερο πεδία
- μπορείτε να επαναφέρετε CRON να μην ξεκινήσει τόσο συχνά
- αναφέρονται σε αυτήν την μελέτη περίπτωσης - Κιγκλίδωμα επιταχύνει χωρίς να αγγίξει τον κωδικό Ruby
- ελέγξτε τις ρυθμίσεις σας - https://www.easyredmine.com/resources/installation/1885-recommended-optimal-configuration-of-easy-redmine-server
αντίγραφο αρχεία φάκελο από το παλιό σας Redmine.
Μπορείτε να αλλάξετε την τοποθεσία προεπιλεγμένων αρχείων στο αρχείο ρυθμίσεων του Redmine ή μπορείτε να χρησιμοποιήσετε ένα σύζευγμα. Οι αποθήκες δικτύου LAN ή cloud για συνημμένα είναι δεν προτείνεται εξαιτίας αξιοπιστία θέματα.
Διαμόρφωση:
./config/configuration.yml
# Απόλυτη διαδρομή προς τον κατάλογο όπου αποθηκεύονται τα συνημμένα.
# Η προεπιλογή είναι ο κατάλογος 'αρχεία' στην παρουσία σας Redmine.
# Η παρουσία σας EasyRedmine χρειάζεται να έχει δικαιώματα ανάγνωσης / εγγραφής σε αυτόν τον κατάλογο.
# Παραδείγματα: attachments_storage_path: / var / www / redmine / αρχεία
Αντιμετώπιση προβλημάτων:
Αν δεν μπορείτε να ανοίξετε ένα συνημμένο, ανατρέξτε στην ενότητα ./log/production.log για κοινά σφάλματα:
Δεν είναι δυνατή η αποστολή συνημμένου, /var/www/redmine/files/2015/08/150805095407_xxx.PNG δεν υπάρχει ή είναι μη αναγνώσιμο
ENOENT, Η άδεια αρνήθηκε... και τα λοιπα.
Βεβαιωθείτε ότι έχει ο διακομιστής ιστού σας Πλήρης πρόσβαση δημόσια, αρχεία, ημερολόγιο, tmp φακέλους
Οι νέες δεσμεύσεις στο αποθετήριο σας δεν αντικατοπτρίζονται στο 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
και βεβαιωθείτε ότι η διεύθυνση FROM είναι σωστή.
Θα πρέπει να είναι το ίδιο (ή τουλάχιστον από τον ίδιο διακομιστή SMTP) όπως στο αρχείο ρυθμίσεων. Διαφορετικά, ορισμένες υπηρεσίες ηλεκτρονικού ταχυδρομείου (gmail, yahoo, κ.λπ.) ενδέχεται να απορρίψουν τις ειδοποιήσεις.
Ελέγξτε τη διαμόρφωσή σας σύμφωνα με αυτό το άρθρο στη βάση γνώσεων.
Για να επαληθεύσετε ότι η ρύθμιση παραμέτρων είναι σωστή, δοκιμάστε να ελέγξετε αν μπορεί να συνδεθεί με το διακομιστή αλληλογραφίας από το διακομιστή Easy Redmine χρησιμοποιώντας το telnet.
telnet your.domain.here port_number_here (Για παράδειγμα: telnet gmail.com 465)
Θα σας δείξει αν μπορείτε πραγματικά να συνδεθείτε με το mailserver σας ή υπάρχει κάποιο πρόβλημα στη διαμόρφωση του mailserver.
Όταν προσπαθείτε να κάνετε εξαγωγή PDF που οδηγεί σε σφάλμα (ή ενεργεί σαν να μην συμβαίνει τίποτα). Το αρχείο καταγραφής παραγωγής εμφανίζει σφάλμα παρόμοιο με αυτό
Errno :: EPIPE (Σπασμένος σωλήνας) or wkhtmltopdf: δεν είναι δυνατή η σύνδεση με διακομιστή X
Προκαλείται από προβλήματα με το στοιχείο εξαγωγής wkhtmltopdf
Εδώ είναι οι προτεινόμενες λύσεις.
Διακομιστής χωρίς κεφαλή
Λάβετε την απαιτούμενη έκδοση του wkhtmltopdf από http://wkhtmltopdf.org/downloads.html
Παράδειγμα (πρέπει να εργαστείτε με λεπτομέρειες για το δικό σας περιβάλλον):
- sudo apt-get εγκατάσταση 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 εγκατάσταση
- 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 να εγκαταστήσετε wkhtmltox, yum install wkhtmltox)
Πρέπει να εγκατασταθεί σε πακέτο, διαφορετικά μπορεί να μην λειτουργήσει μετά την ενημέρωση του Easy Redmine - Βεβαιωθείτε ότι το πρόγραμμα λειτουργεί σωστά (για παράδειγμα εκτελέστε από την κονσόλα wkhtmltopdf https://easyredmine.com homepage.pdf)
- επανεκκίνηση rake easyproject: εγκατάσταση RAILS_ENV = παραγωγή
- κάντε επανεκκίνηση του διακομιστή
Εγκατάσταση πρόσθετου
- Μην εγκαθιστάτε plugins ως χρήστη ROOT
- Αρχικά, διαγράψτε όλες τις παλιές προσθήκες Easy Gantt εάν υπάρχουν (plugins/easy_gantt*)
- Αντιγράψτε όλα τα αποσυμπιεσμένα πρόσθετα στο REDMINE_ROOT/πρόσθετα
- Σε REDMINE_ROOT
Τρέξιμο: |
$ bundle install |
- (ή ενημέρωση πακέτου) |
$ bundle exec rake db: migrate RAILS_ENV = παραγωγή |
$ bundle exec rake redmine: plugins: migrate RAILS_ENV = παραγωγή |
Μετά από αυτό, κάντε επανεκκίνηση του διακομιστή.
Παρακολουθήστε εκπαιδευτικό βίντεο
Απαιτήσεις για την επιτυχή εγκατάσταση
- Έκδοση Redmine: Συμβατό με το Redmine 3.2.x, 3.3.x, 3.4.x, 4.x.
- Ruby έκδοση: 2.3 + (συνιστάται 2.6).
- τύπο βάσης δεδομένων: MySQL (συνιστάται), PostgreSQL
Ακολουθήστε τη διαδικασία εγκατάστασης #εγκαθιστώ. Ελέγχει αν το αρχείο καταγραφής εγκατάστασης δεν περιέχει σφάλματα. Αν συμβεί αυτό, προσπαθήστε να το λύσουν, σύμφωνα με την περιγραφή, ή επαφή support@easyredmine.com με το τμήμα σφάλμα του ημερολογίου που επισυνάπτεται.
Εγκατάσταση στο Bitnami
Το Bitnami δεν έχει δοκιμαστεί ούτε είναι εγγυημένο. Εάν η εγκατάσταση αποτύχει, εκτελέστε το με μη αυτόματο τρόπο:
Τρέξιμο: |
$ update update |
$ Rake db: μεταναστεύσουν |
$ rake redmine: plugins: μεταναστεύουν |