Το άρθρο αυτό εξηγεί πώς να συνδεθείτε στο hosting σας στη HOSTDOG μέσω SSH και να εκτελέσετε εντολές Drush για τη διαχείριση του Drupal ιστότοπού σας. Καλύπτει τις πιο συνηθισμένες λειτουργίες — εκκαθάριση cache, εκτέλεση ενημερώσεων βάσης, εισαγωγή και εξαγωγή διαμόρφωσης, διαχείριση modules και δημιουργία backup βάσης — συν έναν πλήρη πίνακα αναφοράς χρήσιμων εντολών Drush. [VERIFY: Επιβεβαίωση έκδοσης Drush διαθέσιμης σε κοινόχρηστο hosting — πιθανώς Drush 12 ή 13 για Drupal 10/11]
Σύνδεση μέσω SSH
Το Drush είναι διαθέσιμο μέσω SSH σε όλα τα πακέτα φιλοξενίας της HOSTDOG. Για να το χρησιμοποιήσετε, πρέπει να συνδεθείτε στον λογαριασμό φιλοξενίας σας μέσω SSH. Αν δεν το έχετε κάνει ξανά, δείτε πώς να συνδεθείτε μέσω SSH.
Μόλις συνδεθείτε, μεταβείτε στον ριζικό κατάλογο Drupal (τον κατάλογο που περιέχει το index.php ή το web/index.php):
cd ~/public_html
Επιβεβαιώστε ότι το Drush είναι διαθέσιμο και ελέγξτε την έκδοση:
drush --version
vendor/bin/drush. Σε αυτή την περίπτωση, χρησιμοποιήστε vendor/bin/drush αντί για απλά drush, ή προσθέστε το vendor/bin στο PATH σας.
Βασικές εντολές Drush
Οι παρακάτω εντολές καλύπτουν τις λειτουργίες που θα χρησιμοποιείτε πιο συχνά κατά τη συντήρηση ενός Drupal ιστότοπου.
Η πιο χρησιμοποιούμενη εντολή Drush. Εκτελέστε τη μετά από οποιαδήποτε αλλαγή διαμόρφωσης, ενημέρωση module ή ανάπτυξη κώδικα:
drush cr
Το cr είναι το alias για το cache:rebuild. Αναδημιουργεί το service container του Drupal και εκκαθαρίζει όλα τα cache — ισοδύναμο με επίσκεψη στο Administration → Performance → Clear all caches.
Μετά την ενημέρωση modules ή Drupal core, εκτελέστε ενημερώσεις βάσης για εφαρμογή τυχόν αλλαγών σχήματος:
drush updb -y
Η σημαία -y επιβεβαιώνει αυτόματα όλες τις λειτουργίες ενημέρωσης. Χωρίς αυτή, το Drush θα σας ζητήσει επιβεβαίωση για κάθε ενημέρωση. Να εκτελείτε πάντα drush cr μετά από drush updb.
Το Drupal 8+ χρησιμοποιεί σύστημα διαχείρισης διαμόρφωσης. Εξάγετε τη διαμόρφωση του ιστότοπού σας σε αρχεία YAML (για ανάπτυξη ή version control):
drush cex -y
Εισάγετε διαμόρφωση από αρχεία YAML (π.χ. μετά από λήψη αλλαγών από version control):
drush cim -y
drush cim θα αντικαταστήσει την ενεργή διαμόρφωσή σας με τα αρχεία στον κατάλογο config/sync. Να ελέγχετε πάντα τις αλλαγές πριν εισάγετε σε production ιστότοπο.
Ενεργοποίηση module (μετά την εγκατάστασή του μέσω Composer):
drush en module_name -y
Απεγκατάσταση module:
drush pmu module_name -y
Εμφάνιση λίστας όλων των εγκατεστημένων modules με την κατάστασή τους:
drush pm:list --status=enabled
Εξάγετε τη βάση δεδομένων Drupal σε αρχείο — χρησιμοποιείτε πριν από ενημερώσεις, μεταφορές ή οποιαδήποτε σημαντική αλλαγή:
drush sql-dump --result-file=~/drupal-backup-$(date +%Y%m%d).sql
Με συμπίεση:
drush sql-dump --gzip --result-file=~/drupal-backup-$(date +%Y%m%d).sql.gz
Δείτε πώς να δημιουργήσετε και να επαναφέρετε backup Drupal για την πλήρη ροή εργασίας backup και επαναφοράς.
Πίνακας αναφοράς εντολών Drush
| Εντολή | Alias | Τι κάνει |
|---|---|---|
drush cache:rebuild |
drush cr |
Αναδημιουργεί το service container και εκκαθαρίζει όλα τα cache |
drush updatedb |
drush updb |
Εκτελεί εκκρεμείς ενημερώσεις βάσης μετά από ενημέρωση |
drush config:export |
drush cex |
Εξάγει ενεργή διαμόρφωση σε αρχεία YAML |
drush config:import |
drush cim |
Εισάγει διαμόρφωση από αρχεία YAML στη βάση |
drush pm:enable module |
drush en module |
Ενεργοποιεί module |
drush pm:uninstall module |
drush pmu module |
Απεγκαθιστά module |
drush pm:list |
drush pml |
Εμφανίζει όλα τα modules με κατάσταση, έκδοση και τύπο |
drush sql:dump |
drush sql-dump |
Εξάγει τη βάση δεδομένων σε αρχείο SQL |
drush sql:cli |
drush sql-cli |
Ανοίγει MySQL shell για τη βάση δεδομένων Drupal |
drush core:status |
drush status |
Εμφανίζει έκδοση Drupal, paths και στοιχεία σύνδεσης βάσης |
drush watchdog:show |
drush ws |
Εμφανίζει πρόσφατα μηνύματα καταγραφής Drupal |
drush user:login |
drush uli |
Δημιουργεί μοναδικό σύνδεσμο σύνδεσης ως διαχειριστής |
drush deploy |
— | Εκτελεί ακολουθία deploy: updatedb, cim, cr (Drupal 9.1+) |
Αντιμετώπιση προβλημάτων
Αν το Drush είναι εγκατεστημένο ως εξάρτηση Composer, βρίσκεται στο vendor/bin/drush μέσα στον κατάλογο project σας. Δοκιμάστε να εκτελέσετε ./vendor/bin/drush --version από τον ριζικό κατάλογο Drupal. Μπορείτε επίσης να προσθέσετε το vendor/bin στο PATH σας στο ~/.bashrc για να χρησιμοποιείτε απευθείας το drush: export PATH="$HOME/public_html/vendor/bin:$PATH"
Το Drush πρέπει να εκτελείται από μέσα σε κατάλογο Drupal. Ελέγξτε τον τρέχοντα κατάλογο με pwd και μεταβείτε στον ριζικό κατάλογο Drupal με cd ~/public_html. Αν το Drupal βρίσκεται σε υποκατάλογο (π.χ. web/), εκτελέστε το Drush από τον ριζικό κατάλογο project που περιέχει το composer.json, όχι από μέσα στο web/.
Αυτό συνήθως σημαίνει ότι το Drupal δεν μπορεί να συνδεθεί στη βάση δεδομένων. Ελέγξτε ότι τα στοιχεία σύνδεσης βάσης στο sites/default/settings.php είναι σωστά. Μπορείτε να δοκιμάσετε τη σύνδεση βάσης με drush status, το οποίο εμφανίζει απευθείας την κατάσταση βάσης.