How to install Drupal on Ubuntu 18.04
Sommario:
- Prerequisiti
- Prima di iniziare
- 1. Creare un database MySQL
- 2. Installa PHP
- 3. Installa Composer
- 4. Installa Drupal
- 5. Configura Nginx
- 6. Testare l'installazione
- 7. Installa i moduli e i temi di Drupal
- 8. Aggiorna il core di Drupal
- Conclusione
Drupal è una delle piattaforme CMS open source più popolari al mondo. È scritto in PHP e può essere utilizzato per creare diversi tipi di siti Web che vanno da piccoli blog personali a grandi siti aziendali, politici e governativi.
In questo tutorial, ti mostreremo come installare Drupal 8.6 su una macchina Ubuntu 18.04. Esistono diversi modi per installare Drupal. Questo tutorial copre i passaggi necessari per l'installazione di Drupal 8.6 utilizzando un modello di composizione per progetti Drupal chiamato drupal-project.
Useremo Nginx come server web, l'ultimo PHP 7.2 e MySQL / MariaDB come server database.
Prerequisiti
Assicurati di aver soddisfatto i seguenti prerequisiti prima di continuare con questo tutorial:
- Hai un nome di dominio che punta all'IP del tuo server pubblico. Useremo
example.com
. Hai Nginx installato seguendo queste istruzioni. Hai un certificato SSL installato per il tuo dominio. È possibile installare un certificato SSL Let's Encrypt gratuito seguendo queste istruzioni.
Prima di iniziare
Aggiorna l'indice dei pacchetti e i pacchetti di sistema alle ultime versioni:
sudo apt update && sudo apt upgrade
1. Creare un database MySQL
sudo apt install mysql-server
Per le nuove installazioni di MySQL, si consiglia di eseguire il comando
mysql_secure_installation
per migliorare la sicurezza del server MySQL.
Ora abbiamo bisogno di accedere alla shell MySQL e creare un nuovo database e account utente e dare all'utente le autorizzazioni di concessione appropriate.
Per accedere alla shell MySQL digitare il comando seguente e inserire la password quando richiesto:
mysql -u root -p
Per creare un database chiamato
drupal
, l'utente chiamato
drupaluser
e concedere le autorizzazioni necessarie all'utente, eseguire i seguenti comandi:
CREATE DATABASE drupal CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON drupal.* TO 'drupaluser'@'localhost' IDENTIFIED BY 'change-with-strong-password';
2. Installa PHP
PHP 7.2, che è la versione PHP predefinita in Ubuntu 18.04, è completamente supportata e consigliata per Drupal 8.6. Poiché utilizzeremo Nginx come server Web installeremo anche PHP-FPM.
Per installare tutti i moduli PHP richiesti esegui il seguente comando:
sudo apt install php7.2-cli php7.2-fpm php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl
Il servizio PHP-FPM si avvierà automaticamente al termine del processo di installazione, è possibile verificarlo stampando lo stato del servizio:
systemctl status php7.2-fpm
L'output dovrebbe indicare che il servizio fpm è attivo e in esecuzione.
● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2018-05-19 19:54:13 UTC; 9h ago Docs: man:php-fpm7.2(8) Main PID: 17781 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec" Tasks: 3 (limit: 507) CGroup: /system.slice/php7.2-fpm.service ├─17781 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) ├─17796 php-fpm: pool www └─17797 php-fpm: pool www
3. Installa Composer
Composer è un gestore delle dipendenze per PHP e lo useremo per scaricare il modello Drupal e installare tutti i componenti Drupal necessari.
Per installare il compositore a livello globale, scaricare il programma di installazione di Composer con arricciatura e spostare il file nella
/usr/local/bin
:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Verifica l'installazione stampando la versione del compositore:
composer --version
L'output dovrebbe assomigliare a questo:
Composer version 1.6.5 2018-05-04 11:44:59
4. Installa Drupal
Ora che abbiamo installato compositore, possiamo procedere e creare un nuovo progetto Drupal usando il modello compositore all'interno della directory
/var/www/my_drupal
:
sudo composer create-project drupal-composer/drupal-project:8.x-dev /var/www/my_drupal --stability dev --no-interaction
Il comando sopra scaricherà il modello, recupererà tutti i pacchetti php richiesti ed eseguirà alcuni script per preparare il nostro progetto all'installazione. Il processo potrebbe richiedere alcuni minuti e, se ha esito positivo, la fine dell'output dovrebbe essere simile alla seguente:
Create a sites/default/settings.php file with chmod 0666 Create a sites/default/files directory with chmod 0777
Il prossimo passo è installare Drupal usando Drush. Nel comando seguente stiamo passando il database MySQL e le informazioni utente create nel passaggio 1:
cd /var/www/my_drupal
sudo vendor/bin/drush site-install --db-url=mysql://drupaluser:change-with-strong-password@localhost/drupal
Il programma di installazione ti chiederà il seguente messaggio, premi Invio per continuare.
You are about to DROP all tables in your 'drupal' database. Do you want to continue? (yes/no):
Una volta completata l'installazione, lo script stamperà il nome utente e la password amministrativi. L'output dovrebbe essere simile al seguente:
Starting Drupal installation. This takes a while. Consider using the --notify global option. Installation complete. User name: admin User password: XRkC9Q5WN9
Infine, dobbiamo impostare le autorizzazioni corrette in modo che il server Web possa avere pieno accesso ai file e alle directory del sito. Sia Nginx che PHP sono in esecuzione come utente
www-data
gruppo
www-data
, quindi dobbiamo emettere il seguente comando:
sudo chown -R www-data: /var/www/my_drupal
5. Configura Nginx
Ormai, dovresti già avere Nginx con certificato SSL installato sul tuo sistema, se non controlla i prerequisiti per questo tutorial.
Per creare un nuovo blocco server per il nostro nuovo progetto Drupal useremo la ricetta Nginx dal sito ufficiale Nginx.
Apri il tuo editor di testo e crea il seguente file:
sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com
# Redirect HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # Redirect WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; root /var/www/my_drupal/web; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ \..*/.*\.php$ { return 403; } location ~ ^/sites/.*/private/ { return 403; } # Block access to scripts in site files directory location ~ ^/sites/+/files/.*\.php$ { deny all; } # Block access to "hidden" files and directories whose names begin with a # period. This includes directories used by version control systems such # as Subversion or Git to store control files. location ~ (^|/)\. { return 403; } location / { try_files $uri /index.php?$query_string; } location @rewrite { rewrite ^/(.*)$ /index.php?q=$1; } # Don't allow direct access to PHP files in the vendor directory. location ~ /vendor/.*\.php$ { deny all; return 404; } location ~ '\.php$|^/update.php' /.*)$; include fastcgi_params; # Block httpoxy attacks. See https://httpoxy.org/. fastcgi_param HTTP_PROXY ""; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param QUERY_STRING $query_string; fastcgi_intercept_errors on; fastcgi_pass unix:/run/php/php7.2-fpm.sock; # Fighting with Styles? This little gem is amazing. # location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6 location ~ ^/sites/.*/files/styles/ { # For Drupal >= 7 try_files $uri @rewrite; } # Handle private files through Drupal. Private file's path can come # with a language prefix. location ~ ^(/+)?/system/files/ { # For Drupal >= 7 try_files $uri /index.php?$query_string; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { try_files $uri @rewrite; expires max; log_not_found off; } }
Non dimenticare di sostituire example.com con il tuo dominio Drupal e impostare il percorso corretto per i file del certificato SSL. Tutte le richieste HTTP verranno reindirizzate a HTTPS. Gli snippet utilizzati in questa configurazione sono creati in questa guida.
Abilitare il blocco server creando un collegamento simbolico alla directory
sites-enabled
per i
sites-enabled
:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Prima di riavviare il servizio Nginx, eseguire un test per accertarsi che non vi siano errori di sintassi:
sudo nginx -t
Se non ci sono errori, l'output dovrebbe apparire così:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Infine, riavvia il servizio Nginx digitando:
6. Testare l'installazione
Apri il tuo browser, digita il tuo dominio e supponendo che l'installazione sia andata a buon fine, apparirà una schermata simile alla seguente:
Puoi accedere come amministratore e iniziare a personalizzare la tua nuova installazione di Drupal.
7. Installa i moduli e i temi di Drupal
Ora che hai installato il tuo progetto Drupal, ti consigliamo di installare alcuni moduli e temi. I moduli e i temi di Drupal sono ospitati su un repository di compositori personalizzati, che il progetto drupal ci configura immediatamente.
Per installare un modulo o un tema, tutto ciò che devi fare è
cd
nella directory del progetto e digitare
composer require drupal/module_or_theme_name
. Ad esempio, se vogliamo installare il modulo Pathauto, dobbiamo eseguire il seguente comando:
cd /var/www/my_drupal
sudo -u www-data composer require drupal/pathauto
Anticipando
sudo -u www-data
eseguiamo il comando come
www-data
dell'utente
Using version ^1.3 for drupal/pathauto./composer.json has been updated > DrupalProject\composer\ScriptHandler::checkComposerVersion Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 3 installs, 0 updates, 0 removals - Installing drupal/token (1.5.0): Downloading (100%) - Installing drupal/ctools (3.2.0): Downloading (100%) - Installing drupal/pathauto (1.3.0): Downloading (100%) Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested. Writing lock file Generating autoload files > DrupalProject\composer\ScriptHandler::createRequiredFiles
Come puoi vedere dall'output sopra, compositore installa anche tutte le dipendenze dei pacchetti per noi.
8. Aggiorna il core di Drupal
Prima di aggiornare è sempre una buona idea fare un backup dei tuoi file e database. È possibile utilizzare il modulo Backup e migrazione o eseguire manualmente il backup del database e dei file.
Per eseguire il backup dei file di installazione è possibile utilizzare il seguente comando rsync, ovviamente è necessario utilizzare il percorso corretto per la directory di installazione:
sudo rsync -a /var/www/my_drupal/ /var/www/my_drupal_$(date +%F)
Per eseguire il backup del database è possibile utilizzare il comando
mysqldump
standard:
mysqldump -u root -p > /var/www/my_drupal_database_$(date +%F).sql
o
drush sql-dump
:
cd /var/www/my_drupal
vendor/bin/drush sql-dump > /var/www/my_drupal_database_$(date +%F).sql
Ora che abbiamo creato un backup, possiamo continuare e aggiornare tutti i file core di Drupal eseguendo il comando seguente:
sudo -u www-data composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies
Conclusione
Congratulazioni, hai installato con successo Drupal 8 usando il compositore e hai imparato come installare moduli e temi. Ora puoi iniziare a personalizzare il tuo sito. La Guida dell'utente di Drupal 8 è un buon punto di partenza per ulteriori informazioni su come gestire l'installazione di Drupal. Dovresti anche visitare il progetto modello Drupal Composer su Github.
ubuntu drupal mysql mariadb cms nginx compositoreCome installare Drupal usando WAMP su Windows
Puoi installare Drupal usando WAMP su Windows. Questo tutorial ti mostrerà come installare Drupal su localhost su Windows 10 / 8.1 / 7.
Come installare, installare la stampante multifunzione HP Officejet 6500a plus
Scopri come impostare e installare la stampante multifunzione HP Officejet 6500A Plus.
Come installare drupal su centos 7
Drupal è una delle principali piattaforme CMS open source in tutto il mondo. È flessibile, scalabile e può essere utilizzato per creare diversi tipi di siti Web che vanno da piccoli blog personali a grandi siti aziendali, politici e governativi. In questo tutorial spiegheremo come installare Drupal 8.6 su CentOS 7.