נפילות נופוצות בהתקנה ועדכון של Redmine
מה ששני המערכות Redmine ו-Easy Redmine הן קוד ופוצות בכל פלטפורמה, יתכן שירוגו בעיות בהתקנה ושדרוג עקב תצורות שרת שונות, גרסאות תוכנה או תוספים מותקנים. אנחנו עובדים קשה כדי לעקוב אחר הנפוצות כדי לעזור לך בעיות הפיתרון.
הפעלת יישום האפליקציה מופיעה הודעת שגיאה אחית "יש לך שגיאה בתחביר ה-SQL שלך; בדוק את המדריך המתאים לגרסת שרת ה-MySQL שלך להפעיל תחביר נכון ליד ..." ביומן.
סיבה
זה שבסיסו אינו מעודכן ואינו יכול לעבוד עם הבקשה שהאפליקציה שלנו יכולה לשלוח אליו. הוא פשוט לא מבין אותה.
משתמש
עליך לעדכן את הבסיס שלך.
איך לעדכן את הבסיס?
תיאור מפורט ב-בסיס הידע.
התקנת או עדכון Easy Redmine במשתמש עם הרשאות לא מספקות, לא להתאים להמלצתנו החזקה ב.הוראות (לפחות פעם אחת בעבר).
- תקן הרשאות באמצעות הפקודות chgrp ו־chown לפי הגדרות השרת (לדוגמה, chgrp -R www-data public_html)
- הרץ את ההתקנה שוב צרור exec מגרפה easyproject: להתקין RAILS_ENV = ייצור שיבצע ניקוי למטמון (אם תריץ אותו בשם משתמש root, הוא לא יצליח)
- הפעל את השרת מחדש
אם אתה משתמש במכונה וירטואלית שסופקה על ידי Easy Software, הרץ תחת המשתמש קל:
sudo chown -R קל / home / קל / נוכחי
(במכונות ישנות - sudo chown -R easy /srv/easyredmine/public_html)
sudo chgrp -R קל / home / קל / נוכחי
(במכונות ישנות - sudo chgrp -R easy /srv/easyredmine/public_html)
cd / home / קל / נוכחי
(במכונות ישנות - cd /srv/easyredmine/public_html)
צרור exec מגרפה easyproject: להתקין RAILS_ENV = ייצור
שירות sudo puma@your.domain.name הפעל מחדש
זכור להגדיר את ההרשאות עבור כל התיקיות יתרות.
כאן יש כמה רמזים למה שאתה יכול לעשות אם תתקל בשגיאת 500.
- הרץ בדיקת דרישות שרת קלה ונסה לתקן את התאימות הנכשלים
- גבה את מסד שלך
- הורד את החבילה האחרונה מאזור הלקוח
- וודא שלשרת האינטרנט יש גישה מלאה ציבורית, קבצים, יומנים, זמניים תיקיות
- הרץ צרור להתקין --without מבחן פיתוח
- הרץ צרור exec מגרפה easyproject: להתקין RAILS_ENV = ייצור
- הפעל מחדש את שרת היישום
- מחק כל תוספי Redmine של צד שלישי (גם ממסד)
- כתוב לנו בSupport@easyredmine.com וצרף log/production.log
ישנן סיבות אפשריות רבות של השגיאה הזו. הנה כמה טיפים:
- הבעיה מטמון הדפדפן - נסה למחוק מטמון מהדפדפן
- בעית 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 (כפי שמוצג תוכנה קלה). זה די דומה רשמי אחד רק כמה משתנים מותאמים:
ידידותי נתונים www;
עובד_עבודות 8;
Worker_rlimit_nofile 60000;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
אירועים {
חיבורי עובדים 10240;
# Multi_accept על;
}
http {
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # אל תשתמש ב- SSLv3 ref: POODLE
כולל /etc/nginx/mime.types;
יישום default_type / זרם אוקטט;
server_names_hash_bucket_size 2048;
access_log /var/log/nginx/access.log;
sendfile ב:
#tcp_nopush ב;
# 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;
Type_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 / אתרי תומכים / *;
כולל / etc / nginx / אתרים-אוטומטי / *;
}
סיבות אפשריות נוספות לשגיאה 502 כוללים ...
Unicorn אינו פועל כלל, בשל
- הרשאות לא מספיקות
- גרסה הלא נכונה של נוסע
- גרסת רובה שגויה
- אבני חן חסר
- מערכת קבצים שבורות
כדי לברר את הבעיה המדויקת, אתה צריך לבדוק את יומני שגיאות Unicorn או Apache + יומן היישום קל Redmine (log / production.log)
פסק זמן
אם פסק זמן נמוך מוגדר, שגיאה זו תוצג על:
- יצוא גדול
- עומס של השרת
- משימות מגרפה לברוח GUI
הגבל של קשרי MySQL
ודא שיש לך מספר מספיק של חיבורים מותרים ל MySQL. זה תלוי במספר המשתמשים, אבל אתה צריך לפחות 100 מותר.
שגיאה זו מתרחשת מגרסה 2018 1.2 ( פלטפורמה 04.00 ומעלה)
שגיאה על התקנת שדרוג המכילה אחת מהבאות.
[!] הייתה שגיאה בניתוח `Gemfile`:
[!] הייתה שגיאה בניתוח `Gemfile`: לא ניתן לטעון כזה --
# plugin 'rys-bundler', github: 'easysoftware / rys-bundler', branch: 'master'> Plugin.hook ('rys-gemfile', עצמי)
באנדלר לא יכול להמשיך.
זה נגרם על ידי גרסה מיושנת של מתקין redmine.
פתרון:
לפני התקנת השדרוג
$ gem להתקין 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 או אמולציה אחרת)
בדוק זאת באמצעות: "wkhtmltopdf google.com google.pdf"
הוסף לתצורת הפרוקסי שלך:
proxy_set_header X-Forwarded-הפרוטו https
בדוק את תצורת cron. חשוב מאוד כי משימות מגרפה הן לא המנוהל על ידי שורש. זה יגרום לכשל עקב הרשאות לא מספיקות.
נניח אתה מפעיל קל Redmine תחת משתמש קל. הפקודות הן:
הצג crons פעיל -l crontab -u קל
עריכה -e crontab -u קל
החל שינויים שירות
דוגמה להפעלת cron כל דקות 5:
* / 5 * * * * /home/easy/scripts/easy_scheduler.sh &> / dev / null
#! / bin / bash -l
LOG_FILE = "/ home / easy / current / log / easy_scheduler_rake.log"
הד "$ (תאריך '+% Y-% m-% d% H:% M:% S') התחל לגרוף" >> $ {LOG_FILE}
cd / home / קל / נוכחי && bundle exec rake easyproject: מתזמן: run_tasks RAILS_ENV = ייצור >> $ {LOG_FILE}
הד "$ (תאריך '+% Y-% m-% d% H:% M:% S') מגרפה סוף" >> $ {LOG_FILE}
/home/easy/scripts/easy_scheduler.sh חייב להיות קובץ הפעלה:
sudo chmod + x /home/easy/scripts/easy_scheduler.sh
אל תהססו לחפש באינטרנט מדריך מדויק יותר להגדיר cron בשרת שלך. זה לא תפקיד קל Redmine נדרש באופן בלעדי.
כאשר אתה מעדכן את Easy Redmine בפלטפורמה של Windows ונתקל בהודעת שגיאה ExecJs :: RuntimeError
כל מה שעליך לעשות הוא להתקין את NODEJS מערכת שלך עבור העדכון המתאים.
אם ההתקנה נכשלה, הרץ באופן ידני:
$ עדכון החבילה
db מגרפה $: נודדים
$ מגרפה redmine: plugins: נודדים
ודא ששרת האינטרנט שלך תומך בגודל הממשי של כתובת ה-URL
ודא שאתה לא משתמש בשרת האינטרנט Webrick!
- ודא שיש לך את הגרסה האחרונה של השרת האינטרנט ושל רובי
- קבע מחדש את שאילתות הסינון האיטיות כדי להציג פחות שדות
- אפס את ה-CRON שלך כך שלא יופעל בתדירות רבה
- ספציפי למחקר המקרה הזה - מהירות ברילס ללא ניגוע בקוד רובי
- בדוק את התצורה שלך - https://www.easyredmine.com/resources/installation/1885-recommended-optimal-configuration-of-easy-redmine-server
העתק תיקיית קבצים מה-Redmine הישן שלך.
אתה יכול לשנות את מיקום הקבצים המוגדר כברירת מחדל בקובץ התצורה של Redmine או להשתמש בסימלינק. אחסון קבצים ברשת מקומית או בענן אינו מומלץ בשל בעיות אמינות.
הגדרות:
./config/configuration.ym
# נתיב מוחלט לתיקייה בה מאוחסנים הקבצים.
# ברירת המחדל היא התיקייה 'קבצים' במופע 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]
- תלוי בהגדרות הלקוח, זה יכול לדרוש כתובת URL יחידה או את המפתח בשדה שונה
עבור SVN - https://easyredmine.company.com/ Sys / fetch_changesets
או https://easyredmine.company.com/ Sys / fetch_changesets? Key =[מפתח API]
מנקודה 5 והלאה, זה כל עניין של הלקוח של המאגר ואינו קשור להגדרות של Easy Redmine. זה משהו שעליך לאחר התקנה נקייה או שדרוג מ-Redmine.
בעת הגדרת הדומיין של ה-Easy Redmine שלך, וודא משתמש בדומיין מרמה ראשונה לפחות, למשל http://myeasyredmine.com במקום רק http://myeasyredmine. יכול שישנם דפדפנים שיתקלו בבעיה בהגעה אליו.
עבור לניהול >> הגדרות >> הודעות אימייל
ובדוק שכתובת השולח נכונה.
היא צריכה להיות זהה (או לפחות מאות מאות שרת SMTP) כמו בקובץ התצורה. אחרת, חלק משירותי האימייל (gmail, yahoo, וכו') מסייעים לדחות הודעות.
בדוק את התצורה שלך על פי מאמר זה בבסיס הידע.
כדי לתקן את הפתרון הנכון, נסה לבדוק אם להתחבר לשרת הדואר משרת Easy Redmine שלך באמצעות טלנט.
טלנט שם_הדומיין_שלך פורט_כאן (לדוגמה: טלנט gmail.com 465)
זה יראה לך אם אתה באמת יכול להתחבר לשרת הדואר שלך או שיש בעיה בתצורת השרת שלך.
כאשר אתה עושה ייצוא של PDF שמסתיים בשגיאה (או נראה כאילו כלום לא קורה). יופיעו שגיאות דומות ביומן הייצור כמו
Errno::EPIPE (צינור שבור) או wkhtmltopdf: לא ניתן להתחבר לשרת X
נגרמות על ידי בעיות בייצוא הרכיב wkhtmltopdf
כאן מוצעות הפתרונות המוצעים.
שרת ללא ראש
קבל את הגרסה של wkhtmltopdf מhttp://wkhtmltopdf.org/downloads.html
דוגמה (עליך לעבוד עם פרטי הסביבה שלך):
- sudo מתאים לקבל התקנת 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
- הד 'exec xvfb-run -a -s "-מסך 0 640x480x16" xwkhtmltopdf "$ @"' | sudo tee / usr / local / bin / wkhtmltopdf> / dev / null
- sudo chmod a + x / usr / local / bin / wkhtmltopdf
שרת לא ראש בלבד
- עליך להתקין את wkhtmltopdf בשרת שלך בתוך נתיב
(Apt-get install wkhtmltox, יאם להתקין wkhtmltox)
עליו להיות מותקן ב-bundler, אחרת ייתכן שלא יעבוד לאחר עדכון Easy Redmine - וודא שהתו עובדת כראוי (הרץ מהקונסולה לדוגמה wkhtmltopdf https://easyredmine.com homepage.pdf)
- הפעל מחדש את ה-rake easyproject:install RAILS_ENV=production
- הפעל מחדש את השרת
התקנת תוסף
- אל תתקין תוספים כמשתמש ROOT
- ראשית, מחק את כל התוספים הי של Easy Gantt אם קיימים (plugins/easy_gantt*)
- העתק את כל התוספים שנפתחו מתוך הקובץ הכיור לתוך REDMINE_ROOT/plugins
- בתוך REDMINE_ROOT
הרץ: |
$ חבילה להתקין |
- (או עדכון חבילה) |
צרור exec $ db מגרפה: להעביר RAILS_ENV = ייצור |
צרור exec $ מגרפה redmine: plugins: להעביר RAILS_ENV = ייצור |
לאחר מכן, הפעל מחדש את השרת.
דרישות להתקנה מוצלחת
- גרסת Redmine: תואם את Redmine 3.2.x, 3.3.x, 3.4.x, 4.x.
- גרסת רובי: 2.3+ (מומלץ 2.6.)
- סוג מסד נתונים: MySQL (מומלץ), PostgreSQL
עקוב אחר הליך ההתקנה ב#להתקין. בדוק אם יש בלוג התקנת שגיאות. אם כן, נסה לפתור לפי התיאור, או ליצור קשר עם Support@easyredmine.com וצרף את חלק השגיאה מהלוג.
התקנה על ביטנאמי
ביטנאמי לא עבר בדיקה ואין הבטחה. אם ההתקנה נכשלה, הרץ באופן ידני:
הרץ: |
$ עדכון החבילה |
db מגרפה $: נודדים |
$ מגרפה redmine: plugins: נודדים |