إدارة السيرفرات

كيفية تثبيت WordPress على Ubuntu باستخدام Nginx وPHP وMariaDB خطوة بخطوة

دليل عملي لإنشاء موقع ووردبريس على سيرفر VPS وإعداد قاعدة البيانات وخادم الويب وتأمين ملفات الموقع

بعد تثبيت Nginx على Ubuntu وربط الدومين بالسيرفر وتفعيل شهادة HTTPS، أصبح لدينا خادم ويب جاهز لاستقبال طلبات الزوار. لكن لتشغيل موقع ديناميكي باستخدام WordPress، نحتاج إلى إعداد مكونات إضافية، أهمها PHP وقاعدة بيانات MariaDB.

يُعد WordPress أحد أشهر أنظمة إدارة المحتوى مفتوحة المصدر، ويمكن استخدامه لإنشاء المدونات والمواقع الإخبارية والمتاجر الإلكترونية ومواقع الشركات.

ورغم توفر خدمات استضافة تقوم بتثبيت WordPress تلقائيًا، فإن تثبيته يدويًا على VPS يمنحك فهمًا أفضل لكيفية عمل خادم الويب وقاعدة البيانات وملفات الموقع، ويساعدك على التحكم في إعدادات البيئة المستضيفة.

في هذا الدليل من حكاية تقنية، سنتعلم كيفية تثبيت WordPress على Ubuntu Server 24.04 LTS باستخدام Nginx وPHP-FPM وMariaDB، بدءًا من تثبيت الحزم وحتى فتح لوحة تحكم WordPress، مع توضيح أهم إجراءات الأمان والصلاحيات.

تنبيه قبل البدء: نفّذ الخطوات على سيرفر جديد أو بيئة اختبار، وليس على موقع يعمل بالفعل. الأوامر التالية تفترض وجود Nginx وإعداد دومين وشهادة HTTPS مسبقًا. إذا كانت لديك مواقع أخرى على السيرفر، فلا تستبدل ملفات إعداداتها دون مراجعتها وأخذ نسخة احتياطية.

ما المكونات اللازمة لتشغيل WordPress على Ubuntu؟

يحتاج WordPress إلى بيئة تتضمن خادم ويب ولغة PHP وقاعدة بيانات.

سنستخدم المكونات التالية:

المكون الوظيفة
Ubuntu Server نظام تشغيل السيرفر
Nginx استقبال طلبات الويب وتقديم الملفات
PHP-FPM تنفيذ ملفات PHP
MariaDB تخزين المقالات والمستخدمين والإعدادات
WordPress إدارة محتوى الموقع
HTTPS حماية الاتصال بين الموقع والمتصفح

توصي متطلبات WordPress الرسمية الحالية باستخدام PHP 8.3 أو أحدث، وMariaDB 10.11 أو أحدث أو MySQL 8.0 أو أحدث، مع دعم HTTPS.

وتوفر مستودعات Ubuntu 24.04 القياسية إصدارات مناسبة لهذا المثال، لكن يجب التحقق من الإصدارات المثبتة فعليًا قبل المتابعة.

1. التحقق من جاهزية السيرفر

قبل تثبيت WordPress، تأكد من وجود:

  • سيرفر Ubuntu 24.04 LTS.
  • مستخدم إداري يمتلك صلاحيات sudo.
  • خادم Nginx يعمل بصورة صحيحة.
  • دومين يشير إلى عنوان السيرفر.
  • شهادة HTTPS صالحة.
  • مساحة تخزين وذاكرة كافيتين.
  • نسخة احتياطية من أي بيانات موجودة.

يمكنك الاتصال بالسيرفر عبر SSH:

ssh adminuser@SERVER_IP

استبدل اسم المستخدم وعنوان السيرفر بالقيم الحقيقية.

بعد الاتصال، تحقق من إصدار Ubuntu:

cat /etc/os-release

ثم تحقق من حالة Nginx:

systemctl is-active nginx

إذا ظهرت كلمة active، فهذا يعني أن الخدمة تعمل.

فحص الموارد

لعرض استخدام الذاكرة:

free -h

ولعرض مساحة التخزين:

df -h

لا توجد مواصفات واحدة تناسب جميع مواقع WordPress؛ فالموارد المطلوبة تعتمد على عدد الزوار والإضافات والقالب وقاعدة البيانات.

2. تحديث Ubuntu قبل تثبيت البرامج

ابدأ بتحديث معلومات الحزم:

sudo apt update

ثم راجع التحديثات المتاحة وثبّتها:

sudo apt upgrade

قد تتطلب بعض التحديثات إعادة تشغيل النظام.

إذا كان السيرفر يستضيف خدمات مهمة، فحدد وقت صيانة مناسبًا قبل إعادة التشغيل.

3. تثبيت PHP-FPM والإضافات اللازمة

لا يستطيع Nginx تنفيذ ملفات PHP بمفرده.

لهذا سنستخدم PHP-FPM، وهو مدير عمليات PHP يتولى تنفيذ السكربتات واستقبال الطلبات من خادم الويب عبر FastCGI.

تثبيت PHP والحزم الشائعة

نفذ:

sudo apt install php-fpm php-mysql php-curl php-gd php-intl php-mbstring php-xml php-zip php-imagick php-opcache

قد تتطلب بعض إضافات WordPress حزمًا إضافية بحسب وظائفها.

التحقق من إصدار PHP

نفذ:

php -v

في Ubuntu 24.04 مع المستودعات القياسية، يُتوقع استخدام PHP 8.3.

لكن لا تفترض ذلك إذا أضفت مستودعات خارجية أو عدّلت إصدارات PHP سابقًا.

التحقق من خدمة PHP-FPM

إذا كنت تستخدم PHP 8.3، نفذ:

systemctl is-active php8.3-fpm

إذا كانت الخدمة غير نشطة، راجع سبب المشكلة قبل المتابعة.

يمكن عرض تفاصيلها باستخدام:

sudo systemctl status php8.3-fpm

ما أهمية PHP-FPM؟

يسمح PHP-FPM بتنفيذ WordPress عبر عمليات PHP منفصلة عن Nginx.

ويمكن لاحقًا ضبط عدد العمليات والذاكرة والمهلات بما يتناسب مع موارد VPS.

لكننا سنحتفظ بالإعدادات الأساسية في هذا المقال، ثم نناقش تحسين الأداء في دليل مستقل.

4. تثبيت MariaDB على Ubuntu

يستخدم WordPress قاعدة بيانات لتخزين المحتوى والإعدادات والحسابات.

سنستخدم MariaDB، وهي قاعدة بيانات مفتوحة المصدر متوافقة مع متطلبات WordPress.

لتثبيتها:

sudo apt install mariadb-server

بعد التثبيت، تحقق من الخدمة:

systemctl is-active mariadb

إذا كانت متوقفة، يمكنك فحص حالتها:

sudo systemctl status mariadb

التحقق من الإصدار

نفذ:

mariadb --version

تأكد من أن الإصدار يفي بالمتطلبات الموصى بها من WordPress.

5. مراجعة إعدادات أمان MariaDB

يجب تأمين قاعدة البيانات قبل إنشاء موقع فعلي.

توفر بعض تثبيتات MariaDB أداة:

sudo mariadb-secure-installation

قد تساعد هذه الأداة في مراجعة إعدادات الحسابات الإدارية والحسابات المجهولة وقاعدة بيانات الاختبار.

لكن الأسئلة المعروضة تختلف بحسب إصدار MariaDB وطريقة تثبيته.

هل يجب تعيين كلمة مرور لحساب Root في MariaDB؟

ليس بالضرورة.

تستخدم بعض تثبيتات MariaDB على Ubuntu المصادقة المحلية عبر Unix Socket للحساب الإداري.

لذلك لا تغيّر طريقة مصادقة Root بصورة عشوائية.

هل يجب فتح منفذ MariaDB للعامة؟

لا.

في هذا الدليل، سيعمل WordPress وMariaDB على السيرفر نفسه، ولذلك لا توجد حاجة إلى فتح المنفذ 3306 للعامة.

ومن الأفضل إبقاء قاعدة البيانات متاحة محليًا فقط ما لم توجد متطلبات تقنية واضحة لاتصال خارجي مؤمّن.

6. إنشاء قاعدة بيانات خاصة بـ WordPress

سننشئ قاعدة بيانات مستقلة ومستخدمًا خاصًا بها.

للدخول إلى MariaDB باستخدام الحساب الإداري المحلي:

sudo mariadb

ستظهر واجهة أوامر قاعدة البيانات.

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

نفذ:

CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

أنشأنا قاعدة بيانات باسم wordpress_db.

يمكنك استخدام اسم مختلف، بشرط استخدامه لاحقًا داخل إعدادات WordPress.

إنشاء مستخدم لقاعدة البيانات

نفذ:

CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'REPLACE_WITH_A_STRONG_UNIQUE_PASSWORD';

استبدل القيمة التوضيحية بكلمة مرور طويلة وفريدة.

مهم: لا تستخدم كلمة المرور الموجودة في المثال حرفيًا، ولا تنشر كلمة المرور الحقيقية داخل مقال أو لقطة شاشة.

منح المستخدم الصلاحيات

نفذ:

GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost';

هذه الصلاحيات تخص قاعدة بيانات WordPress المحددة، ولا تمنح المستخدم صلاحيات إدارية عامة على جميع قواعد البيانات.

الخروج من MariaDB

نفذ:

EXIT;

اختبار الاتصال

يمكنك تجربة الدخول باستخدام:

mariadb -u wordpress_user -p wordpress_db

أدخل كلمة المرور عند الطلب.

إذا نجح الاتصال، فاستخدم EXIT; للخروج.

7. تنزيل WordPress من الموقع الرسمي

بعد تجهيز قاعدة البيانات، سننزل ملفات WordPress.

استخدم المصدر الرسمي:

https://wordpress.org/download/

على السيرفر، انتقل إلى مجلد مؤقت:

cd /tmp

ثم نزّل الحزمة:

curl -fLO https://wordpress.org/latest.tar.gz

إذا لم يكن curl متاحًا، يمكن تثبيته باستخدام APT.

استخراج الملفات

نفذ:

tar -xzf latest.tar.gz

سينشأ مجلد باسم wordpress يحتوي على ملفات النظام.

لماذا نستخدم الموقع الرسمي؟

لتقليل مخاطر تنزيل نسخ معدلة أو غير موثوقة من WordPress.

ويجب أيضًا تنزيل القوالب والإضافات من مصادر موثوقة.

8. تجهيز مجلد WordPress على السيرفر

في المقال السابق، استخدمنا المسار التالي لموقع HTML تجريبي:

/var/www/example.com/html

سنستخدم المسار نفسه لتثبيت WordPress، لكن يجب أن يكون المجلد خاليًا من ملفات الموقع التجريبي التي لم تعد مطلوبة.

لا تحذف محتويات المجلد إذا كان يحتوي على موقع فعلي أو ملفات مهمة.

إنشاء المجلد عند الحاجة

sudo mkdir -p /var/www/example.com/html

إزالة الصفحة التجريبية فقط

إذا كنت قد أنشأت الملف التجريبي index.html في شرح Nginx السابق، وتأكدت أنه غير مطلوب، يمكنك حذفه:

sudo rm /var/www/example.com/html/index.html

لا تستخدم أوامر حذف شاملة لمجلد الموقع.

نسخ ملفات WordPress

بعد التأكد من المسار ومحتوياته، نفذ:

sudo cp -a /tmp/wordpress/. /var/www/example.com/html/

بهذا تُنسخ ملفات WordPress إلى المجلد الذي يستخدمه Nginx.

استبدل example.com بدومينك الحقيقي في المسارات والأوامر.

9. إعداد صلاحيات ملفات WordPress

تُعد صلاحيات الملفات من أهم عناصر أمان WordPress.

لا ينبغي جعل جميع الملفات قابلة للكتابة بواسطة جميع المستخدمين.

في هذا المثال، سنجعل المستخدم الإداري مالكًا لملفات WordPress، مع السماح لخادم الويب بقراءتها.

ضبط الملكية

نفذ:

sudo chown -R adminuser:www-data /var/www/example.com/html

استبدل adminuser باسم حسابك الإداري.

ضبط صلاحيات المجلدات

sudo find /var/www/example.com/html -type d -exec chmod 755 {} \;

ضبط صلاحيات الملفات

sudo find /var/www/example.com/html -type f -exec chmod 644 {} \;

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

ماذا عن مجلد uploads؟

يحتاج WordPress إلى إمكانية الكتابة داخل مجلد الوسائط عند رفع الصور.

يمكن إنشاء المجلد:

sudo mkdir -p /var/www/example.com/html/wp-content/uploads

وفي بيئة السيرفر الواحد الموضحة هنا، يمكن تخصيص هذا المجلد لمستخدم PHP-FPM الافتراضي www-data:

sudo chown -R www-data:www-data /var/www/example.com/html/wp-content/uploads

تأكد من أن PHP-FPM يعمل بالفعل بهذا المستخدم قبل تطبيق إعداد الملكية.

تنبيه أمني: في بيئات استضافة عدة مواقع، يُفضل استخدام مستخدم ومجموعة PHP-FPM مستقلين لكل موقع، بدل تشغيل جميع المواقع بهوية مشتركة.

ماذا عن تحديث الإضافات والقوالب؟

قد تحتاج التحديثات المباشرة من لوحة WordPress إلى إعداد صلاحيات أو آلية نشر إضافية.

لا تعالج أخطاء التحديث بمنح صلاحيات 777 للمجلدات.

ويمكن استخدام WP-CLI أو آلية نشر مناسبة لإدارة التحديثات دون توسيع صلاحيات الكتابة بصورة غير ضرورية.

10. إعداد ملف wp-config.php

يحتوي هذا الملف على معلومات الاتصال بقاعدة البيانات وإعدادات مهمة أخرى.

انتقل إلى مجلد WordPress:

cd /var/www/example.com/html

ثم أنشئ نسخة من ملف الإعداد النموذجي:

sudo cp wp-config-sample.php wp-config.php

افتح الملف:

sudo nano wp-config.php

إدخال بيانات قاعدة البيانات

ابحث عن إعدادات قاعدة البيانات وعدّل القيم لتصبح مطابقة لما أنشأته:

define( 'DB_NAME', 'wordpress_db' );
define( 'DB_USER', 'wordpress_user' );
define( 'DB_PASSWORD', 'YOUR_ACTUAL_DATABASE_PASSWORD' );
define( 'DB_HOST', 'localhost' );

استبدل قيمة كلمة المرور بكلمة المرور الحقيقية التي اخترتها.

احتفظ بإعدادات الترميز الافتراضية المناسبة مثل DB_CHARSET، ولا تعدّلها دون حاجة.

إعداد مفاتيح الحماية

يحتوي WordPress على مجموعة مفاتيح وقيم Salt تستخدم في آليات المصادقة.

يمكن الحصول على قيم عشوائية من الخدمة الرسمية:

https://api.wordpress.org/secret-key/1.1/salt/

استبدل القيم النموذجية داخل wp-config.php بالقيم التي تحصل عليها.

لا تستخدم القيم نفسها في عدة مواقع، ولا تنشرها للعامة.

تعطيل محرر الملفات من لوحة التحكم

يمكن إضافة:

define( 'DISALLOW_FILE_EDIT', true );

يساعد هذا الخيار على تعطيل محرر ملفات القوالب والإضافات المدمج في لوحة WordPress.

لكنه لا يمنع جميع طرق تعديل الملفات، ولا يغني عن ضبط صلاحيات النظام.

حماية ملف الإعداد

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

sudo chown adminuser:www-data /var/www/example.com/html/wp-config.php

sudo chmod 640 /var/www/example.com/html/wp-config.php

بهذه الإعدادات يستطيع المالك القراءة والكتابة، وتستطيع المجموعة القراءة.

تحقق من أن مستخدم PHP-FPM يستطيع قراءة الملف بالفعل، وإلا فقد يفشل تشغيل WordPress.

11. تعديل إعداد Nginx لتشغيل WordPress

في المقال السابق، أنشأنا Server Block لموقع HTML ثابت.

لكن WordPress يحتاج إلى تمرير ملفات PHP إلى PHP-FPM، بالإضافة إلى التعامل مع الروابط الدائمة.

لا تستبدل إعداد Nginx الحالي بالكامل إذا كان Certbot قد أضاف إليه إعدادات HTTPS.

سنعدّل فقط الأجزاء المطلوبة داخل Server Block الذي يخدم الموقع عبر HTTPS.

فتح ملف إعداد الموقع

sudo nano /etc/nginx/sites-available/example.com

تأكد من أن root يشير إلى مجلد WordPress:

root /var/www/example.com/html;

ثم اضبط ملف البداية:

index index.php index.html;

إعداد الروابط الدائمة

داخل Server Block المناسب، استخدم:

location / {
    try_files $uri $uri/ /index.php?$args;
}

يساعد هذا التوجيه على تمرير الطلبات التي لا تطابق ملفًا أو مجلدًا موجودًا إلى WordPress.

إعداد PHP-FPM

أضف داخل Server Block:

location ~ \.php$ {
    try_files $uri =404;
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}

هذا المثال يفترض استخدام PHP 8.3 وحزمة Ubuntu القياسية.

إذا كان إصدار PHP مختلفًا، فتحقق من مسار Socket الفعلي قبل تعديل الإعداد.

منع الوصول إلى الملفات المخفية

يمكن إضافة:

location ~ /\. {
    deny all;
}

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

منع تنفيذ PHP داخل uploads

يمكن أيضًا إضافة:

location ~* ^/wp-content/uploads/.*\.php$ {
    deny all;
}

مهم: ترتيب قواعد location وطريقة مطابقتها يؤثران في النتيجة. راجع إعداد Nginx كاملًا لتجنب وجود قاعدة PHP عامة تتجاوز قيود الحماية.

اختبار الإعداد

بعد حفظ التعديلات:

sudo nginx -t

إذا نجح الاختبار، نفذ:

sudo systemctl reload nginx

ثم تحقق من أن الموقع يستجيب عبر HTTPS.

لا تُزل إعدادات الشهادة أو إعادة التوجيه التي أضافها Certbot.

12. تشغيل معالج تثبيت WordPress

بعد إعداد قاعدة البيانات وملفات WordPress وNginx، افتح المتصفح وانتقل إلى:

https://example.com/wp-admin/install.php

استبدل الدومين بدومينك الحقيقي.

إذا كانت الإعدادات صحيحة، ستظهر واجهة تثبيت WordPress.

اختيار لغة الموقع

يمكن اختيار العربية أو أي لغة أخرى متاحة.

إدخال معلومات الموقع

سيطلب WordPress عادةً:

  • عنوان الموقع.
  • اسم المستخدم الإداري.
  • كلمة مرور قوية.
  • البريد الإلكتروني الإداري.
  • إعداد ظهور الموقع لمحركات البحث.

اختيار اسم المستخدم

تجنب استخدام أسماء إدارية سهلة التخمين مثل admin إذا كان بإمكانك اختيار اسم مختلف.

واستخدم كلمة مرور فريدة وقوية.

إعداد ظهور الموقع في محركات البحث

إذا كان الموقع جاهزًا للنشر، فلا تفعّل خيار طلب منع محركات البحث من فهرسته دون سبب.

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

بعد إدخال البيانات، أكمل خطوات التثبيت.

13. تسجيل الدخول إلى لوحة تحكم WordPress

بعد اكتمال التثبيت، يمكنك الدخول إلى لوحة التحكم عبر:

https://example.com/wp-admin/

استخدم بيانات الحساب الإداري الذي أنشأته.

ماذا تفعل بعد أول تسجيل دخول؟

راجع:

  • اللغة والمنطقة الزمنية.
  • عنوان الموقع.
  • إعدادات الروابط الدائمة.
  • تحديثات WordPress.
  • القوالب والإضافات.
  • إعدادات البريد الإلكتروني.
  • إعدادات الخصوصية.
  • النسخ الاحتياطية.

ومن الأفضل حذف القوالب والإضافات غير المستخدمة إذا لم تكن بحاجة إليها، مع الاحتفاظ بما يلزم للصيانة والاستعادة.

14. ضبط الروابط الدائمة في WordPress

تؤثر الروابط الدائمة في شكل عناوين المقالات والصفحات.

من لوحة التحكم، انتقل إلى:

الإعدادات ← الروابط الدائمة

يمكن اختيار بنية مناسبة مثل اسم المقال.

بفضل إعداد try_files الذي أضفناه إلى Nginx، يستطيع WordPress معالجة الروابط الدائمة دون الحاجة إلى ملف .htaccess.

هل يعمل .htaccess مع Nginx؟

لا يستخدم Nginx ملف .htaccess بالطريقة التي يستخدمها Apache.

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

15. اختبار PHP وMariaDB بعد تثبيت WordPress

بعد فتح الموقع، من المفيد التأكد من أن جميع الخدمات الأساسية تعمل.

التحقق من Nginx

systemctl is-active nginx

التحقق من PHP-FPM

systemctl is-active php8.3-fpm

التحقق من MariaDB

systemctl is-active mariadb

إذا ظهرت كلمة active لكل خدمة، فهذا مؤشر جيد على تشغيل المكونات الأساسية.

لكن يجب أيضًا اختبار الموقع من المتصفح؛ فقد تعمل الخدمات مع وجود مشكلة في إعداد WordPress نفسه.

مراجعة سجلات الأخطاء

سجل Nginx:

sudo tail -n 50 /var/log/nginx/error.log

سجل PHP-FPM:

sudo journalctl -u php8.3-fpm --since "1 hour ago"

سجل MariaDB:

sudo journalctl -u mariadb --since "1 hour ago"

قد تختلف أماكن بعض السجلات بحسب الإعدادات.

16. تحسين أمان WordPress بعد التثبيت

إعداد WordPress بنجاح لا يعني أن الموقع أصبح محميًا من جميع المخاطر.

هناك خطوات مهمة ينبغي تنفيذها قبل استقبال الزوار.

تحديث WordPress باستمرار

ثبّت التحديثات الأمنية المناسبة للنواة والقوالب والإضافات، مع مراعاة اختبار التحديثات المهمة والاحتفاظ بنسخة احتياطية.

استخدام كلمات مرور قوية

استخدم كلمات مرور فريدة للحسابات الإدارية وقاعدة البيانات.

تفعيل المصادقة الثنائية

يمكن إضافة طبقة حماية إضافية لحسابات الإدارة باستخدام حل موثوق للمصادقة الثنائية.

تقليل عدد الإضافات

استخدم الإضافات الضرورية فقط، واحذف الإضافات المهجورة أو غير المستخدمة.

حماية wp-config.php

تأكد من أن الملف لا يمكن تنزيله من المتصفح وأن صلاحياته مناسبة.

تقييد صلاحيات الملفات

لا تمنح خادم الويب صلاحية تعديل جميع ملفات WordPress دون حاجة.

الاحتفاظ بنسخ احتياطية

احتفظ بنسخ من الملفات وقاعدة البيانات في موقع تخزين مستقل عن السيرفر.

مراقبة الموقع

راجع سجلات الأخطاء وحالة الخدمات والتنبيهات الأمنية بصورة دورية.

17. هل تحتاج إلى إضافة حماية في WordPress؟

قد تساعد إضافات الحماية على توفير وظائف مثل مراقبة الملفات أو حماية تسجيل الدخول أو التنبيه إلى بعض التغييرات.

لكنها لا تعوض عن:

  • تحديث Ubuntu.
  • تأمين SSH.
  • إعداد UFW.
  • تحديث PHP.
  • ضبط صلاحيات الملفات.
  • حماية قاعدة البيانات.
  • النسخ الاحتياطية.

الأفضل التعامل مع الأمان على أنه مجموعة طبقات متكاملة.

18. إعداد النسخ الاحتياطية لموقع WordPress

يحتوي موقع WordPress على نوعين أساسيين من البيانات:

ملفات الموقع: تشمل ملفات WordPress والقوالب والإضافات والوسائط والإعدادات.

قاعدة البيانات: تحتوي على المقالات والصفحات والمستخدمين والتعليقات والإعدادات وغيرها من المعلومات.

يجب أن تشمل استراتيجية النسخ الاحتياطي كلا الجانبين.

النسخ الاحتياطي لقاعدة البيانات

يمكن استخدام أدوات MariaDB مثل mariadb-dump لإنشاء نسخة من قاعدة البيانات.

لكن يجب اختيار طريقة مناسبة لحجم قاعدة البيانات ونوع الجداول، وحماية ملفات النسخ التي قد تحتوي على بيانات حساسة.

النسخ الاحتياطي للملفات

يمكن نسخ ملفات الموقع باستخدام أدوات مثل rsync أو حلول النسخ الاحتياطي المتخصصة.

أين تحفظ النسخ؟

من الأفضل الاحتفاظ بنسخة خارج السيرفر، مثل خدمة تخزين منفصلة.

كما يجب اختبار الاستعادة بصورة دورية؛ لأن وجود ملف نسخة احتياطية لا يضمن أنه قابل للاستخدام.

19. أخطاء شائعة عند تثبيت WordPress على Nginx

خطأ 502 Bad Gateway

قد يحدث إذا لم يستطع Nginx الاتصال بخدمة PHP-FPM.

تحقق من:

  • حالة خدمة PHP-FPM.
  • مسار Socket.
  • إعداد fastcgi_pass.
  • سجلات الأخطاء.

خطأ Error Establishing a Database Connection

يشير عادةً إلى مشكلة في الاتصال بقاعدة البيانات.

راجع:

  • حالة MariaDB.
  • اسم قاعدة البيانات.
  • اسم المستخدم.
  • كلمة المرور.
  • قيمة DB_HOST.
  • صلاحيات مستخدم قاعدة البيانات.

ظهور ملف PHP بدل تنفيذه

قد يشير إلى خلل خطير في إعداد معالجة PHP.

لا تترك الموقع متاحًا للعامة في هذه الحالة، وراجع إعداد Nginx فورًا.

خطأ 403 Forbidden

قد ينتج عن صلاحيات ملفات غير مناسبة أو إعداد خاطئ لمجلد الموقع أو ملف البداية.

خطأ 404 في صفحات المقالات

راجع إعداد الروابط الدائمة وتوجيه try_files في Nginx.

عدم القدرة على رفع الصور

تحقق من صلاحيات مجلد wp-content/uploads، وحدود الرفع في PHP وNginx، ومساحة التخزين المتاحة.

فشل تثبيت الإضافات

قد يكون السبب عدم توفر صلاحيات كتابة مناسبة أو وجود قيود في إعدادات WordPress.

لا تستخدم صلاحيات 777 لحل المشكلة.

20. كيف تحسن أداء WordPress على VPS؟

بعد نجاح التثبيت، يمكن الانتقال إلى تحسين الأداء.

ومن الجوانب المهمة:

ضبط PHP-FPM

يمكن ضبط عدد عمليات PHP والذاكرة والمهلات وفق الموارد الفعلية.

تفعيل OPcache

يساعد OPcache على تخزين الشيفرة المترجمة لـ PHP وتقليل الحاجة إلى إعادة ترجمتها في كل طلب.

استخدام Redis عند الحاجة

يمكن استخدام Redis للتخزين المؤقت للكائنات (Object Cache) في WordPress، بشرط ضبطه بصورة صحيحة.

تحسين قاعدة البيانات

تساعد مراقبة الاستعلامات البطيئة والفهارس وحجم الجداول على اكتشاف مشكلات الأداء.

استخدام التخزين المؤقت للصفحات

يمكن إعداد التخزين المؤقت على مستوى Nginx أو WordPress وفق طبيعة الموقع.

لكن يجب استثناء الصفحات الديناميكية الحساسة مثل سلة التسوق وحسابات المستخدمين عند الحاجة.

تحسين الصور

استخدم أحجامًا مناسبة وصيغًا حديثة مدعومة، مع ضغط الصور دون فقدان جودة ملحوظ.

استخدام CDN

قد تساعد شبكة توصيل المحتوى على تقليل زمن تحميل الملفات الثابتة للزوار البعيدين جغرافيًا.

مهم: لا تطبق جميع تحسينات الأداء دفعة واحدة؛ اختبر كل تغيير وقارن النتائج قبل وبعد.

الأسئلة الشائعة حول تثبيت WordPress على Ubuntu

هل يمكن تشغيل WordPress على Ubuntu دون cPanel؟

نعم. يمكن تثبيت WordPress وتشغيله مباشرة باستخدام Nginx وPHP-FPM وMariaDB دون لوحة تحكم مدفوعة.

هل WordPress يعمل مع Nginx؟

نعم، يدعم WordPress التشغيل باستخدام Nginx عند ضبط PHP-FPM وقواعد توجيه الطلبات بصورة صحيحة.

هل MariaDB مجانية؟

نعم، تتوفر MariaDB بإصدار مفتوح المصدر يمكن استخدامه في العديد من بيئات الاستضافة.

هل يمكن استضافة عدة مواقع WordPress على VPS واحد؟

نعم، لكن يُفضل استخدام قواعد بيانات منفصلة، وعزل مناسب للمستخدمين وعمليات PHP، وتحديد الموارد المطلوبة لكل موقع.

هل PHP 8.3 مناسب لـ WordPress؟

نعم، وهو يحقق الحد الأدنى الموصى به حاليًا في متطلبات WordPress الرسمية، مع ضرورة التأكد من توافق القوالب والإضافات المستخدمة.

هل يجب استخدام HTTPS؟

نعم، يُنصح باستخدام HTTPS لجميع مواقع WordPress لحماية الاتصال، وهو ضمن المتطلبات الرسمية الموصى بها.

هل يمكن تثبيت WordPress دون قاعدة بيانات؟

يحتاج WordPress في التثبيت القياسي إلى قاعدة بيانات MySQL أو MariaDB متوافقة.

هل يمكن نقل موقع WordPress من الاستضافة المشتركة إلى VPS؟

نعم، عبر نقل الملفات وقاعدة البيانات وضبط إعدادات الخادم والدومين، مع اختبار الموقع قبل تحويل الزيارات.

هل Nginx أسرع من Apache؟

ليس بالضرورة في جميع الحالات. يعتمد الأداء على إعدادات الخادم والتطبيق والتخزين المؤقت والموارد.

هل يمكن استخدام Redis مع WordPress؟

نعم، يمكن استخدامه للتخزين المؤقت للكائنات عند توفر إعداد مناسب وإضافة متوافقة.

الخلاصة

تعلمنا في هذا الدليل كيفية تثبيت WordPress على Ubuntu باستخدام Nginx وPHP-FPM وMariaDB خطوة بخطوة.

بدأنا بتجهيز PHP وقاعدة البيانات، ثم أنشأنا مستخدمًا خاصًا بـ WordPress، ونزّلنا الملفات الرسمية، وضبطنا الصلاحيات وملف wp-config.php.

بعد ذلك، عدّلنا إعداد Nginx لمعالجة ملفات PHP والروابط الدائمة، وأكملنا تثبيت WordPress من المتصفح.

وأخيرًا، استعرضنا أهم إجراءات الحماية والنسخ الاحتياطي ومراقبة الخدمات، إلى جانب مجموعة من الأخطاء الشائعة وطرق تشخيصها.

إذا كنت تتابع سلسلة إدارة السيرفرات على حكاية تقنية، فننصحك بمراجعة الأدلة السابقة:

وفي المقال القادم، سننتقل إلى تحسين أداء WordPress على VPS باستخدام Nginx وPHP-FPM وRedis، مع شرح كيفية مراقبة الموارد وقياس تأثير التحسينات.

هذا المقال بالتعاون مع فريق حكاية هوست

المصادر الرسمية

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى