انتقل إلى المحتوى الرئيسي
العودة إلى الفئة

تثبيت WordPress وتحسينه: دليل VPS

دليل تثبيت وتحسين WordPress على VPS. إعداد LEMP Stack، إعدادات wp-config.php، صلاحيات الملفات، SSL، تحسين أداء OPcache وتعزيز الأمان.

وقت القراءة: 20 دقيقة استضافة الويب / التطبيقات
wordpressvpslempnginxphp-fpmmysqlsslopcacheأمان
الكاتب
REXE Teknoloji Network & Security Team
المحرر
REXE Teknoloji Technical Editorial
أول نشر
آخر تحديث

تثبيت WordPress وتحسينه: دليل VPS

WordPress هو نظام إدارة المحتوى الأكثر استخداماً في العالم. تشغيل WordPress على VPS بدلاً من الاستضافة المشتركة يمنحك تحكماً أكبر وأداءً أفضل وخيارات تخصيص. يغطي هذا الدليل تثبيت WordPress وإعداده وتحسينه على LEMP Stack.

المتطلبات الأساسية: LEMP Stack

hljs bash
# تحديث النظام
sudo apt update && sudo apt upgrade -y

# تثبيت Nginx
sudo apt install nginx -y
sudo systemctl enable nginx

# تثبيت MariaDB
sudo apt install mariadb-server -y
sudo systemctl enable mariadb
sudo mysql_secure_installation

# تثبيت PHP 8.2 والإضافات المطلوبة لـ WordPress
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-xml php8.2-curl \
  php8.2-mbstring php8.2-zip php8.2-gd php8.2-imagick php8.2-intl \
  php8.2-bcmath php8.2-soap -y
sudo systemctl enable php8.2-fpm

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

hljs sql
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'كلمة-مرور-قوية';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

تنزيل وتثبيت WordPress

hljs bash
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
sudo mv wordpress /var/www/mysite.com

# تعيين صلاحيات الملفات
sudo chown -R www-data:www-data /var/www/mysite.com
sudo find /var/www/mysite.com -type d -exec chmod 755 {} \;
sudo find /var/www/mysite.com -type f -exec chmod 644 {} \;

إعداد wp-config.php

hljs php
// إعدادات قاعدة البيانات
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', 'كلمة-مرور-قوية' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );

// تعطيل تحرير الملفات (أمان)
define('DISALLOW_FILE_EDIT', true);

// إجبار SSL
define('FORCE_SSL_ADMIN', true);

// حد الذاكرة
define('WP_MEMORY_LIMIT', '256M');

إعداد Nginx (لـ WordPress)

hljs nginx
server {
    listen 80;
    server_name mysite.com www.mysite.com;
    root /var/www/mysite.com;
    index index.php;

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location = /xmlrpc.php { deny all; }
    location = /wp-config.php { deny all; }
    location ~ /\. { deny all; }

    location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|svg)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
    }

    client_max_body_size 64M;
}
hljs bash
sudo ln -s /etc/nginx/sites-available/mysite.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

شهادة SSL

hljs bash
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d mysite.com -d www.mysite.com

تحسين PHP (OPcache)

hljs ini
opcache.enable = 1
opcache.memory_consumption = 256
opcache.max_accelerated_files = 10000
opcache.revalidate_freq = 2
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_vars = 3000

تعزيز أمان WordPress

hljs bash
# تأمين wp-config.php
sudo chmod 600 /var/www/mysite.com/wp-config.php

اضبط صلاحيات wp-config.php على 600. هذا الملف يحتوي على كلمة مرور قاعدة البيانات.

على خوادم REXE، يُوصى بـ 2 جيجابايت ذاكرة RAM على الأقل لـ WordPress. للمواقع ذات الحركة العالية، يُفضَّل 4 جيجابايت+ RAM وتخزين SSD.

الخلاصة

موقع WordPress الخاص بك يعمل الآن على LEMP Stack على VPS، مؤمَّن بـ SSL ومحسَّن بـ OPcache. حافظ على صحة موقعك بالنسخ الاحتياطية المنتظمة وتحديثات الأمان ومراقبة الأداء.

الأسئلة الشائعة

أحصل على خطأ 'Error establishing a database connection' عند تثبيت WordPress.

تحقق من قيم DB_NAME و DB_USER و DB_PASSWORD و DB_HOST في wp-config.php. تحقق من تشغيل MySQL بـ 'sudo systemctl status mariadb'. تحقق من صلاحيات المستخدم على قاعدة البيانات بأمر SQL 'SHOW GRANTS FOR wpuser@localhost;'.

لا أستطيع الدخول إلى لوحة تحكم WordPress، ماذا أفعل؟

تحقق من صحة توجيه try_files في إعداد Nginx. تحقق من تشغيل PHP-FPM بـ 'sudo systemctl status php8.2-fpm'. راجع سجل أخطاء Nginx بـ 'sudo tail -f /var/log/nginx/mysite.com.error.log'.

لا أستطيع رفع الصور في WordPress، أحصل على خطأ حجم الملف.

زد upload_max_filesize و post_max_size في php.ini (مثلاً 64M). زد أيضاً client_max_body_size في Nginx بنفس القيمة. أعد تشغيل PHP-FPM و Nginx. أضف 'define("WP_MAX_MEMORY_LIMIT", "256M");' إلى wp-config.php.

موقع WordPress بطيء، كيف أسرّعه؟

فعّل OPcache، استخدم Nginx FastCGI Cache. ثبّت إضافة W3 Total Cache أو WP Super Cache. استخدم CDN (Cloudflare). أضف إضافة Smush أو ShortPixel لتحسين الصور. حسّن قاعدة البيانات بانتظام باستخدام WP-CLI.

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

نشر تطبيق Node.js: دليل PM2 و Nginx

دليل شامل لنشر تطبيقات Node.js على VPS. تثبيت Node.js عبر nvm، مدير العمليات PM2، وكيل Nginx العكسي، شهادة SSL وإدارة متغيرات البيئة.

15 دقيقة
nodejspm2nginx

نشر تطبيق PHP: دليل LAMP و LEMP Stack

دليل شامل لنشر تطبيقات PHP على VPS. مقارنة LAMP و LEMP، إعداد Apache/Nginx + PHP-FPM + MySQL، تهيئة المضيف الافتراضي وإدارة إصدارات PHP.

18 دقيقة
phplamplemp

نشر Python/Django: بيئة إنتاج مع Gunicorn و Nginx

دليل نشر تطبيقات Python/Django على VPS. إعداد virtualenv، إعدادات Django للإنتاج، خادم Gunicorn WSGI، وكيل Nginx العكسي، خدمة systemd وإدارة الملفات الثابتة.

18 دقيقة
pythondjangogunicorn
حركة الشبكةالداخل Gbpsالخارج Gbps