Drupal 8 - Module: Sử dụng hook_form_alter để tuỳ biến form
Cuprins:
- Cerințe preliminare
- Înainte de a începe
- 1. Creați o bază de date MySQL
- 2. Instalați PHP
- 3. Instalați Composer
- 4. Instalați Drupal
- 5. Configurați Nginx
- 6. Testați instalarea
- 7. Instalați modulele și temele Drupal
- 8. Actualizați nucleul Drupal
- Concluzie
Drupal este una dintre cele mai populare platforme CMS open source la nivel mondial. Este scris în PHP și poate fi folosit 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 arăta cum să instalați Drupal 8.6 pe o mașină Ubuntu 18.04. Există mai multe modalități de instalare a Drupal. Acest tutorial acoperă pașii necesari pentru instalarea Drupal 8.6 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
Asigurați-vă că ați îndeplinit următoarele cerințe înainte de a continua cu acest tutorial:
- Aveți un nume de domeniu îndreptat către IP-ul serverului dvs. public. Vom folosi
example.com
. Aveți Nginx instalat urmând aceste instrucțiuni. Aveți un certificat SSL instalat pentru domeniul dvs. Puteți instala un certificat SSL gratuit Encrypt urmând aceste instrucțiuni.
Înainte de a începe
Actualizați indexul și pachetele de sistem la cele mai recente versiuni:
sudo apt update && sudo apt upgrade
1. Creați o bază de date MySQL
sudo apt install mysql-server
Pentru instalații MySQL proaspete, este recomandat să rulați comanda
mysql_secure_installation
pentru a îmbunătăți securitatea serverului MySQL.
Acum trebuie să ne conectăm la shell-ul MySQL și să creăm o nouă bază de date și un cont de utilizator și să oferim utilizatorului permisiunile de acordare corespunzătoare.
Pentru a vă autentifica la shell-ul MySQL, introduceți 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';
2. Instalați PHP
PHP 7.2, care este versiunea implicită PHP din Ubuntu 18.04, este complet acceptat și recomandat pentru Drupal 8.6. Întrucât vom folosi Nginx ca server web, vom instala și PHP-FPM.
Pentru a instala toate modulele PHP necesare, executați următoarea comandă:
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
Serviciul PHP-FPM va începe automat după finalizarea procesului de instalare, îl puteți verifica imprimând starea serviciului:
systemctl status php7.2-fpm
Ieșirea ar trebui să indice că serviciul fpm este activ și funcționează.
● 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. Instalați Composer
Composer este un manager de dependență pentru PHP și îl vom folosi pentru a descărca șablonul Drupal și pentru a instala toate componentele Drupal necesare.
Pentru a instala compozitorul, descărcați instalatorul Compozitor cu ondulator și mutați 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 imprimând versiunea compozitorului:
composer --version
Produsul ar trebui să arate așa:
Composer version 1.6.5 2018-05-04 11:44:59
4. Instalați Drupal
Acum că avem instalat compozitor, putem continua și crea un nou proiect Drupal folosind șablonul compozitorului din directorul
/var/www/my_drupal
:
sudo 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 câteva scripturi pentru a pregăti proiectul nostru pentru instalare. Procesul poate dura câteva minute și, dacă se reușește, sfârșitul ieșirii ar trebui să arate 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 create la pasul 1:
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. Consider using the --notify global option. Installation complete. User name: admin User password: XRkC9Q5WN9
În cele din urmă, trebuie să setăm permisiunile corecte, astfel încât serverul web să poată avea acces complet la fișierele și directoarele site-ului. Atât Nginx, cât și PHP funcționează ca utilizator de
www-data
www-data
grup de
www-data
, deci trebuie să emitem următoarea comandă:
sudo chown -R www-data: /var/www/my_drupal
5. 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/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; } }
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.
Activați blocul de server creând o legătură simbolică către directorul
sites-enabled
pentru
sites-enabled
:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Înainte de a reporni serviciul Nginx, faceți un test pentru a vă asigura că nu există erori de sintaxă:
sudo nginx -t
Dacă nu există erori, ieșirea ar trebui să arate astfel:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
În cele din urmă, reporniți serviciul Nginx tastând:
6. 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.
7. 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 www-data composer require drupal/pathauto
Prepărând
sudo -u www-data
rulăm comanda ca utilizator
www-data
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.
8. Actualizați nucleul Drupal
Î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 www-data 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, ar trebui să vizitați proiectul de șabloane Drupal Composer pe Github.
ubuntu drupal mysql mariadb cms nginx compozitorCum se instalează Drupal utilizând WAMP pe Windows
Puteți instala Drupal utilizând WAMP pe Windows. Acest tutorial vă va arăta cum să instalați Drupal pe localhost pe Windows 10 / 8.1 / 7.
Cum se instalează și se instalează WordPress pe Microsoft Azure
Această parte a tutorialului acoperă aspectele de performanță ale Microsoft Azure și te ghidează la găzduirea propriei dvs. WordPress instalare pe o mașină virtuală Azure.
Cum se instalează drupal pe centos 7
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 se instalează Drupal 8.6 pe CentOS 7.