Android

Paano mag-install ng drupal sa sentimo 7

How to Install Drupal 8 on CentOs 7 / Redhat (RHEL) 7

How to Install Drupal 8 on CentOs 7 / Redhat (RHEL) 7

Talaan ng mga Nilalaman:

Anonim

Ang Drupal ay isa sa nangungunang bukas na platform ng CMS sa buong mundo. Ito ay nababaluktot, nasusukat at maaaring magamit upang makabuo ng iba't ibang uri ng mga website na nagmula sa maliit na personal na blog hanggang sa mga malalaking kumpanya sa korporasyon, pampulitika, at gobyerno.

Sa tutorial na ito, ipapaliwanag namin kung paano i-install ang Drupal 8.6 sa CentOS 7.

Mayroong maraming mga paraan upang mai-install ang Drupal. Saklaw ng gabay na ito ang mga hakbang na kinakailangan para sa pag-install ng Drupal gamit ang isang kompositor na template para sa mga proyekto ng Drupal na tinatawag na drupal-project.

Gumagamit kami ng Nginx bilang isang web server, ang pinakabagong PHP 7.2 at MySQL / MariaDB bilang isang server ng database.

Mga kinakailangan

Bago mo simulan ang pag-install, tiyakin na nakamit mo ang sumusunod na mga kinakailangan:

  • Magkaroon ng isang domain name na tumuturo sa iyong public server IP. Gagamitin namin ang example.com .Maaari nang mai-install ang Nginx. May naka-install na sertipiko ng SSL para sa iyong domain. Maaari kang mag-install ng isang libreng Let’s Encrypt SSL certificate sa pamamagitan ng pagsunod sa mga tagubiling ito.Mag-log in bilang isang gumagamit na may mga pribilehiyo ng sudo.

Lumikha ng isang database ng MySQL

Ang unang hakbang ay ang lumikha ng isang bagong database at account ng gumagamit at magbigay ng naaangkop na pahintulot sa gumagamit.

Kung naka-install na ang MySQL o MariaDB sa iyong server maaari mong laktawan ang hakbang na ito, kung hindi mo mai-install ang package ng MariaDB 5.5 mula sa default na mga repositori ng CentOS sa pamamagitan ng pag-type:

sudo yum install mariadb-server Para sa mga sariwang pag-install ng MariaDB / MySQL, inirerekumenda na patakbuhin ang utos ng mysql_secure_installation upang mapagbuti ang seguridad ng iyong database server.

Mag-login sa shell ng MySQL sa pamamagitan ng pag-type ng sumusunod na utos at ipasok ang password kapag sinenyasan:

mysql -u root -p

Upang lumikha ng isang database na nagngangalang drupal , pinangalanan ng gumagamit na drupaluser at upang mabigyan ng kinakailangang mga pahintulot sa gumagamit ang mga sumusunod na utos:

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

I-install ang PHP

Ang mga barko ng CentOS 7 na may bersyon na PHP 5.4, na lipas na at hindi na suportado. Ang inirekumendang bersyon ng PHP para sa Drupal ay ang PHP 7.2.

Upang mai-install ang PHP 7.2 sa CentOS 7 una kailangan namin upang paganahin ang mga repositori ng EPEL at Remi:

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

Kapag pinagana ang mga repositori na mai-install ang PHP 7.2 at lahat ng kinakailangang mga extension ng PHP ay nagpapatakbo ng mga sumusunod na utos:

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

Nag-install kami ng PHP FPM dahil magagamit namin ang Nginx bilang isang web server.

Sa pamamagitan ng default ang PHP FPM ay tatakbo bilang apache gumagamit sa port 9000. Babaguhin namin ang gumagamit upang nginx at lumipat mula sa TCP socket sa Unix socket. Upang gawin ito buksan ang /etc/php-fpm.d/www.conf file at i-edit ang mga linya na naka-highlight sa dilaw:

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

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

Tiyaking ang direktoryo ng /var/lib/php ay may wastong pagmamay-ari gamit ang sumusunod na utos ng chown:

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

Sa wakas, paganahin at simulan ang serbisyo ng PHP FPM:

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

I-install ang Kompositor

Ang kompositor ay isang dependency manager para sa PHP. I-download namin ang template ng Drupal at i-install ang lahat ng kinakailangang mga bahagi ng Drupal na may kompositor.

Ang sumusunod na utos ay mag-i-install ng kompositor sa buong mundo sa pamamagitan ng pag-download ng Tagabuo ng kompositor na may curl at ilipat ang file sa direktoryo /usr/local/bin :

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

Patunayan ang pag-install sa pamamagitan ng pagpapatakbo ng sumusunod na utos na mag-print ng bersyon ng kompositor:

composer --version

Ang output ay dapat magmukhang ganito:

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

I-install ang Drupal

Ngayon na na-install ang kompositor, lumikha ng isang bagong proyekto ng Drupal gamit ang Drupal template sa loob /var/www/my_drupal direktoryo:

sudo /usr/local/bin/composer create-project drupal-composer/drupal-project:8.x-dev /var/www/my_drupal --stability dev --no-interaction

Ang utos sa itaas ay i-download ang template, makuha ang lahat ng kinakailangang mga pakete ng php at patakbuhin ang mga script na kinakailangan upang ihanda ang proyekto para sa pag-install. Ang proseso ay maaaring tumagal ng ilang minuto at kung matagumpay ito ang pagtatapos ng output ay magiging ganito:

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

Susunod na hakbang ay ang pag-install ng Drupal gamit ang Drush. Sa utos sa ibaba ay ipinapasa namin ang database ng MySQL at impormasyon ng gumagamit na nilikha namin sa unang seksyon:

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

A-prompt ka ng installer sa sumusunod na mensahe, pindutin lamang ang enter upang magpatuloy.

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

Kapag nakumpleto ang pag-install ang script ay mai-print ang administrative username at password. Ang output ay dapat magmukhang isang bagay tulad ng mga sumusunod:

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

Sa wakas, itakda ang tamang mga pahintulot upang ang web server ay maaaring magkaroon ng buong pag-access sa mga file at direktoryo ng site:

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

I-configure ang Nginx

Sa ngayon, dapat na mayroon kang Nginx na may SSL sertipiko na naka-install sa iyong system, kung hindi suriin ang mga kinakailangan para sa tutorial na ito.

Upang lumikha ng isang bagong block ng server para sa aming bagong proyekto ng Drupal gagamitin namin ang recipe ng Nginx mula sa opisyal na site ng Nginx.

Buksan ang iyong text editor at lumikha ng sumusunod na 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; } } Huwag kalimutang palitan ang halimbawa.com sa iyong Drupal domain at itakda ang tamang landas sa mga file ng sertipiko ng SSL. Ang lahat ng mga kahilingan sa HTTP ay mai-redirect sa HTTPS. Ang mga snippet na ginamit sa pagsasaayos na ito ay nilikha sa gabay na ito.

Bago i-restart ang serbisyo ng Nginx gumawa ng isang pagsubok upang matiyak na walang mga syntax error:

sudo nginx -t

I-restart ang serbisyo ng Nginx para sa mga pagbabago na magkakabisa sa pamamagitan ng pag-type:

sudo systemctl restart nginx

Subukan ang Pag-install

Buksan ang iyong browser, i-type ang iyong domain at sa pag-aakalang matagumpay ang pag-install, lilitaw ang isang screen na katulad ng sumusunod:

Maaari kang mag-log in bilang isang admin at simulan ang pagpapasadya ng iyong bagong pag-install ng Drupal.

I-install ang Mga Drupal Module at Mga Tema

Ngayon na mayroon kang naka-install na proyekto ng Drupal, nais mong mag-install ng ilang mga module at tema. Ang mga module at tema ng Drupal ay nai-host sa isang pasadyang tagalimbag ng kompositor, na nag-configure ng drupal-project para sa amin sa labas ng kahon.

Upang mag-install ng isang module o isang tema, ang kailangan mo lang gawin ay ang cd sa direktoryo ng proyekto at ang composer require drupal/module_or_theme_name uri ay composer require drupal/module_or_theme_name . Halimbawa, kung nais nating mai-install ang module na Pathauto, kailangan nating patakbuhin ang sumusunod na utos:

cd /var/www/my_drupal sudo -u nginx /usr/local/bin/composer require drupal/pathauto Sa pamamagitan ng paghahanda ng sudo -u nginx tumatakbo kami ng utos bilang gumagamit 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

Tulad ng nakikita mo mula sa output sa itaas ng kompositor ay mai-install din ang lahat ng mga dependency sa pakete para sa amin.

I-update ang Drupal Core

Bago i-upgrade ito ay palaging magandang ideya na kumuha ng isang backup ng iyong mga file at database. Maaari mo ring gamitin ang module ng Backup at Migrate o mano-mano ang pag-backup sa iyong database at mga file.

Upang i-back up ang mga file ng pag-install maaari mong gamitin ang sumusunod na utos ng rsync, siyempre, kailangan mong gumamit ng tamang landas sa direktoryo ng pag-install:

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

Upang i-back up ang database maaari naming gamitin ang karaniwang mysqldump utos:

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

Ngayon na nilikha namin ang isang backup maaari naming magpatuloy at mai-update ang lahat ng mga file ng Drupal core sa pamamagitan ng pagpapatakbo ng sumusunod na utos:

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

Konklusyon

Binabati kita, matagumpay mong na-install ang Drupal 8 gamit ang kompositor at natutunan kung paano mag-install ng mga module at tema. Maaari mo na ngayong simulan ang pagpapasadya ng iyong site. Ang Drupal 8 Gumagamit ng Gabay ay isang mahusay na lugar ng pagsisimula upang malaman ang higit pa tungkol sa kung paano pamahalaan ang iyong pag-install ng Drupal. Gayundin, huwag kalimutang bisitahin ang proyekto ng Drupal Composer template sa Github.

centos drupal mysql mariadb cms nginx composer