Android

Cum se instalează drupal pe centos 7

Instalarea unui modul in Drupal.wmv

Instalarea unui modul in Drupal.wmv

Cuprins:

Anonim

Drupal este una dintre cele mai importante platforme CMS open source la nivel mondial. Este flexibil, scalabil și poate fi utilizat pentru a construi diferite tipuri de site-uri web, de la mici bloguri personale la mari site-uri corporative, politice și guvernamentale.

În acest tutorial, vă vom explica cum să instalați Drupal 8.6 pe CentOS 7.

Există mai multe modalități de instalare a Drupal. Acest ghid acoperă pașii necesari pentru instalarea Drupal folosind un șablon compozitor pentru proiectele Drupal numit proiect drupal.

Vom folosi Nginx ca server web, cel mai recent PHP 7.2 și MySQL / MariaDB ca server de baze de date.

Cerințe preliminare

Înainte de a începe instalarea, asigurați-vă că ați îndeplinit următoarele cerințe preliminare:

  • Puneți un nume de domeniu îndreptat către IP-ul serverului dvs. public. Vom folosi exemplul.com. Aveți Nginx instalat. Aveți un certificat SSL instalat pentru domeniul dvs. Puteți instala un certificat SSL gratuit Encrypt urmând aceste instrucțiuni. Înregistrat ca utilizator cu privilegii sudo.

Creați o bază de date MySQL

Primul pas este crearea unei noi baze de date și a unui cont de utilizator și acordarea permisiunilor corespunzătoare utilizatorului.

Dacă MySQL sau MariaDB este deja instalat pe serverul dvs. puteți săriți acest pas, dacă nu, puteți instala pachetul de server MariaDB 5.5 din depozitele implicite ale CentOS, tastând:

sudo yum install mariadb-server Pentru instalații MariaDB / MySQL proaspete, este recomandat să rulați comanda mysql_secure_installation pentru a îmbunătăți securitatea serverului dvs. de baze de date.

Conectați-vă la shell-ul MySQL tastând următoarea comandă și introduceți parola atunci când vi se solicită:

mysql -u root -p

Pentru a crea o bază de date numită drupal , utilizatorul numit drupaluser și pentru a acorda permisiunile necesare utilizatorului rulați următoarele comenzi:

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';

Instalați PHP

CentOS 7 este livrat cu versiunea PHP 5.4, care este depășită și nu mai este acceptată. Versiunea PHP recomandată pentru Drupal este PHP 7.2.

Pentru a instala PHP 7.2 pe CentOS 7 mai întâi, trebuie să activăm depozitele EPEL și Remi:

sudo yum install epel-release yum-utils sudo yum install sudo yum-config-manager --enable remi-php72

Odată ce depozitele sunt activate pentru instalarea PHP 7.2 și toate extensiile PHP necesare rulează următoarele comenzi:

sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl git

Am instalat PHP FPM pentru că vom folosi Nginx ca server web.

În mod implicit, PHP FPM va rula ca apache utilizator pe portul 9000. Vom schimba utilizatorul în nginx și vom trece de la soclul TCP la socket Unix. Pentru aceasta, deschideți fișierul /etc/php-fpm.d/www.conf și editați liniile evidențiate cu galben:

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

… user = nginx… group = nginx… listen = /run/php-fpm/www.sock… listen.owner = nginx listen.group = nginx

Asigurați-vă că directorul /var/lib/php are proprietatea corectă folosind următoarea comandă chown:

sudo chown -R root:nginx /var/lib/php

În cele din urmă, activați și porniți serviciul PHP FPM:

sudo systemctl enable php-fpm sudo systemctl start php-fpm

Instalați Composer

Composer este un manager de dependență pentru PHP. Vom descărca șablonul Drupal și vom instala toate componentele Drupal necesare cu ajutorul compozitorului.

Următoarea comandă va instala compozitorul global, descărcând programul de instalare Composer cu buclă și mutând fișierul în directorul /usr/local/bin :

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Verificați instalarea rulând următoarea comandă care va imprima versiunea compozitorului:

composer --version

Produsul ar trebui să arate așa:

Composer version 1.8.4 2019-02-11 10:52:10

Instalați Drupal

Acum că s-a instalat compozitorul, creați un nou proiect Drupal folosind șablonul Drupal din directorul /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

Comanda de mai sus va descărca șablonul, va prelua toate pachetele php necesare și va rula scripturile necesare pentru pregătirea proiectului pentru instalare. Procesul poate dura câteva minute și, dacă se reușește, finalul ieșirii va arăta astfel:

Create a sites/default/settings.php file with chmod 0666 Create a sites/default/files directory with chmod 0777

Următorul pas este instalarea Drupal folosind Drush. În comanda de mai jos trecem baza de date MySQL și informațiile despre utilizator pe care le-am creat în prima secțiune:

cd /var/www/my_drupal sudo vendor/bin/drush site-install --db-url=mysql://drupaluser:change-with-strong-password@localhost/drupal

Instalatorul vă va solicita următorul mesaj, trebuie doar să apăsați Enter pentru a continua.

You are about to DROP all tables in your 'drupal' database. Do you want to continue? (yes/no):

După finalizarea instalării, scriptul va tipări numele de utilizator administrativ și parola. Rezultatul ar trebui să semene cu următoarele:

Starting Drupal installation. This takes a while. Installation complete. User name: admin User password: frxka2Db5v

În cele din urmă, setați permisiunile corecte, astfel încât serverul web să poată avea acces complet la fișierele și directoarele site-ului:

sudo chown -R nginx: /var/www/my_drupal

Configurați Nginx

Până acum, ar trebui să aveți deja Nginx cu certificat SSL instalat pe sistemul dvs., dacă nu verificați condițiile preliminare pentru acest tutorial.

Pentru a crea un nou bloc de server pentru noul nostru proiect Drupal, vom folosi rețeta Nginx de pe site-ul oficial Nginx.

Deschideți editorul de text și creați următorul fișier:

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; } } Nu uitați să înlocuiți example.com cu domeniul Drupal și să setați calea corectă la fișierele de certificat SSL. Toate cererile HTTP vor fi redirecționate către HTTPS. Fragmentele utilizate în această configurație sunt create în acest ghid.

Înainte de a reporni serviciul Nginx, faceți un test pentru a vă asigura că nu există erori de sintaxă:

sudo nginx -t

Reporniți serviciul Nginx pentru ca modificările să intre în vigoare tastând:

sudo systemctl restart nginx

Testați instalarea

Deschideți browserul, tastați-vă domeniul și presupunând că instalarea este reușită, va apărea un ecran similar cu următoarele:

Vă puteți conecta ca administrator și puteți începe să personalizați noua dvs. instalare Drupal.

Instalați modulele și temele Drupal

Acum că aveți proiectul Drupal instalat, veți dori să instalați câteva module și teme. Modulele și temele Drupal sunt găzduite pe un depozit de compozitori personalizat, care drupal-proiectul ne configurează din cutie.

Pentru a instala un modul sau o temă, tot ce trebuie să faceți este să vă composer require drupal/module_or_theme_name directorul de proiect și tipul composer require drupal/module_or_theme_name . De exemplu, dacă dorim să instalăm modulul Pathauto, trebuie să rulăm următoarea comandă:

cd /var/www/my_drupal sudo -u nginx /usr/local/bin/composer require drupal/pathauto Prepărând sudo -u nginx rulăm comanda ca utilizator 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

După cum puteți vedea din ieșirea de mai sus, compozitorul instalează și toate dependențele de pachet pentru noi.

Actualizați Drupal Core

Înainte de actualizare, este întotdeauna o idee bună să iei o copie de rezervă a fișierelor și a bazei de date. Puteți utiliza modulul Backup și Migrare sau faceți backup manual în baza de date și fișierele.

Pentru a face backup pentru fișierele de instalare, puteți utiliza următoarea comandă rsync, desigur, va trebui să utilizați calea corectă către directorul de instalare:

sudo rsync -a /var/www/my_drupal/ /var/www/my_drupal_$(date +%F)

Pentru a face o copie de siguranță a bazei de date, putem folosi fie comanda standard mysqldump :

mysqldump -u root -p > /var/www/my_drupal_database_$(date +%F).sql

sau drush sql-dump :

cd /var/www/my_drupal vendor/bin/drush sql-dump > /var/www/my_drupal_database_$(date +%F).sql

Acum că am creat o copie de rezervă, putem continua și actualiza toate fișierele principale Drupal rulând următoarea comandă:

sudo -u nginx /usr/local/bin/composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies

Concluzie

Felicitări, ați instalat cu succes Drupal 8 folosind compozitor și ați învățat cum să instalați module și teme. Acum puteți începe să personalizați site-ul. Ghidul utilizatorului Drupal 8 este un bun loc de pornire pentru a afla mai multe despre cum să gestionați instalarea Drupal. De asemenea, nu uitați să vizitați proiectul de șabloane Drupal Composer pe Github.

centos drupal mysql mariadb cms nginx compozitor