פריצה לאתר דרך פרצת אבטחה של Drupal היא סיפור נפוץ. לפי הסטטיסטיקות, 80% מההתקפות המוצלחות מנצלות פרצות CVE ידועות שכבר פורסמו עבורן תיקונים. עדכונים שוטפים של הליבה והמודולים הם הדרך היחידה להגן על עצמך. לפי Drupal.org, יותר מ-90% מהפרצות נסגרות על ידי עדכוני אבטחה. אנו עוזרים ללקוחות לבצע תהליך זה בבטחה וללא הפתעות. למהנדסים שלנו יש ניסיון של 7+ שנים עם Drupal 7/8/9/10 והם מבטיחים החזרה למצב קודם בכל נקודה.
Drupal משתמש ב-Composer לניהול תלויות — עדכוני הליבה והמודולים עוברים דרכו. ללא Composer (התקנה ידנית), יש לעבור להגדרה מבוססת Composer, אחרת כל עדכון הופך לפעולה ידנית. אנו מעבירים פרויקטים ל-Composer ומגדירים CI/CD לעדכונים אוטומטיים. זה מקצר את זמן העדכון פי 3 בהשוואה לעבודה ידנית.
אילו בעיות אנו פותרים?
מודולים מיושנים והתלויות שלהם
באמצעות composer outdated "drupal/*" ו-drush pm:security, אנו מזהים מודולים הדורשים עדכון. לעיתים קרובות למודולים יש תלויות הדדיות, ועדכון אחד יכול לגרור שרשרת. אנו מנתחים את גרף התלויות ומעדכנים הכל בפקודת composer update "drupal/*" --with-all-dependencies אחת כדי למנוע התנגשויות.
התנגשויות גרסאות במהלך עדכונים מרכזיים
בעת שדרוג מ-Drupal 9 ל-10, מודולים רבים של קהילה עשויים להיות לא תואמים. אנו משתמשים ב-Upgrade Status לניתוח מקדים וב-Rector לתיקון אוטומטי של קוד מותאם אישית. אם למודול אין חלופה, אנו מתאימים אותו לגרסה החדשה.
אובדן נתונים עקב היעדר גיבוי
הטעות הגדולה ביותר היא דילוג על גיבוי. אנו תמיד יוצרים גיבוי מלא של מסד הנתונים וארכיון קבצים: drush sql:dump --result-file=/backups/drupal-$(date +%Y%m%d).sql --gzip וגיבוי קבצים. אנו בודקים על עותק כדי למנוע השבתה בייצור.
מקרה בוחן: עבור אתר מסחר אלקטרוני על Drupal 9, הגדרנו CI/CD ב-GitLab CI. ה-pipeline יצר אוטומטית גיבוי, עדכן את הליבה והמודולים, הריץ בדיקות Nightwatch, והחיל שינויים על סביבת staging. כתוצאה מכך, זמן העדכון הידני ירד מ-4 שעות ל-30 דקות, וסיכון השגיאות ירד ב-80%.
תהליך עדכון Drupal
עדכון הליבה והמודולים של Drupal מורכב מ-6 שלבים רצופים:
- יצירת גיבוי של מסד הנתונים וקבצי האתר.
- בדיקת עדכונים זמינים דרך
composer outdatedו-drush pm:security. - עדכון הליבה וכל המודולים של הקהילה.
- החלת עדכוני סכמת מסד נתונים דרך
drush updatedb. - בדיקות בסביבת staging (PHPUnit, Nightwatch).
- פריסה לייצור וניטור שגיאות.
הכנה וגיבוי
drush sql:dump --result-file=/backups/drupal-$(date +%Y%m%d).sql --gzip
tar czf /backups/files-$(date +%Y%m%d).tar.gz /var/www/site/web/sites/default/files
drush state:set system.maintenance_mode 1 --input-format=integer
drush cr
בדיקת עדכונים זמינים
composer outdated "drupal/*" drush pm:security עדכון הליבה והמודולים
composer update "drupal/*" --with-all-dependencies drush updatedb drush cr לעדכונים מרכזיים בנוסף:
composer require drupal/core-recommended:^10 --update-with-all-dependencies
vendor/bin/rector process web/modules/custom בדיקות
drush state:set system.maintenance_mode 0 --input-format=integer
drush cr
./vendor/bin/phpunit web/modules/custom
drush watchdog:show --severity=Error --count=50 השוואת סוגי עדכונים
| סוג עדכון | זמן | סיכונים | כלים |
|---|---|---|---|
| מינורי (10.2 → 10.3) | 1-2 שעות | נמוכים | Composer, drush |
| מרכזי (9 → 10) | 1-3 ימים | בינוניים | Upgrade Status, Rector |
| אבטחה | 30 דקות | מינימליים | Composer audit |
חשיבות עדכוני אבטחה בזמן
פרצות במודולים הן הגורם הנפוץ ביותר לפריצות. תיקוני אבטחה מתפרסמים מדי חודש, ודחייתם מגדילה את הסיכון. CI/CD מאפשר יישום אוטומטי של עדכונים כאלה בשעות לא פעילות, וממזער את ההשפעה על המשתמשים.
איך להימנע מטעויות בעדכון Drupal?
| טעות | השלכה | פתרון |
|---|---|---|
| ללא גיבוי | אובדן נתונים | תמיד ליצור גיבוי לפני עדכון |
דילוג על drush sql:dump --result-file=/backups/drupal-$(date +%Y%m%d).sql --gzip tar czf /backups/files-$(date +%Y%m%d).tar.gz /var/www/site/web/sites/default/files drush state:set system.maintenance_mode 1 --input-format=integer drush cr |
אי-תאימות מסד נתונים | תמיד להריץ composer outdated "drupal/*" drush pm:security |
| התעלמות מתאימות מודולים | מסך לבן | בדיקה דרך Upgrade Status |
דוגמה לעדכון שנכשל
לקוח אחד ניסה לעדכן מודול ללא גיבוי וקיבל מסך לבן. שחזרנו את האתר תוך שעתיים, אבל עם גיבוי העדכון היה לוקח 15 דקות. פרטים נוספים בתהליך שלנו.מה כלול בעבודת העדכון
- גיבוי מלא של מסד הנתונים והקבצים
- עדכון הליבה לגרסה התואמת העדכנית ביותר
- עדכון כל המודולים של הקהילה
- בדיקת תאימות קוד מותאם אישית (להעברות מרכזיות)
- בדיקות על עותק של האתר
- תיעוד עם תיאור השינויים
- הגדרת CI/CD לעדכונים אוטומטיים (GitHub Actions, GitLab CI)
לוחות זמנים ועלות
עדכון מתוכנן של הליבה והמודולים — בין שעתיים ל-4 שעות, עלות לפי בקשה לאחר בדיקה. העברה מרכזית (Drupal 9 → 10) — בין יום ל-3 ימים, עלות מחושבת באופן אישי. הגדרת CI/CD לעדכונים אוטומטיים — ממספר שעות, תמחור לפי מורכבות; האוטומציה מחזירה את עצמה לאחר 3–4 מחזורי עדכון. קבלו ייעוץ על עדכון אתר ה-Drupal שלכם וצרו קשר לתוכנית תחזוקה אופטימלית.







