Jak skonfigurować Drupal Workflow w cPanel za pomocą Gita - OSTraining

Opublikowany: 2022-06-29

W przeciwieństwie do innych CMS-ów aktualizacja rdzenia Drupala nie jest trudna, ale jakoś skomplikowana ze względu na wszystkie szczegóły. W tym samouczku zaimplementujemy lokalną instalację Drupala 9, a następnie prześlemy (wypchniemy) tę bazę kodu do centralnego repozytorium na Bitbucket. Następnie pobierzemy (przeciągniemy) bazę kodu z tego repozytorium na serwer, na którym będzie przechowywana strona internetowa.

Korzystając z tego (zorientowanego na terminal) procesu, będziesz mógł przyspieszyć aktualizacje rdzenia i modułów Drupala, a także będziesz postępować zgodnie z najlepszymi praktykami.

Zakłada się, że masz już zainstalowany stos LAMP w swoim systemie. Ponadto potrzebujesz dostępu do terminala na swoim serwerze sieciowym.

Czytaj dalej, aby dowiedzieć się, jak!

Krok 1: Zainstaluj Drupala 9 lokalnie

Otwórz aplikację Terminal swojego systemu i umieść kursor na lokalnym katalogu serwera, zwykle /var/www/html w systemie Linux.

  • Wpisz : composer create-project drupal/recommended-project my_drupal

Spowoduje to pobranie najnowszej stabilnej wersji Drupala na twój komputer.

  • Typ :
 cd my_drupal/ mkdir config cd web/sites/default/ cp default.settings.php settings.php cd .. sudo chmod -R 777 default/

Te polecenia terminala wykonują następujące czynności w kolejności:

  • Uzyskaj dostęp do katalogu my_drupal
  • Utwórz katalog o nazwie config
  • Uzyskaj dostęp do katalogu domyślnego
  • Skopiuj plik default.settings.php i zmień jego nazwę na settings.php
  • Wróć do katalogu witryn
  • Przypisz uprawnienia globalne do katalogu domyślnego, aby system mógł dokończyć proces instalacji

Po zakończeniu musimy utworzyć bazę danych.

  • Wpisz : mysql -u root -p

Wpisz swoje hasło roota MySQL.

 create database my_drupal; exit;

Spowoduje to utworzenie bazy danych, którą połączysz z bazą kodu.

  • Otwórz przeglądarkę internetową
  • Wpisz : localhost/my_drupal/web

Zakończ proces instalacji lokalnej.


Krok 2: Tworzenie i dodawanie klucza do zdalnego repozytorium

Na potrzeby tego samouczka użyję Bitbucket. Kroki są bardzo podobne do profilu Github.

Po zalogowaniu się na konto Bitbucket kliknij ikonę swojego profilu, znajdującą się (w momencie pisania tego tekstu) w lewym dolnym rogu.

  • Wybierz Ustawienia osobiste
  • Kliknij klucze SSH
  • Kliknij Dodaj klucz

Zobaczysz wyskakujące okienko z monitem o etykietę i klucz.

  • Wpisz MyLaptop, BobsPC lub cokolwiek chcesz, aby zidentyfikować własną maszynę w Bitbucket
  • Otwórz aplikację terminala
  • Wpisz : ls -al ~/.ssh

Kropka przed nazwą mówi nam, że jest to ukryty katalog. Istnieją dwie możliwości:

  1. Otrzymasz listę plików, jeden z nich ma rozszerzenie .pub.
  1. Otrzymasz komunikat „Nie znaleziono pliku lub katalogu”.

Plik z rozszerzeniem .pub jest kluczem publicznym Twojego systemu. Jeśli nie widzisz tego pliku, musisz go utworzyć. Jeśli widzisz plik, mimo to czytaj dalej.

  • Wpisz : ssh-keygen -t rsa -C "my_email@my_domain.com"
  • Naciśnij klawisz Enter , aby wybrać domyślny katalog, w którym ma być przechowywany klucz (.ssh).
  • Wprowadź to samo hasło dwukrotnie (możesz pozostawić to puste, naciskając dwukrotnie klawisz Enter ).

System poinformuje Cię o lokalizacji Twojego klucza publicznego i jego odcisku palca. Jeśli masz już klucz .pub w swoim systemie, wróć tutaj.

  • Otwórz plik .ssh/id_rsa.pub za pomocą preferowanego edytora kodu
  • Skopiuj cały tekst, w tym adres e-mail
  • Otwórz przeglądarkę i wklej ją w polu tekstowym
  • Kliknij Dodaj klucz

Twój komputer lokalny może teraz połączyć się z Bitbucket.


Krok 3: Tworzenie zdalnego repozytorium

W swoim profilu Bitbucket:

  • Kliknij Utwórz repozytorium
  • Wybierz obszar roboczy i nazwę projektu ( utwórz je, jeśli jest to pierwszy raz )
  • Nadaj repozytorium odpowiednią nazwę
  • Nie dołączaj pliku README
  • Nie dołączaj pliku .gitignore
  • Kliknij Utwórz repozytorium

Krok 4: Dodaj lokalne repozytorium do Bitbucket

  • Typ :
 cd /var/www/html/my_drupal/web mv example.gitignore .gitignore git init git add . git commit -m 'Fresh Drupal installation'

Uzyskujesz dostęp do katalogu głównego swojej instalacji Drupala, zmieniasz nazwę pliku example.gitignore na .gitignore, inicjujesz lokalne repozytorium, dodajesz pliki do obszaru pomostowego git i ostatecznie zatwierdzasz te „zmiany” (początkowo repozytorium było pusty) do repozytorium.

  • Typ :
 git remote add origin [email protected]:[MY_PROJECT]/my-drupal.git git push -u origin master

Możesz skopiować i wkleić te dwa polecenia ze strony repozytorium w Bitbucket.

  • Wpisz tak, jeśli zostaniesz o to poproszony
  • Wpisz swoje hasło

Sprawdź repozytorium na Bitbucket. Prawie wszystkie pliki w katalogu WWW ( twoje lokalne repozytorium ) zostały skopiowane do zdalnego repozytorium. Spójrz na strony/katalog domyślny.

Zauważ, że brakuje pliku settings.php. Dzieje się tak, ponieważ znajduje się w pliku .gitignore.

  • Otwórz terminal i
  • Wpisz : nano .gitignore
  • Naciśnij Ctrl+x, aby zamknąć edytor nano

Jeśli spojrzysz na karty na pierwszym obrazie tego samouczka, zauważysz, że zakończyliśmy już zadania z karty 1, a na karcie 2 pozostało tylko jedno zadanie. Kontynuujmy ostatnią część tego procesu .


Krok 5: Utwórz aktywną bazę danych

Otwórz swój pulpit nawigacyjny u swojego dostawcy hostingu i utwórz nowe konto Drupal z nazwą swojej domeny.

  • Kliknij „instalator jednego przycisku” Drupala.
  • Kliknij Utwórz konto

Może się to różnić w zależności od dostawcy, więc musisz znaleźć wyjście tutaj.

Otrzymasz wiadomość e-mail z użytkownikiem Drupal (administratorem) oraz hasłem Drupal. Ponadto otrzymasz również nazwę użytkownika i hasło do swojego konta cPanel. To są te, których potrzebujemy. Są one również dostępne na pulpicie Twojego dostawcy usług hostingowych.

  • Kliknij Włącz SSH , abyśmy mogli mieć dostęp do terminala na serwerze live.
  • Kliknij łącze cPanel
  • Wpisz databases w polu wyszukiwania
  • Wybierz bazy danych MySQL

Instalator one-clck utworzył bazę danych. Usuń tę bazę danych.

  • Wpisz odpowiednią nazwę swojej bazy danych.

Zwróć uwagę na prefiks bazy danych automatycznie dodany przez cPanel ( w większości przypadków twoja nazwa użytkownika ).


Krok 6: Importuj lokalną bazę danych

  • Otwórz aplikację terminala
  • Typ :
 mysqldump -u root p my_drupal > ~/[path/to/your/desktop]/[cpanel_sql_db_name].sql
  • Wpisz swoje hasło roota SQL

Spowoduje to utworzenie kopii bazy danych i umieszczenie jej na pulpicie. Ta baza danych na pulpicie musi mieć taką samą nazwę jak ta, którą utworzyłeś na cPanel.

Jeśli masz MySQL w wersji 8 na swoim komputerze, prawdopodobnie będziesz musiał dostosować bazę danych do pracy z MySQL 5 ( dostępny u dostawcy hostingu ).

  • Typ :
 sed -i -e 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g' [cpanel_sql_db_name].sql

To jest polecenie Linuksa do wykonania tej operacji.

  • Otwórz swój pulpit nawigacyjny cPanel
  • Wpisz phpMyAdmin w polu wyszukiwania i wybierz go
  • Kliknij nazwę swojej bazy danych, aby ją wybrać. Powinien być pusty ( W bazie danych nie znaleziono żadnych tabel )
  • Kliknij Importuj
  • Kliknij Wybierz plik
  • Wybierz bazę danych z pulpitu
  • Przewiń w dół i kliknij Idź

Zajmie to kilka minut, więc prosimy o cierpliwość.


Krok 7: Przekieruj swoją domenę

Drupal jest przechowywany w katalogu WWW, więc aby uzyskać dostęp do Twojej witryny, musisz podać adres URL: https://yoursite.xxx/web

Jeśli korzystasz z usługi w chmurze, nie stanowi to problemu, możesz edytować plik hosts. W przypadku cPanel nie jest to możliwe (o ile wiem). Musisz utworzyć stałe przekierowanie adresu URL.

  • Otwórz swój pulpit nawigacyjny cPanel
  • Wpisz Redirects w polu wyszukiwania
  • Naciśnij Enter
  • Wybierz stałe przekierowanie (301)
  • Wybierz nazwę swojej domeny z menu rozwijanego
  • Dodaj link przekierowania
  • Kliknij Dodaj
  • Wpisz Domains w polu wyszukiwania
  • Naciśnij Enter
  • Kliknij przełącznik Wymuś przekierowanie HTTPS

Krok 8: Prześlij bazę kodów

  • Otwórz swój pulpit nawigacyjny cPanel
  • Wpisz Menedżer plików w polu wyszukiwania
  • Naciśnij Enter
  • Kliknij dwukrotnie katalog public_html
  • Kliknij przycisk Ustawienia w prawym górnym rogu ekranu
  • Zaznacz Pokaż ukryte pliki (dotfiles)
  • Kliknij Zapisz
  • Kliknij Wybierz wszystko
  • Kliknij Usuń
  • Otwórz Menedżera plików swojego systemu
  • Skompresuj cały folder my_drupal
Jak skonfigurować Drupal Workflow w cPanel za pomocą Git
  • Otwórz Menedżera plików cPanel
  • Kliknij Prześlij w katalogu public_html
  • Kliknij Wybierz plik
  • Prześlij plik zip
  • Kliknij Wróć po przesłaniu pliku na serwer
  • Kliknij plik zip prawym przyciskiem myszy i wybierz Wyodrębnij > Wyodrębnij pliki > Zamknij
  • Kliknij dwukrotnie folder my_drupal
  • Upewnij się, że masz włączoną opcję Pokaż ukryte pliki
  • Kliknij Wybierz wszystko
  • Kliknij Przenieś
  • Wybierz katalog public_html
  • Kliknij Przenieś pliki
  • Kliknij w górę o jeden poziom
  • Kliknij plik zip prawym przyciskiem myszy i kliknij Usuń
  • Usuń plik zip z serwera lokalnego
  • Otwórz terminal lub menedżer plików
  • Skopiuj plik settings.php instalacji lokalnej na swój pulpit
  • Otwórz plik za pomocą preferowanego edytora kodu
  • Zastąp nazwę użytkownika nazwą użytkownika dostarczoną przez dostawcę hostingu ( zrób to samo z nazwą bazy danych i hasłem – patrz Krok #5 )
  • Zapisz i zamknij plik
  • Otwórz Menedżera plików w panelu cPanel
  • Kliknij public_html/web/sites/default
  • Kliknij Prześlij
  • Wybierz plik settings.php z pulpitu
  • Kliknij Tak , aby nadpisać plik
  • Kliknij Wróć
  • Zmień uprawnienia do plików i katalogów zgodnie z obrazkiem poniżej
  • Kliknij w górę o jeden poziom
  • Zmień uprawnienia folderu domyślnego na 0755

Krok 9: Ustaw wersję PHP na swoim serwerze

Drupal wymaga co najmniej PHP 7.3.

  • Otwórz swój pulpit nawigacyjny cPanel
  • Wpisz Select PHP w polu wyszukiwania
  • Naciśnij Enter
  • Wybierz 7,4
  • Kliknij Ustaw jako bieżący
  • Sprawdź rozszerzenie opcache
  • Wpisz [yoursite.xxx/web] w pasku adresu przeglądarki
  • Kliknij Zaloguj się, podając nazwę użytkownika i hasło swojej lokalnej instalacji Drupala
  • Kliknij kartę Edytuj i w razie potrzeby zmień hasło

Krok 10: Dodaj klucz serwera produkcyjnego do Bitbucket

  • Otwórz swój pulpit nawigacyjny cPanel
  • Wpisz Terminal w polu wyszukiwania
  • Kliknij Enter
  • Kliknij Rozumiem i chcę kontynuować
  • Powtórz proces opisany w kroku 2
  • Wpisz: less ~/.ssh/id_rsa.pub

less to edytor terminala

  • Skopiuj i wklej klucz, jak pokazano w kroku 2, tym razem dla maszyny serwera
  • Wpisz : q

To pozwoli ci mniej wyjść.

Będziesz mieć jeden klucz dla każdej maszyny ( lub maszyny wirtualnej ) połączonej z Bitbucket.


Krok 11: Sklonuj zdalne repozytorium na serwer produkcyjny

  • Otwórz aplikację terminalową swojego serwera
  • Typ :
 cd public_html rm -rf web git clone [email protected]:[YOUR_PROJECT]/my-drupal.git web

Usuwasz folder sieciowy i zastępujesz go zdalnym repozytorium. Ostatnie polecenie terminala uzyskasz, jeśli otworzysz repozytorium Bitbucket i klikniesz przycisk Clone ( nie zapomnij dodać sieci na końcu polecenia! ) .


Krok 12: Zainstaluj moduł lub motyw

  • Otwórz aplikację terminala swojego systemu lokalnego
  • Typ :
 cd /var/www/html/my_drupal composer require drupal/bootstrap
  • Wpisz cd web , aby dostać się do katalogu internetowego
  • Typ :
 git add . git commit -m 'Bootstrap theme installation' git status
  • Wpisz git push
  • W razie potrzeby wprowadź hasło
  • Otwórz terminal na zdalnym serwerze.
  • Wpisz ( w razie potrzeby wprowadź hasło ):
 git fetch git status

Jeśli widzisz: Twoja gałąź jest za 'origin/master' przez 1 commit i może być przesunięta do przodu,

  • Wpisz : git merge

Spowoduje to scalenie kodu na twoim serwerze z kodem pobieranym ze zdalnego repozytorium.

  • Przejdź do sekcji motywów swojego backendu Drupala, motyw Bootstrap powinien tam być

UWAGA: Musisz powtórzyć ten ostatni krok za każdym razem, gdy pobierasz moduł, aktualizujesz rdzeń Drupala lub edytujesz kod CSS swojego motywu.


Rozwiązywanie problemów

Jeśli po zainstalowaniu Drupala na serwerze produkcyjnym otrzymasz strony błędów 404,

  • Usuń plik .htaccess
  • Prześlij go ponownie na serwer

Mam nadzieję, że podobał Ci się ten samouczek. Dziękuje za przeczytanie!