[LINUX] #7 Virtualmin su Centos 1/2
Sommario:
- Prerequisiti
- Crea un database MySQL
- Installa PHP
- Installa Composer
- Installa Drupal
- Configura Nginx
- Testare l'installazione
- Installa i moduli e i temi Drupal
- Aggiorna Drupal Core
- Conclusione
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.
Esistono diversi modi per installare Drupal. Questa guida illustra i passaggi necessari per l'installazione di Drupal 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
Prima di iniziare l'installazione, assicurarsi di aver soddisfatto i seguenti prerequisiti:
- Avere un nome di dominio che punta all'IP del server pubblico. Useremo
example.com
Avere Nginx installato. Avere un certificato SSL installato per il proprio dominio. È possibile installare un certificato SSL Let's Encrypt gratuito seguendo queste istruzioni. Accesso come utente con privilegi sudo.
Crea un database MySQL
Il primo passo è creare un nuovo database e account utente e concedere le autorizzazioni appropriate all'utente.
Se MySQL o MariaDB è già installato sul tuo server, puoi saltare questo passaggio, altrimenti puoi installare il pacchetto del server MariaDB 5.5 dai repository predefiniti di CentOS digitando:
sudo yum install mariadb-server
Per le nuove installazioni di MariaDB / MySQL, si consiglia di eseguire il comando
mysql_secure_installation
per migliorare la sicurezza del server di database.
Accedi alla shell MySQL digitando il comando seguente e inserisci 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';
Installa PHP
CentOS 7 viene fornito con PHP versione 5.4, che è obsoleto e non è più supportato. La versione PHP consigliata per Drupal è PHP 7.2.
Per installare PHP 7.2 su CentOS 7, prima dobbiamo abilitare i repository EPEL e Remi:
sudo yum install epel-release yum-utils
sudo yum install
sudo yum-config-manager --enable remi-php72
Una volta abilitati i repository per installare PHP 7.2 e tutte le estensioni PHP richieste eseguono i seguenti comandi:
sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl git
Abbiamo installato FPM di PHP perché utilizzeremo Nginx come server Web.
Per impostazione predefinita, PHP FPM verrà eseguito come
apache
utente sulla porta 9000. Camberemo l'utente in
nginx
e passeremo dal socket TCP al socket Unix. Per fare ciò, apri il file
/etc/php-fpm.d/www.conf
e modifica le linee evidenziate in giallo:
… user = nginx… group = nginx… listen = /run/php-fpm/www.sock… listen.owner = nginx listen.group = nginx
Assicurati che la directory
/var/lib/php
abbia la proprietà corretta usando il seguente comando chown:
sudo chown -R root:nginx /var/lib/php
Infine, abilita e avvia il servizio PHP FPM:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
Installa Composer
Composer è un gestore delle dipendenze per PHP. Scaricheremo il modello Drupal e installeremo tutti i componenti Drupal necessari con il compositore.
Il seguente comando installerà il compositore a livello globale scaricando il programma di installazione di Composer con arricciatura e spostando il file nella
/usr/local/bin
:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Verifica l'installazione eseguendo il seguente comando che stamperà la versione del compositore:
composer --version
L'output dovrebbe assomigliare a questo:
Composer version 1.8.4 2019-02-11 10:52:10
Installa Drupal
Ora che il compositore è stato installato, crea un nuovo progetto Drupal usando il modello Drupal nella directory
/var/www/my_drupal
:
sudo /usr/local/bin/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à gli script necessari per preparare il progetto per l'installazione. Il processo potrebbe richiedere alcuni minuti e, se ha esito positivo, la fine dell'output sarà 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 che abbiamo creato nella prima sezione:
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. Installation complete. User name: admin User password: frxka2Db5v
Infine, imposta le autorizzazioni corrette in modo che il server web possa avere pieno accesso ai file e alle directory del sito:
sudo chown -R nginx: /var/www/my_drupal
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/conf.d/example.com
/etc/nginx/conf.d/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' fastcgi_split_path_info ^(.+?\.php)(# 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.
Prima di riavviare il servizio Nginx, eseguire un test per accertarsi che non vi siano errori di sintassi:
sudo nginx -t
Riavvia il servizio Nginx per rendere effettive le modifiche digitando:
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.
Installa i moduli e i temi 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 nginx /usr/local/bin/composer require drupal/pathauto
Anticipando
sudo -u nginx
eseguiamo il comando come utente
nginx
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.
Aggiorna Drupal Core
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 nginx /usr/local/bin/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. Inoltre, non dimenticare di visitare il progetto modello Drupal Composer su Github.
centos drupal mysql mariadb compositore cms nginxCome 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 Ubuntu 18.04
In questo tutorial ti mostreremo come installare Drupal 8.6 su una macchina Ubuntu 18.04. Esistono diversi modi per installare Drupal, questa esercitazione illustra i passaggi necessari per installare Drupal 8.6 utilizzando Composer.