ProHoster > بلوق > إدارة > إنشاء قالب VPS باستخدام Drupal 9 على Centos 8
إنشاء قالب VPS باستخدام Drupal 9 على Centos 8
نحن نواصل توسيع سوقنا. لقد أخبرناك مؤخرًا كيف صنع صورة Gitlab، وهذا الأسبوع ظهر دروبال في سوقنا.
نخبرك لماذا اخترناه وكيف تم إنشاء الصورة.
دروبال - منصة مريحة وقوية لإنشاء أي نوع من مواقع الويب: بدءًا من المواقع الصغيرة والمدونات وحتى المشاريع الاجتماعية الكبيرة، وتستخدم أيضًا كأساس لتطبيقات الويب، المكتوبة بلغة PHP وتستخدم قواعد البيانات العلائقية كمخزن للبيانات.
يتضمن Drupal 9 جميع الميزات المقدمة في الإصدار 8.9. يتمثل الاختلاف الرئيسي بين الإصدار 9 والإصدار 8 في أن النظام الأساسي سيستمر في تلقي التحديثات والإصلاحات الأمنية بعد نوفمبر 2021. يعمل الإصدار 9 أيضًا على تبسيط عملية التحديث، مما يجعل عملية الترقية من الإصدار 8 أكثر سهولة.
متطلبات الخادم
لاستخدام Drupal، يوصى باستخدام ذاكرة وصول عشوائي (RAM) سعة 2 جيجابايت ونواة وحدة المعالجة المركزية (CPU).
تشغل ملفات دروبال الرئيسية حوالي 100 ميجابايت، بالإضافة إلى أنك ستحتاج إلى مساحة لتخزين الصور وقاعدة البيانات والموضوعات والوحدات الإضافية والنسخ الاحتياطية، والتي ستعتمد على حجم موقعك.
يتطلب Drupal 9 PHP 7.4 أو أعلى مع الحد الأدنى (memory_limit) لذاكرة سعة 64 ميجابايت؛ إذا تم استخدام وحدات إضافية، فمن المستحسن تثبيت 128 ميجابايت.
يمكن لدروبال استخدام Apache أو Nginx كخادم ويب، وMySQL أو PostgreSQL أو SQLite كقاعدة بيانات.
نظرًا لأن مستودع Centos الرئيسي يستخدم حاليًا PHP 7.2، فلنضف مستودع REMI باستخدام PHP 7.4 (الإصدار الأدنى لـ Drupal 9).
للقيام بذلك، قم بإضافة مستودع EPEL (المطلوب بواسطة مستودع REMI):
نظرًا لأننا نقوم بإنشاء قالب لـ VDS، ويمكن أن يكون بطيئًا، فسنضيف تأخير بدء mysqld لمدة 30 ثانية، وإلا فقد تكون هناك مشاكل في بدء تشغيل الخادم أثناء التمهيد الأولي للنظام:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.service
لنغير المجموعة والمستخدم الذي سيتم تشغيل nginx ضمنه عن طريق إجراء تغييرات على /etc/php-fpm.d/www.conf:
sudo sed -i --follow-symlinks 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf
sudo sed -i --follow-symlinks 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf
دعنا نغير مالك دليل جلسات PHP إلى nginx وفقًا لذلك:
sudo chown -R nginx. /var/lib/php/session
لنقم بإزالة الأسطر التي تحتوي على التعليقات من ملف التكوين /etc/nginx/nginx.conf (حتى لا يكون هناك مشغلات مزدوجة لـ sed):
لنضيف إعدادات ملف الفهرس Index.php إلى /etc/nginx/nginx.conf:
sudo sed -i '/ root /usr/share/nginx/html;/a
index index.php index.html index.htm;
' /etc/nginx/nginx.conf
دعونا نضيف إعدادات الخادم الافتراضي: معالجة PHP عبر مقبس php-fpm، وتعطيل سجل الملفات الثابتة، وزيادة وقت انتهاء الصلاحية، وتعطيل سجل الوصول والأخطاء لـ favicon.ico وrobots.txt، ورفض الوصول إلى .ht ملفات للجميع:
في هذه المرحلة سنقوم بإيقاف تشغيل الخادم وأخذ لقطة:
shutdown -h now
بعد إطلاق VDS من اللقطة، سنقوم بإجراء الإعداد الأولي لخادم MySQL عن طريق تشغيل البرنامج النصي:
mysql_secure_installation
دعونا نقوم بتمكين أداة التحقق من كلمة المرور:
Would you like to setup VALIDATE PASSWORD component? : y
لنقم بتعيين كلمة المرور للمستخدم الجذر لـ MySQL:
New password:
Re-enter new password:
دعونا نزيل المستخدمين المجهولين:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
دعونا نمنع الجذر من الاتصال عن بعد:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
دعونا نحذف قاعدة بيانات الاختبار:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
لنعد تحميل جداول الامتيازات:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
بعد ذلك، لإكمال التثبيت، يمكننا الذهاب إلى vps_ip_address
في هذا العنوان سنرى صفحة تثبيت دروبال.
دعونا نختار اللغة التي سنستخدمها. على سبيل المثال: الروسية. انقر فوق "حفظ ومتابعة"
دعنا نختار ملف تعريف التثبيت (يتم استخدام العرض التوضيحي فقط للتعرف على النظام). في حالتنا، فليكن "قياسي".
في الصفحة التالية سنعطي اسمًا لقاعدة البيانات، على سبيل المثال “drupal”. دعنا نشير إلى اسم مستخدم قاعدة البيانات الجذر وكلمة المرور المعطاة له عند تشغيل mysql_secure_installation. انقر فوق "حفظ ومتابعة".
دعنا ننتظر حتى يكتمل تثبيت الترجمات وتحديثها (قد تستغرق العملية عدة دقائق).
سنشير إلى اسم الموقع، ونقوم بتعيين البريد الإلكتروني للموقع (الذي سيتم إرسال إشعارات الموقع نيابة عنه)، وتسجيل الدخول وكلمة المرور والبريد الإلكتروني لحساب مسؤول Drupal. سنقوم أيضًا بتعيين البلد والمنطقة الزمنية في الإعدادات الإقليمية. وأكمل التثبيت بالنقر على "حفظ ومتابعة".
بعد ذلك، يمكنك الانتقال إلى لوحة التحكم باستخدام معلومات تسجيل الدخول وكلمة المرور الخاصة بمسؤول Drupal.
إعداد HTTPS (اختياري)
لتكوين HTTPS، يجب أن يكون لـ VDS اسم DNS صالح، حدده
/etc/nginx/nginx.conf
في قسم الخادم اسم الخادم (على سبيل المثال):
server_name domainname.ru;
لنعد تشغيل nginx:
service nginx restart
لنبدأ تشغيل certbot:
sudo /usr/local/bin/certbot-auto --nginx
أدخل بريدك الإلكتروني، وافق على شروط الخدمة (أ)، اشترك في النشرة الإخبارية (اختياري) (ن)، حدد أسماء النطاقات التي تريد إصدار شهادة لها (أدخل للجميع).
إذا سار كل شيء دون أخطاء، فسنرى رسالة حول الإصدار الناجح للشهادات وتكوين الخادم:
Congratulations! You have successfully enabled ...
بعد ذلك، سيتم إعادة توجيه الاتصالات بالمنفذ 80 إلى 443 (https).
يدعم Drupal APCu - ذاكرة التخزين المؤقت لمستخدم PHP البديلة، ويستفيد الإصداران 8 و9 من APCu بشكل أكبر كذاكرة تخزين مؤقت محلية قصيرة المدى مقارنة بالإصدارات السابقة. حجم ذاكرة التخزين المؤقت الافتراضي (32 ميجابايت) مناسب لمعظم المواقع، ولا يمكن أن يتجاوز 512 ميجابايت.
للتنشيط، قم بتثبيت وحدة PHP APCu:
dnf -y install php-pecl-apcu
أعد تشغيل nginx وphp-fpm:
service nginx restart
service php-fpm restart
إذا كنت تستخدم اللغة الروسية وAPCu مع حجم الذاكرة الموصى به لذاكرة التخزين المؤقت، فقد ترى تحذيرًا في لوحة التحكم بأن حجم الذاكرة المخصصة لذاكرة التخزين المؤقت يختلف عن الموصى به، ولكن في الواقع كل شيء يعمل بشكل صحيح. ومن المرجح أن يتم تصحيح التحذير غير الصحيح في التحديثات القادمة.
اطلب خادمًا افتراضيًا جديدًا عن طريق تحديد اللقطة التي تم إنشاؤها مسبقًا في القائمة المنسدلة "قالب الخادم".
إذا تم إنشاء الخادم بنجاح، قم بنقل المواد المستلمة في المرحلة 6 إلى الدعم الفني
إذا كان هناك خطأ، يمكنك التحقق من الدعم عن السبب وتكرار الإعداد
لأصحاب الأعمال: اعرض برنامجك
إذا كنت مطور برامج يتم نشره واستخدامه على VPS، فيمكننا إدراجك في السوق. هذه هي الطريقة التي يمكننا من خلالها مساعدتك في جلب عملاء جدد وحركة مرور ووعي. اكتب لنا