Το άρθρο αυτό καλύπτει δύο μεθόδους ενημέρωσης Drupal: τη μέθοδο μέσω Composer (προτεινόμενη για Drupal 9, 10 και 11) μέσω SSH, και τη διαδρομή ενημέρωσης μέσω admin UI για παλαιότερες εγκαταστάσεις. Και οι δύο μέθοδοι ολοκληρώνονται με εκτέλεση ενημερώσεων βάσης μέσω Drush και εκκαθάριση cache.

Πριν ενημερώσετε

Να δημιουργείτε πάντα πλήρες backup πριν ενημερώσετε το Drupal core ή οποιοδήποτε module. Αυτό σάς δίνει σημείο επαναφοράς αν κάτι πάει στραβά. Δείτε πώς να δημιουργήσετε και να επαναφέρετε backup Drupal.

  • Πλήρες backup ιστότοπου (βάση δεδομένων + αρχεία) δημιουργημένο και επαληθευμένο
  • Πρόσβαση SSH στο hosting σας (για ενημερώσεις μέσω Composer)
  • Composer 2 διαθέσιμο στον server — η HOSTDOG παρέχει Composer 2 σε όλα τα πακέτα
Προειδοποίηση: Μη ενημερώνετε ποτέ το Drupal σε ενεργό production ιστότοπο χωρίς προηγούμενη δοκιμή σε staging περιβάλλον, ειδικά για αναβαθμίσεις κύριας έκδοσης (π.χ. Drupal 9 → 10).

Μέθοδος 1: Ενημέρωση μέσω Composer (προτεινόμενη)

Το Drupal 9, 10 και 11 διαχειρίζονται με Composer. Όλες οι ενημερώσεις core και modules πρέπει να γίνονται μέσω Composer για σωστή διαχείριση εξαρτήσεων. Αυτή η μέθοδος απαιτεί πρόσβαση SSH.

Βήμα 1:
Συνδεθείτε μέσω SSH

Συνδεθείτε στον λογαριασμό φιλοξενίας σας στη HOSTDOG μέσω SSH. Δείτε πώς να συνδεθείτε μέσω SSH αν χρειάζεστε βοήθεια. Μόλις συνδεθείτε, μεταβείτε στον ριζικό κατάλογο Drupal (τον κατάλογο που περιέχει το composer.json):

cd ~/public_html
Βήμα 2:
Ελέγξτε τις διαθέσιμες ενημερώσεις

Εκτελέστε την παρακάτω εντολή για να δείτε ποιες ενημερώσεις είναι διαθέσιμες χωρίς να τις εφαρμόσετε:

composer outdated --direct

Μπορείτε επίσης να ελέγξετε μέσω Drush:

drush pm:list --status=enabled --fields=name,version
Βήμα 3:
Ενημερώστε το Drupal core

Για ενημέρωση του Drupal core στην τελευταία patch ή minor έκδοση εντός της τρέχουσας κύριας έκδοσης:

composer update drupal/core-recommended drupal/core-composer-scaffold --with-all-dependencies

Αν το project σας χρησιμοποιεί απευθείας το drupal/core (παλαιότερη ρύθμιση):

composer update drupal/core --with-all-dependencies
Συμβουλή: Για αναβάθμιση κύριας έκδοσης (π.χ. Drupal 9 → 10), πρέπει πρώτα να αλλάξετε τον περιορισμό έκδοσης στο composer.json. Αυτή είναι πιο σύνθετη διαδικασία — η ομάδα υποστήριξης της HOSTDOG μπορεί να βοηθήσει μέσω αιτήματος.
Βήμα 4:
Ενημερώστε τα contributed modules

Για ενημέρωση όλων των contributed modules ταυτόχρονα:

composer update drupal/* --with-all-dependencies

Για ενημέρωση συγκεκριμένου module μόνο:

composer update drupal/module_name --with-all-dependencies
Βήμα 5:
Εκτελέστε τις ενημερώσεις βάσης δεδομένων

Μετά την ενημέρωση του Drupal core ή modules, να εκτελείτε πάντα το script ενημέρωσης βάσης για να εφαρμοστούν τυχόν αλλαγές στο σχήμα:

drush updb -y

Αυτό ισοδυναμεί με επίσκεψη στο yourdomain.com/update.php στο πρόγραμμα περιήγησης, αλλά είναι γρηγορότερο και αυτοματοποιήσιμο.

Βήμα 6:
Εκκαθαρίστε το cache

Εκκαθαρίστε όλα τα cache του Drupal μετά την εκτέλεση ενημερώσεων:

drush cr

Στη συνέχεια επισκεφθείτε τον ιστότοπό σας για να επιβεβαιώσετε ότι όλα λειτουργούν σωστά.

Μέθοδος 2: Ενημέρωση μέσω admin UI

Για εγκαταστάσεις Drupal που δεν διαχειρίζονται μέσω Composer (συνήθως παλαιότερες εγκαταστάσεις Drupal 7 ή 8), μπορείτε να χρησιμοποιήσετε τη διεπαφή διαχειριστή για ενημέρωση contributed modules. Σημειώστε ότι αυτή η μέθοδος δεν ενημερώνει το Drupal core — οι ενημερώσεις core σε μη-Composer εγκαταστάσεις απαιτούν χειροκίνητη αντικατάσταση αρχείων.

Βήμα 1:
Ελέγξτε για διαθέσιμες ενημερώσεις

Στο Drupal admin, μεταβείτε στο Reports → Available updates. Το Drupal θα ελέγξει στο drupal.org για νεότερες εκδόσεις των εγκατεστημένων modules και του core. Οι διαθέσιμες ενημερώσεις παρατίθενται με την κατάσταση ασφαλείας τους.

Βήμα 2:
Κατεβάστε και εφαρμόστε ενημερώσεις modules

Στην αναφορά διαθέσιμων ενημερώσεων, επιλέξτε τα modules που θέλετε να ενημερώσετε και κάντε κλικ στο Download these updates. Το Drupal θα κατεβάσει τις νέες εκδόσεις και θα σας ζητήσει να εκτελέσετε το script ενημέρωσης. Ακολουθήστε τις οδηγίες στην οθόνη για να ολοκληρώσετε τη διαδικασία.

Βήμα 3:
Εκτελέστε το update.php

Αφού ενημερωθούν τα αρχεία, επισκεφθείτε το yourdomain.com/update.php στο πρόγραμμα περιήγησης (ή εκτελέστε drush updb -y μέσω SSH). Αυτό εφαρμόζει τυχόν αλλαγές στο σχήμα βάσης που περιλαμβάνονται στα ενημερωμένα modules. Αφού ολοκληρωθεί, εκκαθαρίστε το cache στο Administration → Performance → Clear all caches.

Αντιμετώπιση προβλημάτων

Η ενημέρωση Composer αποτυγχάνει με σύγκρουση εξαρτήσεων

Μια σύγκρουση εξαρτήσεων σημαίνει ότι κάποιο module ή οι εξαρτήσεις του απαιτούν έκδοση ασύμβατη με την έκδοση Drupal στόχο. Ελέγξτε την έξοδο σφάλματος για το πακέτο που προκαλεί τη σύγκρουση. Ίσως χρειαστεί πρώτα να ενημερώσετε ή να αφαιρέσετε το προβληματικό module, ή να ελέγξετε τη λίστα issues του στο drupal.org για συμβατή έκδοση.

Αυτό συνήθως σημαίνει ότι δεν εκτελέστηκαν οι ενημερώσεις βάσης ή ότι κάποιο module δεν είναι συμβατό με τη νέα έκδοση Drupal. Συνδεθείτε μέσω SSH και εκτελέστε drush updb -y και έπειτα drush cr. Αν το πρόβλημα παραμένει, ελέγξτε τα πρόσφατα μηνύματα καταγραφής Drupal μέσω drush watchdog:show για το συγκεκριμένο σφάλμα.

Επαναφέρετε το backup που δημιουργήσατε πριν την ενημέρωση. Δείτε πώς να επαναφέρετε backup Drupal. Αυτός είναι ο λόγος που το backup πριν από κάθε ενημέρωση είναι απαραίτητο — είναι το δίχτυ ασφαλείας σας.

Χρειάζεστε βοήθεια; Αν μια ενημέρωση προκαλέσει πρόβλημα στον ιστότοπό σας Drupal, η ομάδα μας είναι διαθέσιμη 24/7. Πλοηγηθείτε στην αρχική σελίδα της HOSTDOG και πατήστε Log in για να υποβάλετε αίτημα υποστήριξης και θα σας εξυπηρετήσουμε άμεσα.