Poradniki > Jak zainstalować Drupal 8 na Ubuntu 20.04

Jak zainstalować Drupal 8 na Ubuntu 20.04

Zobacz poradnik tutaj

Opublikowany: 20 sierpnia 2020

CMS Ubuntu

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.

Apache2

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.
MySQL configuration

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ąć.

Phpinfo page

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;
Database creation

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.

Installation complete