Εγκατάσταση και Διαχείριση Drupal με Drush

Το Drupal είναι ένα από τα πιο δημοφιλή CMS στο κόσμο. Επιτρέπει τη δημιουργία μεγάλων πολύπλοκων sites, με βασικά χαρακτηριστικά την ασφάλεια, την ευελιξία, την άριστη δομή, και τον απόλυτο έλεγχο των δικαιωμάτων των χρηστών.

Η εγκατάσταση του Drupal απαιτεί τη δημιουργία της βάσης δεδομένων και του χρήστη με πλήρη δικαιώματα στη βάση, το download του αρχείου εγκατάστασης από το Drupal.org και στη συνέχεια την εγκατάσταση του ακολουθώντας της οδηγίες βήμα-βήμα. Το χρονοβόρο της υπόθεσης είναι πως θα πρέπει στη συνέχεια να εγκαταστήσετε πάνω από 10 μονάδες για να βάλετε Ελληνικά, να το κάνετε φιλικό προς το Google, να βάλετε ένα όμορφο κειμενογράφο, και να κάνετε ότι μπορεί να κάνει ο καθένας αρχάριος χρήστης ενός WordPress.

Η απορία βέβαια είναι, αφού το WordPress τα έχει όλα αυτά έτοιμα γιατί να βάλω Drupal. Η απάντηση είναι σύνθετη αλλά η περίληψη είναι πως ο πυρήνας του Drupal είναι απλά ένα framework. Το framework αυτό είναι πανίσχυρο και σας επιτρέπει να το πλάσετε όπως ακριβώς θέλετε εσείς. Θέλετε να το κάνετε blog; κανένα πρόβλημα! Θέλετε eshop, κανένα πρόβλημα! Θέλετε ένα τεράστιο community, με forums, multi-author blogs, eshop, πολλαπλά levels δικαιωμάτων χρηστών, newsletter, σύνδεση με Social Media κ.τ.λ.??? ΚΑΝΕΝΑ ΠΡΟΒΛΗΜΑ!!!

Στη GIM επειδή θεωρούμε τεραστια σπατάλη χρόνου να εγκαθιστούμε το Drupal από το 0 κάθε φορά, έχουμε φτιάξει ένα custom installation profile, το οποίο περιλαμβάνει το 90% των Drupal modules, που χρησιμοποιούμε συνήθως. Η εγκατάσταση μετά γίνεται μέσα σε λίγα λεπτά, ενώ αν ακολουθούσαμε τη συμβατική μέθοδο του Drupal που σημαίνει download module + enable module, θα χρειαζόμασταν 1 ωρίτσα στο νερό.

Πως γίνεται λοιπόν η εγκατάσταση ενός σχεδόν πλήρους Drupal Website, σούπερ φιλικού προς το Google, βελτιστοποιημένου για ταχύτητα, εύχρηστου με φιλικό Wysisyg editor, και άλλα πολλά καλούδια μέσα σε 5'??

DRUSH (DRUpal SHell)

Το Drush είναι ένα command-line πρόγραμμα το οποίο μπορείτε να εγκαταστήσετε από τη γραμμή εντολών αν έχετε πρόσβαση SSH. Αν δεν έχετε πρόβαση terminal/ssh μπορείτε κατά πάσα πιθανότητα να το ζητήσετε από την εταιρεία που σας φιλοξενεί.

Χάρη στο Drupal η εγκατάσταση και η διαχείριση του Drupal γίνεται παιχνιδάκι.

Προσοχή: Το tutorial αυτό αξιοποιεί τη γραμμή εντολών, οπότε καλό είναι να ξέρετε τι κάνετε και να παίρνετε τις απαραίτητες προφυλάξεις (εννοώ backup :-))

Επίσης ίσως χρειαστεί να αλλάξετε τα δικαιώματα χρήστης των αρχείων που θα δημιουργήσετε με την εντολή chown. Αν για παράδειγμα κάνετε την εγκατάσταση drupal ως root, και το account username είναι το mysitegr θα χρειαστεί να πάτε στο φάκελο του account cd /home/mysitegr/public_html (ισχύει για Cpanel) και μετά chown -R mysitegr:mysitegr * (αν μετά σας βγάλει forbidden αλλαξτε τα δικαιώματα του public_html σε 751).

Εγκατάσταση Drush

Αφού πάρετε πρόσβαση ssh μπαίνετε στη γραμμή εντολών (συνήθως με ένα προγραμμα όπως το putty) και τρέχετε τις ακόλουθες γραμμές:

(οι παρακάτω γραμμές αφορουν την ανάπτυξη drupal siste σε development server όπου γίνονται όλα ως root -> δε συστήνεται κανονικά, γιαυτό και θα πρέπει να κάνετε su ως χρήστης πριν κανονικά τρέξετε τις παρακάτω γραμμές)

Οδηγίες από: https://github.com/drush-ops/drush

If you have trouble with PEAR installation, consider trying MANUAL INSTALLATION. It is not too hard.

pear channel-discover pear.drush.org
pear install drush/drush

Tip: Use sudo to overcome permission problems. If the channel-discover fails, try running the following sequence of commands:

pear upgrade --force Console_Getopt
pear upgrade --force pear
pear upgrade-all

To update, run pear upgrade drush/drush

Αφού εγκαταστήσουμε το Drush μπορούμε να εγκαταστήσουμε το Drupal με πολύ απλό και γρήγορο τρόπο.

Εγκατάσταση απλού minimal Drupal

Προτού εγκαταστήσουμε το Drupal όμως θα πρέπει να έχουμε έτοιμη τη βάση δεδομένων και τον χρήστη. Μπορείτε να το κάνετε με τον αγαπημένο σας τρόπο. Συνήθως χρησιμοπούμε το Cpanel Wizard για να φτιαξουμε τη βάση, το χρήση και τα δικαιώματα μέσα σε λίγα δευτερόλεπτα.

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

mysql -u root -p

 

CREATE DATABASE mysitegr_drupal;
CREATE USER mysitegr_druser@localhost;
SET PASSWORD FOR mysitegr_druser@localhost= PASSWORD("topasswordsas");
GRANT ALL PRIVILEGES ON mysitegr_drupal.* TO mysitegr_druser@localhost IDENTIFIED BY 'topasswordsas';
FLUSH PRIVILEGES;
exit

 

Καταγράφουμε τα στοιχεία σύνδεσης σε ένα Notepad γιατί θα χρειαστούν.

Αν θέλαμε να εκγαταστήσουμε ένα βασικό minimal drupal στο account /home/mysitegr/public_html θα κάναμε το εξής:

cd /home/mysitegr/public_html/

drush si standard –db-url='mysql://mysitegr_druser:topasswordsas@localhost/mysitegr_drupal' –site-name="To Site Mou" 

Εγκατάσταση GIM Drupal with drush make file

Αν εγκαταστήσετε το Drupal με αυτόν τον τρόπο θα πρέπει μετά να καταναλώσετε πάνω από 1 ώρα για να βρείτε και να εγκαταστήσετε τα βασικά Modules για να κάνετε τη δουλειά σας.

Ευτυχώς το Drush επιτρέπει τη δημιουργία έτοιμων διανομών Drupal αλλά και installation profiles για να κάνετε τη ζωή σας πιο γρήγορη. Δημιουργήσαμε λοιπόν ένα make file έτσι ώστε να κάνετε έυκολα την εγκάτασταση ενός πλήρως λειτουργικού Drupal.

Κάντε Copy τον παρακάτω κώδικα και αποθηκεύστε το σαν ένα αρχείο με όνομα gim.make στο φάκελο του server που θέλετε να εγκαταστήσετε το Drupal. Αν για για παράδειγμα θέλετε στο mysitegr τότε:

cd /home/mysitegr/public_html

vi gim.make

και μετά κάντε copy τα παρακάτω, πατήστε το I μέσα στο vi και δεξί κλικ μετά για να κάνετε paste(μετά ESC, και :wq <enter> για να το αποθηκεύσετε):

; GreekInternetMarketing.com Drupal Installation – drush make file
 
core = 7.x
 
api = 2
projects[drupal][version] = "7.23"
 
; Modules
 
projects[] = views
 
; Usablity
projects[] = admin_menu
projects[] = module_filter
 
; Menus
projects[] = menu_block
projects[] = menu_attributes
projects[] = special_menu_items
 
; Forms
projects[] = webform
projects[] = date
projects[] = calendar
 
; Wysiwyg
projects[] = wysiwyg
projects[] = imce
projects[] = imce_wysiwyg
 
; Internationalization
projects[] = variable
projects[] = i18n
projects[] = l10n_update
 
; SEO
projects[] = token
projects[] = pathauto
projects[] = seo_checklist
projects[] = globalredirect
projects[] = ctools
projects[] = metatag
projects[] = xmlsitemap
 
; Media
projects[] = media
projects[] = colorbox
projects[] = video_filter
 
; Theming
projects[] = panels
 
; Speed
projects[] = boost
projects[] = apc
 
; Safety
projects[] = backup_migrate
 
;Anti-Spam
projects[] = captcha
projects[] = captcha_after
projects[] = antispam
projects[] = httpbl
projects[] = botcha
projects[] = login_security
 
; Social

projects[] =  easy_social‎

 
; ZEN theme
projects[zen][version] = 5.3
projects[zen][type] = "module"
 
; CKEditor 3
libraries[ckeditor][download][type] = get
libraries[ckeditor][download][url] = http://download.cksource.com/CKEditor/CKEditor/CKEditor%203.6.6.1/ckeditor_3.6.6.1.zip
 
; Colorbox
libraries[colorbox][download][type] = get
libraries[colorbox][download][url] = https://github.com/jackmoore/colorbox/archive/master.zip
 
Πως το χρησιμοποιούμε:

με την εντολή drush make gim.make

Αφού λοιπον κάνουμε download το Drupal και τα modules με την παραπάνω γραμμή μετά το εγκαθιστούμε είτε από το Browser είτε με τη γραμμή:

drush si standard –db-url='mysql://mysitegr_druser:topasswordsas@localhost/mysitegr_drupal' –site-name="To Site Mou"  –account-name=admin –account-pass=password –site-mail=info@mysitegr.gr

ακόμα και με σκέτο:

drush si standard –db-url='mysql://mysitegr_druser:topasswordsas@localhost/mysitegr_drupal' –site-name="To Site Mou"  –site-mail=info@mysitegr.gr

εγκαθίσταται μια χαρά.

Bonus tips:

Αν θέλουμε μπορούμε επίσης να φτιάξουμε ένα archive με όλα τα αρχεία του drupal:

drush make –tar gim.make gim

Ή να φτιάξουμε ένα installation profile

drush make –no-core –contrib-destination=. installprofile.make

 

Αφού εγκαταστήσουμε το Drupal χρησιμοποιώντας αυτό το make file, μπορούμε εύκολα μετά να διαχειριστούμε το Drupal με το Drush:

Βασικές εντολες Drush για διαχείριση Drupal

Εγκατάσταση module – download:

drush dl media

Ενεργοποίηση Module

drush en media

αν θέλετε να μη χρειαστεί να πατήσετε y για confirmation μπορείτε να χρησιμοποιήσετε την εξής εντολή:

drush en -y media

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

drush en -y media && drush en -y colorbox && drush en -y video_filter

για να αναβαθμίσετε ένα module:

drush pm-update devel (ή συντομογραφία drupal up devel – tip: από Θεόδωρο Πλούμη)

για να αναβαθμίσετε το Drupal core:

drush pm-update drupal

για να αναβαθμίσετε τα πάντα:

drush pm-update

για να απενεργοποιήσετε ένα module:

drush dis media

για να απεγκαταστήσετε πλήρως ένα module:

drush pm-uninstall -y addtoany

για να δημιουργήσετε μια συνεδρία drupal αν το σύστημα δε δέχεται να κάνετε login:

drush user-login

για να κάνετε backup/export τη βάση:

drush sql-dump --result-file=backup.sql

για να κάνετε backup αρχεία και βάση δεδομένων:

drush archive-backup –destination=/home/mysitegr/backup/site.tar.gz

για να τρέξετε μια εντολή mysql:

drush sqlc

για να κάνετε import τη βάση:

ΠΑΡΤΕ BACKUP ΠΡΩΤΑ! και μετά: drush sql-drop

drush sqlc < backup.sql

για να καθαρίσετε την cache:

drush cc

αν θέλετε όλες τις cache:

dush cc all

Αφήστε ένα Σχόλιο

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *