Tutorial > Come installare Drupal 8 su Ubuntu 20.04

Come installare Drupal 8 su Ubuntu 20.04

Pubblicato il: 03 luglio 2020

CMS Drupal Ubuntu

Introduzione

Drupal è un software open source basato su PHP che, lavorando lato server, permette la creazione di siti web dinamici, anche piuttosto complessi. Si tratta di un CMS (Content Management System) gratuito, modulare e altamente personalizzabile, che può rappresentare una valida alternativa a strumenti più blasonati quali WordPress o Joomla.

In questo tutorial ti illustreremo tutti i passaggi per installare correttamente Drupal 8 (versione 8.4.5) sul tuo Cloud Server con Linux Ubuntu 20.04.

Prerequisiti

Come per il funzionamento di qualsiasi CMS, è fondamentale che sul tuo server sia installato un Web Server e sia presente un Database all’interno del quale salvare le informazioni e i contenuti. Nel nostro caso useremo rispettivamente Apache e MariaDB.  Inoltre Drupal si basa su PHP, quindi richiede che anche questo componente sia installato sul tuo sistema.

Nei prossimi step vedrai come installare Apache, MariaDB e PHP sul tuo server Ubuntu 20.04, prima di procedere con l'installazione di Drupal. Qualora queste componenti fossero già installate sul tuo server puoi saltare questi passaggi e procedere direttamente al quarto punto sulla Creazione del database per Drupal.

Per iniziare connettiti quindi al tuo server tramite una connessione SSH. Se non l’hai ancora fatto, ti consigliamo di seguire la nostra guida per connetterti in sicurezza con il protocollo SSH. In caso di server locale puoi passare al punto successivo e aprire il terminale del tuo server.

Installazione di Apache2

Apache risulta essere uno dei Web Server più popolari al giorno d’oggi. Per installarlo si può far riferimento ai repository ufficiali di Ubuntu.

sudo apt update
sudo apt install apache2 -y

Se il sistema dovesse notificarti la necessità di riavviare il server per installare Apache2, seleziona la voce “yes” e premi Invio.

Al termine dell’installazione, bisogna abilitare Apache2 all’avvio del sistema.

sudo systemctl stop apache2.service
sudo systemctl start apache2.service
sudo systemctl enable apache2.service

Per verificare che Apache sia in funzione, dirigiti all’indirizzo:

http://server_ip

N.B. Sostituisci “server_ip” con l’indirizzo IP del tuo Server. Se invece stai operando direttamente sulla macchina, puoi digitare semplicemente “localhost”.

Apache2

Installazione di MariaDB

MariaDB è un buon database open source, da poter affiancare a Drupal. Per installarlo sul tuo Server ti basterà eseguire il seguente comando:

sudo apt-get install mariadb-server mariadb-client -y

Come per Apache, anche MariaDB deve essere eseguito all’avvio del Server poiché è un componente che lavora parallelamente a Drupal. Per rendere effettiva questa operazione, ti basterà digitare:

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Per aumentare la sicurezza per il Database MariaDB è possibile specificare determinati parametri e requisiti per l’accesso ai dati. È infatti possibile definire alcuni parametri per permettere o meno l’accesso da remoto come utente root e consentire o rifiutare l’accesso da utenti anonimi. Per farlo digita il comando:

sudo mysql_secure_installation

Ti verrà chiesto di specificare una serie di informazioni. Segui l’elenco sottostante per la configurazione.

  • Enter current password for root (enter for none): Premi Invio.
  • Set root password?: Digita “Y” e premi Invio.
  • New password: Inserisci la password per l’utente root di MariaDB e premi Invio.
  • Re-enter new password: Scrivi nuovamente la password e premi Invio.
  • Remove anonymous users?: Digita Y e premi Invio per non accettare l'accesso al Database da parte di utenti anonimi.
  • Disallow root login remotely?: Digita Y e premi Invio per non consentire l’accesso al Database come utente Root da Remoto.
  • Remove test database and access to it?: Rimuovi i Database di test iniziali creati automaticamente all’installazione di MariaDB e premi Invio.
  • Reload privilege tables now?: Digita Y e premi Invio per aggiornare le informazioni appena aggiunte.
Configurazione MySQL

Al termine di questa operazione di configurazione, per verificare che MariaDB sia stato installato correttamente digita:

sudo mysql -u root -p

Dopo aver inserito la password specificata precedentemente, entrerai nella shell di MariaDB. Per uscire ti basterà digitare:

EXIT;

In questa maniera avrai chiuso la shell di MariaDB e potrai procedere con le prossime operazioni.

Installazione di PHP 7.2

A differenza degli strumenti precedentemente nominati, PHP non è disponibile all’interno dei repository ufficiali di Ubuntu, di conseguenza bisogna installarlo utilizzando repository di terze parti.

Per prima cosa aggiungi i repository necessari:

sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php

Aggiorna quindi i repository: 

sudo apt update

A questo punto sei pronto per poter installare PHP 7.2 e tutti i sottomoduli necessari.

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

Infine, apri il file “php.ini” e apporta le seguenti modifiche

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 = America/Chicago

Salve e chiudi il file (CTRL + X / Y / Invio).

Per verificare che l’installazione di PHP 7.2 sia andata a buon fine, riavvia Apache e crea un file “phpinfo.php” nella root di Apache.

sudo systemctl restart apache2.service
sudo nano /var/www/html/phpinfo.php

All’interno dell’editor di testo appena aperto, incolla la seguente istruzione:

<?php phpinfo(); ?>

Salve e chiudi il file (CTRL + X / Y / Invio).

Recati quindi allo stesso indirizzo utilizzato precedentemente per verificare l’installazione di Apache2, aggiungendo però “/phpinfo.php” all’URL.

N.B. Se stai lavorando direttamente sul tuo Server locale allora puoi recarti all’indirizzo “http://localhost/phpinfo.php”, altrimenti sostituisci “localhost” con l'indirizzo IP del tuo Cloud Server.

Pagina Phpinfo

Creazione del Database per Drupal

Prima di installare effettivamente Drupal bisogna effettuare un’ultima operazione fondamentale: creare un Database dove salvare tutti i dati. Entra nella Shell di MariaDB così come mostrato in precedenza.

sudo mysql -u root -p

Crea un Database dedicato a Drupal:

CREATE DATABASE drupaldb;

N.B. In questo caso il database è stato chiamato “drupaldb”, ma puoi assegnarli qualsiasi nome tu preferisca. Consigliamo di non cambiare questo nome se si vuole mantenere la corrispondenza con i prossimi comandi.

Crea quindi un utente che possa accedere a questo Database e che ne abbia tutti i privilegi.

GRANT ALL ON drupaldb.* TO 'drupal_user'@'localhost' IDENTIFIED BY 'drupal_passwd' WITH GRANT OPTION;

N.B. Sostituisci “drupal_user” con il nome da voler attribuire all’utente che possa farvi accesso come amministratore e sostituisci “drupal_passwd” con la rispettiva password da volervici associare.

FLUSH PRIVILEGES;
EXIT;
Creazione Database

Download di Drupal 8

Tutti i preparativi per l'installazione del CMS Drupal sono stati ultimati. Non resta che scaricare il software e configurarlo.

Con i seguenti comandi potrai scaricare Drupal ed estrarlo nell’apposita directory: 

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

Assicurati quindi che queste directory abbiano giusti permessi per il suo corretto funzionamento:

sudo chown -R www-data:www-data /var/www/html/drupal/
sudo chmod -R 755 /var/www/html/drupal/

Configurazione di Drupal e Apache2

A questo punto non resta che configurare Apache2 per Drupal. Per permettere la pubblicazione del sito web, è necessario infatti che venga configurato un Virtual Host.

Bisogna creare un file di configurazione tramite il quale specificare quali utenti possano far accesso al servizio.

sudo nano /etc/apache2/sites-available/drupal.conf

Nell’editor di testo che si aprirà, incolla il seguente testo, sostituendo “example.com” con il dominio del tuo sito web e “[email protected]” con l’indirizzo email dell'amministratore.

     ServerAdmin [email protected]
     DocumentRoot /var/www/html/drupal/
     ServerName example.com
     ServerAlias www.example.com

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

            Options FollowSymlinks
            AllowOverride All
            Require all granted
     
            RewriteEngine on
            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Salve e chiudi il file (CTRL + X / Y / Invio).

È necessario quindi abilitare questo nuovo file di configurazione per fare in modo che Apache2 possa tenerne conto al prossimo riavvio.

sudo a2ensite drupal.conf
sudo a2enmod rewrite
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

Riavvia infine Apache:

sudo systemctl restart apache2.service

Drupal: primo accesso e configurazione

Se stai agendo direttamente sul tuo Server, puoi accedere alla pagina di configurazione di Drupal recandoti all’indirizzo:

http://localhost/drupal

Qualora stessi agendo da una macchina esterna, al posto di “localhost” indica l’IP del Server. Ti si presenterà una pagina come quella mostrata nella figura sottostante. Seleziona quindi la tua lingua e clicca sul pulsante "Save and continue" per andare avanti.

Installazione Drupal

Quando ti chiederà che profilo installare, lascia la spunta sulla voce Standard e vai avanti.

Selezione del profilo di installazione

Ti verrà richiesto di definire il database da utilizzare e di indicare i dati per l’utente con il quale Drupal avrà i diritti per scrivere le informazioni. In questa sezione inserisci i dati precedentemente definiti: nel nostro caso “drupaldb”, “drupal_user” e “drupal_passwd”.

Infine, nell’ultima sezione dovrai specificare informazioni per il tuo sito, l’indirizzo email e i dati di login per l’amministratore. Quando anche quest’ultima fase verrà portata a termine, si aprirà l'homepage del backend di Drupal, indicandoti che l'installazione è andata a buon fine!

Da questo momento potrai iniziare a utilizzare e configurare il CMS secondo le tue esigenze.

Installazione completata