androide

Come installare drupal su centos 7

[LINUX] #7 Virtualmin su Centos 1/2

[LINUX] #7 Virtualmin su Centos 1/2

Sommario:

Anonim

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:

/etc/php-fpm.d/www.conf

… 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:

sudo systemctl restart nginx

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 nginx