Ricerca nel sito web

Come installare Drupal su Alma Linux 9


In questa pagina

  1. Prerequisiti
  2. Installazione delle dipendenze
  3. Configurazione di Firewalld
  4. Configurazione di PHP
  5. Configurazione di MariaDB
  6. Download del codice sorgente Drupal
  7. Creazione dell'host virtuale HTTP
  8. Configurazione di HTTPS tramite Certbot
  9. Installazione di Drupal
  10. Conclusione

Drupal è un sistema di gestione dei contenuti (CMS) open source utilizzato per creare e gestire siti Web. Noto per la sua flessibilità e robustezza, Drupal consente agli utenti di creare e organizzare contenuti, personalizzare la presentazione, automatizzare le attività amministrative e gestire ruoli e autorizzazioni utente. È particolarmente apprezzato per la sua architettura modulare, che consente agli sviluppatori di estendere e modificare le funzionalità attraverso migliaia di moduli e temi aggiuntivi. Drupal è altamente scalabile, il che lo rende adatto sia a piccoli blog personali che a grandi siti Web aziendali e governativi. Il forte supporto della comunità e la documentazione completa ne migliorano ulteriormente l'usabilità e il potenziale di sviluppo.

In questo tutorial ti guideremo attraverso l'installazione di Drupal su un server Alma Linux 9 utilizzando lo stack LAMP (Linux, Apache/Httpd, MariaDB e PHP). Successivamente, dimostreremo come proteggere la tua installazione Drupal con Firewalld e certificati SSL utilizzando Certbot e Let's Encrypt.

Prerequisiti

Prima di iniziare, assicurati di avere i seguenti requisiti:

  • Un server Alma Linux 9.
  • Un utente non root con privilegi di amministratore.
  • Un nome di dominio puntava all'indirizzo IP di un server.
  • Un SELinux con status permissivo.

Installazione delle dipendenze

Al momento, l'ultima versione di Drupal richiede PHP 8.3, quindi è necessario installarlo tramite un repository di terze parti. Inoltre, installerai altre dipendenze tra cui il server web Httpd e il server MariaDB.

Prima di installare le dipendenze, aggiungi il repository EPEL e Remi al tuo server Alma Linux. Immettere y quando viene richiesto di aggiungere il repository.

sudo dnf install epel-release dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm

Nelle distribuzioni basate su RHEL, alcuni pacchetti vengono forniti come moduli di repository. Abilita il modulo repository per PHP 8.3 tramite il repository Remi con il comando seguente.

sudo dnf module reset php
sudo dnf module enable php:remi-8.3

Ora installa i pacchetti LAMP Stack (Apache/Httpd, MariaDB e PHP) con il comando dnf riportato di seguito. Quando richiesto, immettere y per confermare l'installazione.

sudo dnf install httpd mariadb-server php php-cli php-devel php-mbstring php-gd php-xml php-curl php-mysqlnd php-pdo php-json php-opcache php-pear php-pecl-apcu php-pecl-crypto

Al termine dell'installazione, avviare e abilitare il servizio httpd utilizzando il comando seguente.

sudo systemctl start httpd
sudo systemctl enable httpd

Quindi avvia e abilita il servizio mariadb con il comando seguente.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Infine, verifica la versione PHP utilizzando il seguente comando. Vedrai PHP 8.3 installato sul tuo sistema.

php -v
php -m

Configurazione di Firewalld

Per impostazione predefinita, il firewalld è attivo e funzionante su Alma Linux. Devi aprire l'accesso ai protocolli HTTP e HTTPS tramite firewalld e consentire il traffico verso la tua installazione Drupal.

Aggiungi sia il servizio HTTP che HTTPS a firewalld utilizzando il comando seguente. Quindi, ricarica firewalld per applicare le modifiche.

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

Ora esegui il comando seguente per verificare lo stato del firewalld ed elencare le regole abilitate. Vedrai sia i servizi HTTP che HTTPS aggiunti al firewalld.

sudo firewall-cmd --list-all

Configurazione di PHP

In questa sezione configurerai PHP modificando la configurazione predefinita /etc/php.ini e installando l'estensione aggiuntiva uploadprogress tramite PECL (PHP Extension Community Library). L'estensione di avanzamento del caricamento è necessaria a Drupal ma è disponibile solo come pacchetto PECL.

Apri il file di configurazione PHP /etc/php.ini utilizzando il comando dell'editor nano riportato di seguito.

sudo nano /etc/php.ini

Modificare la configurazione predefinita con quanto segue. Assicurati di regolare le opzioni memory_limit e date.timezone con il tuo ambiente attuale.

memory_limit = 512M
upload_max_filesize = 60M
max_execution_time = 300
date.timezone = Europe/Stockholm

Salvare ed uscire dal file al termine.

Ora esegui il comando seguente per installare il modulo uploadprogress sul tuo sistema. Il modulo uploadpprogress è disponibile nel repository PECL, non nel repository dei pacchetti.

sudo pecl install uploadprogress

Una volta completata l'installazione, otterrai il seguente output:

Successivamente, esegui il comando seguente per creare una nuova configurazione per abilitare l'estensione uploadprogress.

cat <<EOF | sudo tee /etc/php.d/uploadprogress.ini
; configuration for php uploadprogress module
; priority 15
extension=uploadprogress.so
EOF

Riavvia il servizio httpd per applicare le modifiche a PHP.

sudo systemctl restart httpd

Infine, verifica il caricamento del modulo con il comando seguente. Assicurati che il modulo uploadprogress sia abilitato sulla tua installazione PHP.

php -m | grep uploadprogress

Configurazione di MariaDB

Dopo aver configurato PHP, dovrai configurare l'installazione del tuo server MariaDB. Proteggerai MariaDB tramite la riga di comando, quindi creerai un nuovo database e un nuovo utente per Drupal tramite il client MariaDB.

Proteggi il tuo server MariaDB con il comando seguente.

sudo mariadb-secure-installation

Durante il processo, inserire Y per confermare e applicare una nuova configurazione o N per rifiutare la configurazione. Di seguito sono riportate le configurazioni di MariaDB che verranno richieste:

  • Passare all'autenticazione unix_socket?. Immettere n e premere ENTER. L'utente root predefinito di MariaDB è già protetto. facoltativamente, puoi anche abilitarlo digitando y per sì.
  • Cambiare la password di root?. Inserisci y per confermare e impostare la tua nuova password root MariaDB.
  • Rimuovere l'utente anonimo?. Immettere y per confermare.
  • Non consentire l'accesso root da remoto? Immettere y per confermare. Se si utilizza l'utente root MariaDB sarà consentita solo la connessione locale.
  • Rimuovere il database di test e accedervi?. Immettere y per confermare e rimuovere il "test" del database predefinito.
  • Infine, inserisci nuovamente y per ricaricare tutti i privilegi delle tabelle sul tuo server MariaDB e applicare le nuove modifiche.

Accedi al server MariaDB con il comando mariadb riportato di seguito. Digita la password root di MariaDB quando richiesto.

sudo mariadb -u root -p

Ora esegui le seguenti query per creare un nuovo database drupaldb, un utente drupal, con la password p4ssword. Questo database verrà utilizzato da Drupal, quindi assicurati di modificare i seguenti dettagli del database con le tue informazioni.

CREATE DATABASE drupaldb;
CREATE USER drupal@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL ON drupaldb.* TO drupal@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;

Successivamente, verifica i privilegi per l'utente Drupal utilizzando la query seguente. Vedrai che l'utente Drupal può accedere al database Drupaldb.

SHOW GRANTS FOR drupal@localhost;

Infine, inserisci quit per uscire dal server MariaDB.

Download del codice sorgente Drupal

Ora che hai configurato MariaDB e creato il database e l'utente, puoi scaricare il codice sorgente Drupal e configurare DocuemtRoot o la directory web root per l'installazione di Drupal. In questo caso, scaricherai il codice sorgente Drupal tramite wget invece di installarlo tramite Composer.

Vai alla directory /var/www e scarica il codice sorgente Drupal più recente utilizzando il comando wget riportato di seguito.

cd /var/www/
wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz

una volta scaricato, estrai il codice sorgente Drupal e rinomina la directory estratta in drupal. In questo modo, la directory DocumentRoot per Drupal sarà disponibile su /var/www/drupal

tar -xvf drupal.tar.gz
mv drupal-* drupal

Ora esegui il comando seguente per modificare la proprietà della directory/var/www/drupal nell'utente apache e modificare l'autorizzazione in 755.

sudo chown -R apache:apache /var/www/drupal/
sudo chmod -R 755 /var/www/drupal/

Creazione dell'host virtuale HTTP

In questa sezione creerai una nuova configurazione di host virtuale Httpd per Drupal. Quindi assicurati di aver preparato il tuo nome di dominio per Drupal, sia esso un nome di dominio locale o pubblico.

Innanzitutto, crea una nuova configurazione dell'host virtuale httpd /etc/httpd/conf.d/drupal.conf utilizzando il seguente comando dell'editor nano.

sudo nano /etc/httpd/conf.d/drupal.conf

Inserisci la configurazione qui sotto e assicurati di cambiare l'opzione ServerName con il tuo nome di dominio.

<VirtualHost *:80>
 ServerName howtoforge.local
 ServerAdmin [email 
 DocumentRoot /var/www/drupal
 ErrorLog /var/log/httpd/howtoforge.local.error.log
 CustomLog /var/log/httpd/howtoforge.local.access.log combined
 <Directory /var/www/drupal>
 Options FollowSymlinks
 #Allow .htaccess
 AllowOverride All
 Require all granted
 <IfModule security2_module>
 SecRuleEngine Off
 # or disable only problematic rules
 </IfModule>
 </Directory>
 <Directory /var/www/drupal/>
 RewriteEngine on
 RewriteBase /
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
 </Directory>
</VirtualHost>

Salvare il file e uscire dall'editor una volta terminato.

Ora esegui il comando seguente per verificare la tua configurazione httpd. Assicurati di avere un output Sintassi OK, confermando di avere la sintassi httpd corretta.

sudo apachectl configtest

Infine, riavvia httpd con il comando seguente per applicare le modifiche al nuovo host virtuale.

sudo systemctl restart httpd

Configurazione di HTTPS tramite Certbot

In questa sezione configurerai HTTPS per Drupal tramite Certbot e Letsencrypt. Esegui questa operazione quando utilizzi il dominio pubblico, per il dominio locale puoi generare un certificato autofirmato.

Installa il plugin Certbot e Certbot Apache utilizzando il comando seguente. Immettere y per confermare l'installazione.

sudo dnf install certbot python3-certbot-apache

Una volta completata l'installazione, genera certificati SSL/TLS per la tua installazione Drupal utilizzando il comando certbot riportato di seguito. Assicurati di modificare il nome di dominio e l'indirizzo email con le tue informazioni.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email  -d howtoforge.local

Una volta completato il processo, i tuoi certificati SSL/TLS saranno disponibili nella directory/etc/letsencrypt/live/domain.com. Inoltre, l'installazione di Drupal dovrebbe essere configurata automaticamente con HTTPS.

Installazione di Drupal

Apri il tuo browser web e visita il nome del dominio di installazione di Drupal come https://howtoforge.local/.

Seleziona la tua lingua preferita e fai clic sul pulsante Salva e continua.

Per il profilo di installazione, seleziona Standard se stai installando Drupal per la prima volta, quindi fai clic su Salva e continua.

Una volta completato il controllo del sistema, vedrai la configurazione del database per Drupal. Inserisci i dettagli delle informazioni del tuo database MariaDB, fai nuovamente clic su Salva e continua.

Ora dovrebbe iniziare l'installazione di Drupal e vedrai quanto segue:

Una volta completata l'installazione, inserisci i dettagli delle informazioni sul tuo sito Drupal e crea un nuovo utente amministratore per Drupal. Quindi, fai clic su Salva e continua per confermare.

Al termine della configurazione, otterrai la home page Drupal come la seguente:

Conclusione

Congratulazioni! Ora hai installato Drupal sul server Alma Linux 9. Hai installato Drupal con Httpd, MariaDB e PHP. Inoltre protetto Drupal con SSL/TLS da Letsencrypt. Con Drupal installato, inizia ad aggiungere nuovi temi o installa le estensioni.

Articoli correlati: