Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Obsługa Drupal CMS z poziomu powłoki tekstowej — narzędzie Drush

Nie da się ukryć że Drupal - czyli niezwykle praktyczny i otwartoźródłowy system zarządzania treścią - posiada bardzo wygodny i funkcjonalny interfejs graficzny panelu zarządzania, dzięki czemu możemy szybko i przyjemnie zarządzać całą naszą witryną. Bywa jednak i tak że w niektórych sytuacjach lepiej jest użyć tradycyjnej powłoki tekstowej, gdyż może ona znacznie przyśpieszyć żmudne procesy. Przykładowo, korzystając z połączonych poleceń możemy jedną komendą zainstalować i aktywować wszystkie potrzebne moduły czy też dokonać aktualizacji wszystkich tłumaczeń w obrębie systemu. Powłoka tekstowa pozwala także na przygotowanie zautomatyzowanych skryptów co umożliwia wykonanie tych samych operacji na większej ilości instalacji Drupala za jednym razem, co znacznie oszczędza cenny czas administratora. Aby móc korzystać z tych wszystkich dobrodziejstw jakie oferuje nam konsola poleceń Drupala musimy skorzystać ze specjalnego pakietu przeznaczonego do instalacji na serwerach opartych na Linuksie, o nazwie Drush. Z narzędziem tym komunikujemy się przez linuksowa powłokę poleceń uruchomioną na serwerze - na przykład za pomocą protokołu SSH, z którym zaznajomiliśmy się podczas naszej ostatniej przygody związanej z instalacją dystrybucji Linuksa na urządzeniu mobilnym z Androidem.

Instalacja Drusha na serwerze

Instalacja pakietu Drush nie odbywa się w tradycyjny sposób w jaki instalujemy linuksowe pakiety (czyli nie przez apt, rpm czy deb), jednak nie jest ona najtrudniejsza. Na początku logujemy się do Basha uruchomionego na naszym serwerze, przyznajemy sobie uprawnienia administracyjne (su lub sudo -i), a następnie wpisujemy następujące komendy:

Jeżeli korzystamy ze stabilnej wersji Drupala 7:composer global require drush/drush:7.*

Jeżeli korzystamy z testowej wersji Drupala 8 DEV:composer global require drush/drush:dev-master

Następnie dodajemy Drusha do PATH: cat "export PATH="$HOME/.composer/vendor/bin:$PATH"">>~/.bash_rc

A także w razie potrzeby restartujemy serwer:shutdown -r now

Korzystanie z Drusha - podstawowe komendy

Po zakończonej sukcesem instalacji pakietu Drush możemy rozpocząć korzystanie. Na początku należy przejść (korzystając z polecenia cd) do katalogu głównego naszej witryny działającej na Drupalu i możemy rozpocząć pracę z samym CMS'em.

Czyszczenie pamięci podręcznej

Pamięć podręczną możemy wyczyścić korzystając z komendy:drush cclubdrush clear-cacheJeżeli chcemy wyczyścić całą pamięć podręczną bez potrzeby potwierdzania wpisujemy:drush cc alllubdrush clear-cache all

Uruchamianie cron'a

Crona uruchamiamy korzystając z komendy:drush cronlubdrush core-cron

Instalacja modułów

Jeżeli chcemy dokonać samego pobrania modułów do sites/all/modules, bez ich aktywacji, użyjemy komendy:drush dl nazwapakietulubdrush pm-download nazwapakietuJeżeli chcemy pobrać i od razu aktywować moduły to należy użyć komendy:drush en nazwapakietulubdrush pm-enable nazwa pakietuDodatkowo możemy skorzystać z parametru -y, który powoduje udzielanie twierdzącej odpowiedzi na każde pytanie zadane przez Drusha (np. czy pobrać dodatkowe moduły wymagane do działania tego określonego).

Włączanie modułów

Jeżeli określony moduł znajduje się już w sites/all/modules, ale nie jest on aktywowany to możemy skorzystać z komend:drush en nazwapakietulubdrush pm-enable nazwa pakietu

Wyłączanie modułów

Jeżeli chcemy wyłączyć już aktywowany moduł musimy użyć komendy:drush dis nazwapakietulubdrush pm-disable nazwa pakietu

Usuwanie modułów

Aby usunąć wybrany moduł należy najpierw go wyłączyć komendami:drush dis nazwapakietulubdrush pm-disable nazwa pakietuNastępnie usuwamy go z tabel baz danych komendą:drush pmu nazwapakietulubdrush pm-uninstall nazwa pakietuA na końcu usuwamy jego folder z sites/all/modules komendą:rm -r sites/all/modules/nazwapakietu

Wyświetlenie informacji o module

Aby uzyskać szczegółowe informacje o danym module korzystamy z komendy: drush pmi nazwapakietulubdrush pm-info nazwapakietu

Wylistowanie wszystkich modułów

Jeżeli potrzebujemy pełnej listy wszystkich modułów i submodułów należy skorzystać z komendy:drush pmllubdrush pm-list

Aktualizacja tłumaczeń (wymagany moduł l10n_update)

Aby dokonać automatycznej aktualizacji wszystkich tłumaczeń w obrębie systemu musimy posiadać moduł Localization update oraz najpierw skorzystać z komendy która odświeży wszystkie informacje o tłumaczeniach:drush l10n-update-refreshA następnie dokonać właściwej aktualizacji tłumaczeń korzystając z polecenia:drush l10n-update-refresh

Wyświetlenie stanu tłumaczeń (wymagany moduł l10n-update)

Aby sprawdzić aktualność tłumaczeń musimy skorzystać z komendy:drush l10n-update-status

Aktualizacja modułów

Aby dokonać sprawdzenia aktualności i ewentualnej aktualizacji wszystkich modułów możemy skorzystać z komendy:drush uplubdrush pm-updateJeżeli chcemy wykonać aktualizację tylko jednego modułu to do komendy dopisujemy nazwę pakietu, przykładowo:drush up bootstraplubdrush pm-update bootstrapAby dokonać samej aktualizacji rdzenia Drupala musimy skorzystać z komendy:drush up drupallubdrush pm-update drupal

Wyświetlenie informacji o danym użytkowniku

Jeżeli potrzebujemy uzyskać informacje o konkretnym użytkowniku naszej witryny musimy skorzystać z komendy:drush uinf nazwaużytkownikalubdrush user-information nazwauzytkownika

Tworzenie nowego użytkownika

Jeżeli zajdzie potrzeba utworzenia nowego konta użytkownika to możemy skorzystać z komendy:drush ucrt nazwauzytkownikalubdrush user-create nazwauzytkownika

Ustawianie nowego hasła użytkownika

Jeżeli jakiś użytkownik wityny zapomni swojego hasła do konta to możemy zresetować hasło do niego, korzystając z komendy:drush upwd nazwauzytkownika --password=haslolubdrush user-password nazwauzytkownika --password=haslo

Wylistowanie ról użytkowników

Aby wyświetlić całą listę ról użytkowników należy skorzystać z komendy:drush rlslubdrush role-list

Tworzenie nowej roli użytkowników

Aby utworzyć nową rolę dla użytkowników musimy skorzystać z komendy:drush rcrt nazwarolilubdrush role-create nazwaroli

Usuwanie roli użytkowników

Jeżeli chcemy usunąć już istniejącą rolę użytkowników to musimy skorzystać z komendy:drush rdel nazwarolilubdrush role-delete nazwaroli

Uruchamianie powłoki tekstowej bazy danych SQL

Jeżeli zachodzi potrzeba skorzystania z konsoli tekstowej bazy danych SQL to możemy to uczynić, łącząc się z powłoką bazy za pomocą polecenia:drush sqlclubdrush sql-cli
Oczywiście nie są to wszystkie komendy jakie czekają na nas w Drushu - więcej poleceń możemy uzyskać korzystając z polecenia drush. Warto także dodać że niektóre moduły dodają własne komendy do Drusha, w związku z czym funkcjonalność tego narzędzia może być sukcesywnie rozbudowywana. Serdecznie zachęcamy Was do poznawania kolejnych funkcji Drusha oraz do dzielenia się Waszymi doświadczeniami w komentarzach! 

linux porady serwery

Komentarze

0 nowych
ziggurad   12 #1 30.05.2015 14:42

Fajnie wiedzieć że jest taka możliwość, niewątpliwie wiele rzeczy jesteśmy w stanie szybciej zrobić za pomocą konsoli :)

Czekam aż Drupal 8 oparty na Symfony będzie stabilny żeby się przyjrzeć całemu systemowi. Jeszcze chwilę będzie trzeba poczekać: https://drupalreleasedate.com

Pozdro

SebaZ   16 #2 30.05.2015 17:47

Osobiście, rzygam już D(r)upalem, od ponad 2 lat, przeciągający się projekt, którego końca nie widać, a problemów z samym D i modułami co nie miara. Chyba jednak powstrzymam się od baaardzo mocno subiektywnego komentarza w szerszej formie.

A co do wpisu, to spoko, drush fajna sprawa.

Jim1961   7 #3 30.05.2015 18:07

Jakby ktoś nie wiedział, właśnie w ten weekend odbywa się http://drupalcampwroclaw.pl :)

kwpolska   6 #4 30.05.2015 18:53

> A także w razie potrzeby restartujemy serwer:
> shutdown -r now

Czy żeby zainstalować taką prostą aplikacyjkę naprawdę potrzeba RESTARTU?!

Kamatori   7 #5 30.05.2015 21:23

@kwpolska wystarczy dać source ~/.bashrc i wszystko będzie działać jak należy.