فارسی (Farsi)
€EUR

نصب WordPress روی VPS لینوکس

4 min
سرور مجازی (VPS/VDS)

این راهنما نحوه نصب WordPress روی VPS لینوکس شما را توضیح می‌دهد. WordPress محبوب‌ترین سیستم مدیریت محتوا (CMS) در جهان است و میلیون‌ها وب‌سایت از آن استفاده می‌کنند.

⚠️ هشدار مهم

مهم: برای سایت‌های WordPress به‌طور ویژه توصیه می‌شود از Infrawire هاست وب تهیه کنید. هاست وب اشتراکی یا اختصاصی مزایای فراوانی دارد:

  • پایداری بهینه: محیطی بهینه‌شده و نگهداری‌شده برای WordPress
  • بکاپ‌های خودکار: داده‌های شما به‌طور منظم بکاپ گرفته می‌شوند
  • پشتیبانی تخصصی: پشتیبانی فنی اختصاصی WordPress
  • به‌روزرسانی‌های مدیریت‌شده: به‌روزرسانی‌های امنیتی و عملکردی
  • امنیت تقویت‌شده: محافظت در برابر حملات رایج
  • عملکرد بهینه: پیکربندی سرور متناسب با WordPress

با این حال، اگر یک محیط غیراشتراکی و اختصاصی با کنترل کامل روی سرور خود می‌خواهید، می‌توانید WordPress را روی یک VPS Infrawire نصب کنید. این راهنما نحوه انجام آن را توضیح می‌دهد.

📋 پیش‌نیازها

  • یک VPS لینوکس با دسترسی root یا sudo
  • حداقل 1 GB رم (2 GB برای WordPress توصیه می‌شود)
  • حداقل 10 GB فضای آزاد دیسک

💡 توصیه زیرساختی

برای عملکرد بهینه با WordPress، VPS NVMe ما را برای سایت‌های با ترافیک متوسط و VPS High Performance را برای سایت‌های پرترافیکی که به منابع CPU قابل‌توجه نیاز دارند توصیه می‌کنیم. دیسک‌های NVMe بارگذاری صفحات و عملیات پایگاه داده را به‌طور چشمگیری سریع‌تر می‌کنند.

  • یک دامنه که به IP سرور VPS شما اشاره کند
  • پورت‌های 80 (HTTP) و 443 (HTTPS) در فایروال شما باز باشند

🔧 روش اول: نصب با LAMP (Apache)

مرحله 1: به‌روزرسانی سیستم

Bash
# Mettre à jour la liste des paquets sudo apt update # Mettre à jour les paquets installés sudo apt upgrade -y

مرحله 2: نصب Apache

Bash
# Installer Apache sudo apt install -y apache2 # Démarrer Apache sudo systemctl start apache2 # Activer Apache au démarrage sudo systemctl enable apache2 # Vérifier le statut sudo systemctl status apache2

مرحله 3: نصب MySQL

Bash
# Installer MySQL Server sudo apt install -y mysql-server # Démarrer MySQL sudo systemctl start mysql # Activer MySQL au démarrage sudo systemctl enable mysql # Sécuriser l'installation MySQL sudo mysql_secure_installation

هنگام امن‌سازی باید:

  • یک رمز عبور root برای MySQL تعیین کنید
  • کاربران ناشناس (anonymous) را حذف کنید
  • ورود root از راه دور را غیرفعال کنید
  • پایگاه داده test را حذف کنید
  • سطوح دسترسی (privileges) را بارگذاری مجدد کنید

مرحله 4: ایجاد پایگاه داده WordPress

Bash
# Se connecter à MySQL sudo mysql -u root -p

در MySQL دستورهای زیر را اجرا کنید:

SQL
1-- Créer la base de données 2CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 3 4-- Créer un utilisateur pour WordPress 5CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'VotreMotDePasseSecurise123!'; 6 7-- Donner tous les privilèges à l'utilisateur 8GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost'; 9 10-- Appliquer les changements 11FLUSH PRIVILEGES; 12 13-- Quitter MySQL 14EXIT;

مهم: VotreMotDePasseSecurise123! را با یک رمز عبور قوی و منحصربه‌فرد جایگزین کنید.

مرحله 5: نصب PHP و افزونه‌های لازم

Bash
# Installer PHP et les extensions requises pour WordPress sudo apt install -y php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip libapache2-mod-php # Vérifier la version de PHP php -v

WordPress به PHP 7.4 یا بالاتر نیاز دارد. برای نصب یک نسخه مشخص:

Bash
# Pour PHP 8.1 (recommandé) sudo apt install -y php8.1 php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-xmlrpc php8.1-soap php8.1-intl php8.1-zip libapache2-mod-php8.1

مرحله 6: دانلود WordPress

Bash
# Aller dans le répertoire temporaire cd /tmp # Télécharger la dernière version de WordPress curl -O https://wordpress.org/latest.tar.gz # Extraire l'archive tar xzf latest.tar.gz # Copier WordPress dans le répertoire web sudo cp -r wordpress/* /var/www/html/ # Donner les bonnes permissions sudo chown -R www-data:www-data /var/www/html sudo chmod -R 755 /var/www/html

مرحله 7: پیکربندی WordPress

Bash
# Créer le fichier de configuration cd /var/www/html sudo cp wp-config-sample.php wp-config.php # Éditer le fichier de configuration sudo nano wp-config.php

خطوط زیر را با اطلاعات پایگاه داده خود تغییر دهید:

PHP
define( 'DB_NAME', 'wordpress_db' ); define( 'DB_USER', 'wordpress_user' ); define( 'DB_PASSWORD', 'VotreMotDePasseSecurise123!' ); define( 'DB_HOST', 'localhost' );

همچنین این خطوط امنیتی را اضافه کنید (کلیدهای منحصربه‌فرد بسازید):

PHP
1define('AUTH_KEY', 'générez-une-clé-unique-ici'); 2define('SECURE_AUTH_KEY', 'générez-une-clé-unique-ici'); 3define('LOGGED_IN_KEY', 'générez-une-clé-unique-ici'); 4define('NONCE_KEY', 'générez-une-clé-unique-ici'); 5define('AUTH_SALT', 'générez-une-clé-unique-ici'); 6define('SECURE_AUTH_SALT', 'générez-une-clé-unique-ici'); 7define('LOGGED_IN_SALT', 'générez-une-clé-unique-ici'); 8define('NONCE_SALT', 'générez-une-clé-unique-ici');

می‌توانید کلیدهای منحصربه‌فرد را در این نشانی بسازید: https://api.wordpress.org/secret-key/1.1/salt/

مرحله 8: پیکربندی Apache برای WordPress

Bash
# Activer le module rewrite sudo a2enmod rewrite # Éditer la configuration Apache sudo nano /etc/apache2/sites-available/000-default.conf

بخش <Directory /var/www/html> را اضافه یا ویرایش کنید:

Apache
1<Directory /var/www/html> 2 Options Indexes FollowSymLinks 3 AllowOverride All 4 Require all granted 5</Directory>

Apache را ری‌استارت کنید:

Bash
sudo systemctl restart apache2

مرحله 9: نهایی کردن نصب از طریق رابط وب

  1. مرورگر خود را باز کنید
  2. به نشانی http://VOTRE_IP یا http://votredomaine.com بروید
  3. مراحل نصب WordPress را دنبال کنید:
    • زبان خود را انتخاب کنید
    • اطلاعات سایت را وارد کنید (عنوان، کاربر مدیر، ایمیل، رمز عبور)
    • روی Install WordPress کلیک کنید

🔧 روش دوم: نصب با LEMP (Nginx)

مرحله 1: نصب Nginx

Bash
# Installer Nginx sudo apt install -y nginx # Démarrer Nginx sudo systemctl start nginx # Activer Nginx au démarrage sudo systemctl enable nginx

مرحله 2: نصب MySQL (مانند روش LAMP)

برای نصب MySQL و ایجاد پایگاه داده، مراحل 3 و 4 روش LAMP را دنبال کنید.

مرحله 3: نصب PHP-FPM

Bash
# Installer PHP-FPM et les extensions sudo apt install -y php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip # Pour PHP 8.1 sudo apt install -y php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-xmlrpc php8.1-soap php8.1-intl php8.1-zip

مرحله 4: دانلود WordPress

برای دانلود و نصب WordPress، مرحله 6 روش LAMP را دنبال کنید.

مرحله 5: پیکربندی Nginx برای WordPress

Bash
# Créer un fichier de configuration pour votre site sudo nano /etc/nginx/sites-available/wordpress

پیکربندی زیر را اضافه کنید (votredomaine.com را با دامنه خود جایگزین کنید):

Nginx
1server { 2 listen 80; 3 listen [::]:80; 4 server_name votredomaine.com www.votredomaine.com; 5 root /var/www/html; 6 index index.php index.html index.htm; 7 8 location / { 9 try_files $uri $uri/ /index.php?$args; 10 } 11 12 location ~ \.php$ { 13 include snippets/fastcgi-php.conf; 14 fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; 15 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 16 include fastcgi_params; 17 } 18 19 location ~ /\.ht { 20 deny all; 21 } 22}

فعال‌سازی سایت:

Bash
# Créer un lien symbolique sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/ # Tester la configuration sudo nginx -t # Redémarrer Nginx sudo systemctl restart nginx

مرحله 6: پیکربندی WordPress

برای پیکربندی WordPress، مراحل 7 و 9 روش LAMP را دنبال کنید.

🔒 امن‌سازی WordPress

1. تغییر سطوح دسترسی فایل‌ها

Bash
# Permissions pour les fichiers sudo find /var/www/html -type f -exec chmod 644 {} \; # Permissions pour les répertoires sudo find /var/www/html -type d -exec chmod 755 {} \; # Permissions spéciales pour wp-config.php sudo chmod 600 /var/www/html/wp-config.php

2. نصب گواهی SSL با Let's Encrypt

Bash
# Installer Certbot sudo apt install -y certbot python3-certbot-apache # Pour Nginx : sudo apt install -y certbot python3-certbot-nginx # Obtenir un certificat SSL sudo certbot --apache -d votredomaine.com -d www.votredomaine.com # Pour Nginx : sudo certbot --nginx -d votredomaine.com -d www.votredomaine.com # Renouvellement automatique sudo certbot renew --dry-run

3. پیکربندی فایروال

Bash
# Autoriser HTTP et HTTPS sudo ufw allow 'Apache Full' # Pour Nginx : sudo ufw allow 'Nginx Full' # Ou manuellement sudo ufw allow 80/tcp sudo ufw allow 443/tcp

4. محدود کردن تلاش‌های ورود

یک افزونه امنیتی WordPress نصب کنید، مانند:

  • Wordfence Security
  • iThemes Security
  • Sucuri Security

5. غیرفعال کردن ویرایش فایل‌ها از طریق رابط کاربری

این را به wp-config.php اضافه کنید:

PHP
define('DISALLOW_FILE_EDIT', true);

🔄 به‌روزرسانی‌های WordPress

از طریق رابط WordPress

  1. وارد بخش مدیریت WordPress شوید
  2. به Dashboard ← Updates بروید
  3. روی Update Now کلیک کنید

از طریق WP-CLI (خط فرمان)

Bash
# Installer WP-CLI curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp # Mettre à jour WordPress cd /var/www/html sudo -u www-data wp core update sudo -u www-data wp plugin update --all sudo -u www-data wp theme update --all

📦 افزونه‌های پیشنهادی

  • Yoast SEO: بهینه‌سازی برای موتورهای جستجو
  • Wordfence Security: امنیت و محافظت
  • UpdraftPlus: بکاپ‌های خودکار
  • W3 Total Cache: کش برای بهبود عملکرد
  • Contact Form 7: فرم‌های تماس

❓ مشکلات رایج

خطای "Error establishing a database connection"

راه‌حل‌ها:

  1. اطلاعات ورود را در wp-config.php بررسی کنید
  2. بررسی کنید MySQL در حال اجرا باشد: sudo systemctl status mysql
  3. اتصال را آزمایش کنید: mysql -u wordpress_user -p wordpress_db

برای Apache:

Bash
# Vérifier que mod_rewrite est activé sudo a2enmod rewrite sudo systemctl restart apache2

برای Nginx: بررسی کنید پیکربندی try_files درست باشد.

مشکلات سطح دسترسی

Bash
# Corriger les permissions sudo chown -R www-data:www-data /var/www/html sudo find /var/www/html -type d -exec chmod 755 {} \; sudo find /var/www/html -type f -exec chmod 644 {} \;

📝 دستورهای کاربردی

Bash
# Vérifier le statut des services sudo systemctl status apache2 # ou nginx sudo systemctl status mysql # Redémarrer les services sudo systemctl restart apache2 # ou nginx sudo systemctl restart mysql # Voir les logs Apache sudo tail -f /var/log/apache2/error.log # Voir les logs Nginx sudo tail -f /var/log/nginx/error.log # Voir les logs PHP-FPM sudo tail -f /var/log/php8.1-fpm.log

📞 نیاز به کمک دارید؟

اگر هنگام نصب WordPress با مشکلی روبه‌رو شدید، با خیال راحت با پشتیبانی Infrawire تماس بگیرید. تیم ما آماده کمک به شماست.


نکته: برای تجربه بهتر WordPress با پشتیبانی اختصاصی، بکاپ‌های خودکار و بهینه‌سازی‌های از پیش پیکربندی‌شده، هاست وب اختصاصی WordPress ما را در نظر بگیرید.

با آخرین پیشنهادها، تخفیف‌ها و تبلیغات ویژه به‌روز بمانید.

مشاهده تخفیف‌ها

ما از کوکی استفاده می‌کنیم

ما از کوکی‌های تحلیلی برای بهبود تجربه شما در سایت خود استفاده می‌کنیم. هیچ داده‌ای به اشخاص ثالث فروخته نمی‌شود. اطلاعات بیشتر در سیاست حفظ حریم خصوصی ما.