Linux Command Line 15 محرر النصوص
جدول المحتويات:
- المتطلبات الأساسية
- إنشاء قاعدة بيانات MySQL
- تثبيت PHP
- تثبيت الملحن
- تثبيت دروبال
- تكوين Nginx
- اختبار التثبيت
- تثبيت وحدات دروبال والسمات
- تحديث دروبال كور
- استنتاج
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
وقم بتحرير الخطوط المميزة باللون الأصفر:
… 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 لتصبح التغييرات نافذة المفعول عن طريق الكتابة:
اختبار التثبيت
افتح المستعرض الخاص بك ، اكتب نطاقك وافترض أن التثبيت ناجح ، ستظهر شاشة مشابهة للشاشة التالية:
يمكنك تسجيل الدخول كمسؤول والبدء في تخصيص تثبيت دروبال الجديد.
تثبيت وحدات دروبال والسمات
الآن وبعد تثبيت مشروع 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 على جيثب.
سنتوس دروبال مايتثبيت ، إعادة تثبيت ، ترقية ، إلغاء تثبيت ، إصلاح Windows 7 / Vista / Xp
أطلقت Microsoft برنامجًا جديدًا يركز موقع الويب فقط على كيفية تثبيت أو إعادة تثبيت أو ترقية أو إلغاء تثبيت Windows 7 و Windows Vista و Windows XP.
كيفية تثبيت وتكوين خادم nfs على centos 8
في هذا البرنامج التعليمي ، سوف تتعرف على الخطوات اللازمة لإعداد خادم NFSv4 على CentOS 8. سنعرض لك أيضًا كيفية تثبيت نظام ملفات NFS على العميل.
كيفية تثبيت دروبال على أوبونتو 18.04
سنشرح لك في هذا البرنامج التعليمي كيفية تثبيت Drupal 8.6 على جهاز Ubuntu 18.04. هناك طرق متعددة لتثبيت Drupal ، يغطي هذا البرنامج التعليمي الخطوات اللازمة لتثبيت Drupal 8.6 باستخدام Composer.







