Wstęp
Drupal to oprogramowanie open source oparte na PHP, które działając po stronie serwera pozwala na tworzenie dynamicznych stron internetowych, nawet tych dość skomplikowanych. Jest to darmowy, modułowy i wysoce konfigurowalny CMS (system zarządzania treścią), będący dobrą alternatywą dla bardziej popularnych narzędzi, takich jak WordPress czy Joomla.
W tym poradniku zobaczysz wszystkie kroki, aby poprawnie zainstalować Drupal 8 na serwerze Cloud z systemem Linux Ubuntu 20.04.
Wymagania wstępne
Jeśli chodzi o działanie dowolnego CMS, ważne jest, aby na serwerze był zainstalowany serwer WWW i istniała baza danych, w której można zapisywać informacje i zawartość. Tutaj użyjemy odpowiednio Apache i MariaDB. Co więcej, Drupal jest oparty na PHP, więc wymaga zainstalowania tego komponentu również w twoim systemie.
W kolejnych krokach dowiesz się, jak zainstalować Apache, MariaDB i PHP na serwerze Ubuntu 20.04, przed przystąpieniem do instalacji Drupala. Jeśli te komponenty są już zainstalowane na Twoim serwerze, pomiń te kroki i przejdź bezpośrednio do czwartego kroku „Tworzenie bazy danych dla Drupala”.
Aby rozpocząć, połącz się z serwerem za pośrednictwem połączenia SSH. Jeśli jeszcze tego nie zrobiłeś, postępuj zgodnie z naszym przewodnikiem, aby bezpiecznie łączyć się za pomocą protokołu SSH. W przypadku serwera lokalnego przejdź do następnego kroku i otwórz terminal swojego serwera.
Instalacja Apache2
Apache to obecnie jeden z najpopularniejszych serwerów internetowych. Aby go zainstalować, zapoznaj się z oficjalnymi repozytoriami Ubuntu.
$ sudo apt update
$ sudo apt install apache2 -y
Jeśli system powiadomi Cię o konieczności ponownego uruchomienia serwera w celu zainstalowania Apache2, wybierz opcję „tak” i naciśnij klawisz Enter.
Po zakończeniu instalacji włącz Apache2 podczas uruchamiania systemu.
$ sudo systemctl stop apache2.service
$ sudo systemctl start apache2.service
$ sudo systemctl enable apache2.service
Aby sprawdzić, czy Apache działa, przejdź do:
http://server_ip
Uwaga: Zastąp „server_ip” adresem IP swojego serwera. Podczas pracy bezpośrednio na komputerze wystarczy wpisać „localhost.
Instalacja MariaDB
MariaDB to dobra baza danych typu open source, której można używać razem z Drupalem. Aby zainstalować go na serwerze, po prostu uruchom następujące polecenie:
$ sudo apt-get install mariadb-server mariadb-client -y
Podobnie jak w przypadku Apache, MariaDB również musi być uruchamiana przy starcie serwera, ponieważ jest to komponent działający równolegle z Drupalem. Aby ta operacja była skuteczna, wystarczy wpisać:
$ sudo systemctl stop mariadb.service
$ sudo systemctl start mariadb.service
$ sudo systemctl enable mariadb.service
Aby zwiększyć bezpieczeństwo bazy danych MariaDB, można określić pewne parametry i wymagania dotyczące dostępu do danych. Definiując te parametry, dostęp zdalny dla użytkownika root i dostęp dla użytkowników anonimowych jest dozwolony lub zabroniony. Aby to zrobić, wpisz polecenie:
$ sudo mysql_secure_installation
Zostaniesz poproszony o podanie zakresu informacji. Postępuj zgodnie z poniższą listą dotyczącą konfiguracji.
- Wprowadź aktualne hasło użytkownika root (jeśli nie masz, naciśnij enter): Naciśnij Enter.
- Ustawić hasło roota?: Wpisz „Y” i naciśnij Enter.
- Nowe hasło: wprowadź hasło użytkownika root MariaDB i naciśnij klawisz Enter.
- Ponownie wprowadź nowe hasło: Wpisz ponownie hasło i naciśnij klawisz Enter.
- Usunąć anonimowych użytkowników?: Wpisz Y i naciśnij klawisz Enter, aby nie akceptować anonimowego dostępu do bazy danych.
- Czy nie zezwalać na zdalne logowanie jako root?: Wpisz Y i naciśnij klawisz Enter, aby odmówić dostępu do bazy danych jako użytkownik Remote Root.
- Czy usunąć testową bazę danych i uzyskać do niej dostęp?: Usuń początkowe testowe bazy danych utworzone automatycznie po zainstalowaniu MariaDB i naciśnij klawisz Enter.
- Załadować teraz ponownie tabele uprawnień?: Wpisz Y i naciśnij klawisz Enter, aby zaktualizować nowo dodane informacje.
Na koniec tej operacji konfiguracyjnej, aby sprawdzić, czy MariaDB została poprawnie zainstalowana, wpisz:
$ sudo mysql -u root -p
Po wprowadzeniu podanego powyżej hasła przejdziesz do powłoki MariaDB. Aby wyjść, po prostu wpisz:
> EXIT;
W ten sposób powłoka MariaDB zostanie zamknięta. Więc przejdź do następnych operacji.
Instalacja PHP 7.2
W przeciwieństwie do wcześniej wspomnianych narzędzi, PHP nie jest dostępne w oficjalnych repozytoriach Ubuntu, dlatego należy je zainstalować za pomocą repozytoriów innych firm.
Najpierw dodaj niezbędne repozytoria:
$ sudo apt-get install software-properties-common -y
$ sudo add-apt-repository ppa:ondrej/php
Następnie zaktualizuj repozytoria:
$ sudo apt update
W tym momencie jesteś gotowy do zainstalowania PHP 7.2 i wszystkich niezbędnych modułów podrzędnych.
$ sudo apt install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2-zip php7.2-curl -y
Na koniec otwórz plik „php.ini” i wprowadź następujące zmiany
$ sudo nano /etc/php/7.2/apache2/php.ini
- file_uploads = On
- allow_url_fopen = On
- memory_limit = 256M
- upload_max_filesize = 100M
- max_execution_time = 360
- date.timezone = Europe/Warsaw
Zapisz i zamknij plik (CTRL + X / Y / Enter).
Aby sprawdzić, czy instalacja PHP 7.2 powiodła się, uruchom ponownie Apache i utwórz plik „phpinfo.php” w katalogu głównym Apache.
$ sudo systemctl restart apache2.service
$ sudo nano /var/www/html/phpinfo.php
W nowo otwartym edytorze tekstu wklej następującą instrukcję:
<?php
phpinfo();
?>
Zapisz i zamknij plik (CTRL + X / Y / Enter).
Uwaga: Jeśli pracujesz bezpośrednio na swoim lokalnym serwerze, przejdź do adresu „http: //localhost/phpinfo.php”, w przeciwnym razie zamień „localhost” na adres IP serwera Cloud.
Po przetestowaniu plik phpinfo.php należy usunąć.

Tworzenie bazy danych na Drupalu
Przed faktyczną instalacją Drupala należy wykonać ostatnią operację: stworzyć bazę danych, w której można będzie zapisać wszystkie dane. Wejdź do MariaDB Shell, jak pokazano powyżej.
$ sudo mysql -u root -p
Stworzenie bazy danych dedykowanej dla Drupala:
> CREATE DATABASE drupaldb;
Uwaga: Baza danych została tutaj nazwana "drupaldb", ale można jej przypisać dowolną nazwę. Zaleca się, aby nie zmieniać tej nazwy, jeśli chcesz zachować korespondencję z następnymi poleceniami.
Następnie utwórz użytkownika, który będzie miał dostęp do tej bazy danych i będzie miał wszystkie uprawnienia.
> GRANT ALL ON drupaldb.* TO 'drupal_user'@'localhost' IDENTIFIED BY 'drupal_passwd' WITH GRANT OPTION;
Uwaga: Zastąp „drupal_user” nazwą, którą chcesz nadać użytkownikowi, który może zalogować się jako administrator i zastąp „drupal_passwd” odpowiednim hasłem, które ma być z nim powiązane.
> FLUSH PRIVILEGES;
> EXIT;
Pobieranie Drupal 8
Wszystkie przygotowania do instalacji systemu CMS Drupal zostały zakończone. Wystarczy pobrać oprogramowanie i skonfigurować je.
Za pomocą następujących poleceń można pobrać Drupala i rozpakować go w odpowiednim katalogu:
$ cd /tmp && wget https://ftp.drupal.org/files/projects/drupal-8.9.1.tar.gz
$ tar -zxvf drupal*.gz
$ sudo mv drupal-8.9.1 /var/www/html/drupal
Następnie upewnij się, że te katalogi mają odpowiednie uprawnienia, aby działały poprawnie:
$ sudo chown -R www-data:www-data /var/www/html/drupal/
$ sudo chmod -R 755 /var/www/html/drupal/
Konfiguracja Drupal i Apache2
W tym momencie wystarczy skonfigurować Apache2 dla Drupala. Aby umożliwić publikację witryny internetowej.
Edytuj plik konfiguracyjny, aby określić, którzy użytkownicy mają dostęp do usługi.
$ sudo nano /etc/apache2/sites-available/000-default.conf
W wyświetlonym edytorze tekstu wklej następujący tekst, zastępując „example.com” domeną swojej witryny, a „ [email protected] ” adresem e-mail administratora.
<VirtualHost *:80>
ServerName mysite.com
ServerAlias www.mysite.com
ServerAdmin [email protected]
DocumentRoot /var/www/html
CustomLog ${APACHE_LOG_DIR}/access.log combined
ErrorLog ${APACHE_LOG_DIR}/error.log
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</Directory>
</VirtualHost>
Zapisz i zamknij plik (CTRL + X / Y / Enter).
Następnie zmień priorytety dla plików indeksujących Apache, aby nadać najwyższy priorytet plikom o nazwie index.php.
Edytuj plik konfiguracyjny Apache “dir.conf”:
$ sudo nano /etc/apache2/mods-enabled/dir.conf
Przenieś plik indeksujący na szczyt listy:
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
Następnie skonfiguruj moduły w następujący sposób:
$ sudo a2dismod mpm_event
$ sudo a2enmod mpm_prefork
$ sudo a2enmod php7.2
$ sudo a2enmod rewrite
$ sudo a2enmod env
$ sudo a2enmod dir
$ sudo a2enmod mime
Na koniec uruchom ponownie Apache:
$ systemctl restart apache2
Drupal: pierwsze logowanie i konfiguracja
Pracując bezpośrednio na swoim serwerze, wejdź na stronę konfiguracji Drupala, przechodząc do:
http://localhost/drupal
Podczas pracy z komputera zewnętrznego, zamiast „localhost” zostanie wskazany adres IP serwera. Zostanie wyświetlona strona podobna do pokazanej na poniższym rysunku. Następnie wybierz swój język i kliknij przycisk „Zachowaj i kontynuuj”, aby kontynuować.

WGdy pojawi się pytanie, który profil zainstalować, pozostaw znacznik wyboru przy pozycji Standardowe i kontynuuj.

Kolejnym krokiem jest weryfikacja wymagań. Zależnie od konfiguracji może pojawić się informacja o możliwości włączenia przyjaznych adresów. Na tą chwilę możesz przejść dalej klikając mimo to wszystko kontynuuj na dole strony.
Następnie zostaniesz poproszony o zdefiniowanie bazy danych, z której będziesz korzystać i wskazanie danych użytkownika, z którym Drupal będzie miał uprawnienia do zapisywania informacji. W tej sekcji wprowadź zdefiniowane wcześniej dane: w naszym przypadku „drupaldb”, „drupal_user” i „drupal_passwd".
Na koniec w ostatniej sekcji podaj informacje o swojej witrynie, adres e-mail i dane logowania administratora. Kiedy ta ostatnia faza zostanie zakończona, otworzy się strona główna zaplecza Drupala, ogłaszająca, że instalacja się powiodła!
Od teraz możesz zacząć używać i konfigurować CMS zgodnie ze swoimi potrzebami.
