ذكري المظهر

كيفية تثبيت دروبال على centos 7

Linux Command Line 15 محرر النصوص

Linux Command Line 15 محرر النصوص

جدول المحتويات:

Anonim

Drupal هي واحدة من منصات CMS مفتوحة المصدر الرائدة في جميع أنحاء العالم. إنه مرن وقابل للتوسعة ويمكن استخدامه لإنشاء أنواع مختلفة من مواقع الويب بدءًا من المدونات الشخصية الصغيرة إلى مواقع الشركات والمؤسسات السياسية والحكومية الكبيرة.

في هذا البرنامج التعليمي ، سنشرح كيفية تثبيت Drupal 8.6 على CentOS 7.

هناك طرق متعددة لتثبيت دروبال. يغطي هذا الدليل الخطوات اللازمة لتثبيت Drupal باستخدام قالب مؤلف لمشروعات Drupal يسمى drupal-project.

سنستخدم Nginx كخادم ويب ، وأحدث PHP 7.2 و MySQL / MariaDB كخادم قاعدة بيانات.

المتطلبات الأساسية

قبل بدء التثبيت ، تأكد من استيفاء الشروط التالية:

  • لديك اسم مجال يشير إلى خادم IP العام الخاص بك. سنستخدم example.com قمت بتثبيت Nginx. هل تم تثبيت شهادة SSL لنطاقك. يمكنك تثبيت شهادة Let's Encrypt SSL المجانية باتباع هذه التعليمات. المسجلة كمستخدم لديه امتيازات sudo.

إنشاء قاعدة بيانات MySQL

الخطوة الأولى هي إنشاء قاعدة بيانات جديدة وحساب مستخدم ومنح أذونات مناسبة للمستخدم.

إذا كان MySQL أو MariaDB مثبتًا بالفعل على الخادم الخاص بك ، فيمكنك تخطي هذه الخطوة ، وإذا لم يكن بإمكانك تثبيت حزمة خادم MariaDB 5.5 من مستودعات CentOS الافتراضية عن طريق كتابة:

sudo yum install mariadb-server بالنسبة لعمليات تثبيت MariaDB / MySQL mysql_secure_installation ، يوصى بتشغيل الأمر mysql_secure_installation لتحسين أمان خادم قاعدة البيانات.

تسجيل الدخول إلى shell MySQL عن طريق كتابة الأمر التالي وإدخال كلمة المرور عند المطالبة:

mysql -u root -p

لإنشاء قاعدة بيانات باسم drupal ، قام المستخدم المسمى drupaluser ومنح الأذونات اللازمة للمستخدم بتشغيل الأوامر التالية:

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

تثبيت PHP

يأتي CentOS 7 مزودًا بإصدار PHP 5.4 ، الذي عفا عليه الزمن ولم يعد مدعومًا. إصدار PHP الموصى به لـ Drupal هو PHP 7.2.

لتثبيت PHP 7.2 على CentOS 7 ، نحتاج أولاً إلى تمكين مستودعات EPEL و Remi:

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

بمجرد تمكين المستودعات لتثبيت PHP 7.2 وجميع امتدادات PHP المطلوبة تقوم بتشغيل الأوامر التالية:

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

لقد قمنا بتثبيت PHP FPM لأننا سنستخدم Nginx كخادم ويب.

سيتم تشغيل PHP FPM افتراضيًا كمستخدم apache على المنفذ 9000. سنقوم بتغيير المستخدم إلى nginx والتحول من مقبس TCP إلى مأخذ يونكس. للقيام بذلك ، افتح الملف /etc/php-fpm.d/www.conf وقم بتحرير الخطوط المميزة باللون الأصفر:

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

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

تأكد من أن الدليل /var/lib/php لديه الملكية الصحيحة باستخدام الأمر chown التالي:

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

أخيرًا ، قم بتمكين وبدء خدمة PHP FPM:

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

تثبيت الملحن

الملحن هو مدير التبعية ل PHP. سنقوم بتنزيل قالب دروبال وتثبيت جميع مكونات دروبال اللازمة مع الملحن.

سيقوم الأمر التالي بتثبيت الملحن على مستوى العالم عن طريق تنزيل مثبّت الملحن مع حليقة ونقل الملف إلى دليل /usr/local/bin :

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

تحقق من التثبيت عن طريق تشغيل الأمر التالي الذي سيقوم بطباعة إصدار الملحن:

composer --version

يجب أن يبدو الإخراج بشيء من هذا القبيل:

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

تثبيت دروبال

الآن وقد تم تثبيت هذا الملحن ، قم بإنشاء مشروع دروبال جديد باستخدام قالب دروبال داخل /var/www/my_drupal directory:

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

سيقوم الأمر أعلاه بتنزيل القالب وإحضار جميع حزم php المطلوبة وتشغيل البرامج النصية اللازمة لإعداد المشروع للتثبيت. قد تستغرق العملية بضع دقائق ، وإذا نجحت ، ستبدو نهاية الإخراج كما يلي:

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

الخطوة التالية هي تثبيت دروبال باستخدام دروش. في الأمر أدناه ، نعبر قاعدة بيانات MySQL ومعلومات المستخدم التي أنشأناها في القسم الأول:

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

سيطالبك برنامج التثبيت بالرسالة التالية ، فقط اضغط على "إدخال" للمتابعة.

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

بمجرد اكتمال التثبيت ، سيقوم البرنامج النصي بطباعة اسم المستخدم وكلمة المرور الإدارية. يجب أن يبدو الإخراج كما يلي:

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

أخيرًا ، قم بتعيين الأذونات الصحيحة بحيث يمكن لخادم الويب الوصول الكامل إلى ملفات وأدلة الموقع:

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

تكوين Nginx

الآن ، يجب أن يكون لديك بالفعل Nginx مع شهادة SSL مثبتة على نظامك ، إن لم تكن تحقق من المتطلبات الأساسية لهذا البرنامج التعليمي.

لإنشاء كتلة خادم جديدة لمشروع دروبال الجديد ، سنستخدم وصفة Nginx من موقع Nginx الرسمي.

افتح محرر النصوص الخاص بك وقم بإنشاء الملف التالي:

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; } } لا تنسَ استبدال example.com بنطاق دروبال وتعيين المسار الصحيح لملفات شهادة SSL. سيتم إعادة توجيه جميع طلبات HTTP إلى HTTPS. يتم إنشاء المقتطفات المستخدمة في هذا التكوين في هذا الدليل.

قبل إعادة تشغيل خدمة Nginx ، قم بإجراء اختبار للتأكد من عدم وجود أخطاء في بناء الجملة:

sudo nginx -t

أعد تشغيل خدمة Nginx لتصبح التغييرات نافذة المفعول عن طريق الكتابة:

sudo systemctl restart nginx

اختبار التثبيت

افتح المستعرض الخاص بك ، اكتب نطاقك وافترض أن التثبيت ناجح ، ستظهر شاشة مشابهة للشاشة التالية:

يمكنك تسجيل الدخول كمسؤول والبدء في تخصيص تثبيت دروبال الجديد.

تثبيت وحدات دروبال والسمات

الآن وبعد تثبيت مشروع Drupal ، ستحتاج إلى تثبيت بعض الوحدات النمطية والسمات. يتم استضافة وحدات Drupal والسمات الخاصة بها في مستودع الملحن المخصص ، الذي يقوم مشروع دروبال بتكوينه لنا خارج الصندوق.

لتثبيت وحدة نمطية أو سمة ، كل ما عليك القيام به هو cd إلى دليل المشروع واكتب composer require drupal/module_or_theme_name . على سبيل المثال ، إذا أردنا تثبيت وحدة Pathauto ، نحتاج إلى تشغيل الأمر التالي:

cd /var/www/my_drupal sudo -u nginx /usr/local/bin/composer require drupal/pathauto عن طريق الدفع المسبق sudo -u nginx فإننا نقوم بتشغيل الأمر كمستخدم 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

كما ترون من الإخراج أعلاه الملحن أيضا بتثبيت جميع التبعيات الحزمة بالنسبة لنا.

تحديث دروبال كور

قبل الترقية ، من الجيد دائمًا أخذ نسخة احتياطية من ملفاتك وقاعدة بياناتك. يمكنك إما استخدام وحدة النسخ الاحتياطي والترحيل أو النسخ الاحتياطي لقاعدة البيانات والملفات يدويًا.

لإجراء نسخ احتياطي لملفات التثبيت ، يمكنك استخدام الأمر rsync التالي ، بالطبع ، ستحتاج إلى استخدام المسار الصحيح إلى دليل التثبيت:

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

لعمل نسخة احتياطية من قاعدة البيانات ، يمكننا إما استخدام الأمر mysqldump القياسي:

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

أو drush sql-dump :

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

الآن وبعد أن أنشأنا نسخة احتياطية ، يمكننا متابعة وتحديث جميع ملفات Drupal الأساسية عن طريق تشغيل الأمر التالي:

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

استنتاج

تهانينا ، لقد نجحت في تثبيت Drupal 8 باستخدام الملحن وتعلمت كيفية تثبيت الوحدات النمطية والسمات. يمكنك الآن البدء في تخصيص موقعك. يعد دليل مستخدم Drupal 8 مكانًا جيدًا للبدء لمعرفة المزيد حول كيفية إدارة تثبيت Drupal. أيضًا ، لا تنسَ زيارة مشروع قالب Drupal Composer على جيثب.

سنتوس دروبال ماي