این راهنما نحوه نصب 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 دستورهای زیر را اجرا کنید:
SQL1-- 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
خطوط زیر را با اطلاعات پایگاه داده خود تغییر دهید:
PHPdefine( 'DB_NAME', 'wordpress_db' ); define( 'DB_USER', 'wordpress_user' ); define( 'DB_PASSWORD', 'VotreMotDePasseSecurise123!' ); define( 'DB_HOST', 'localhost' );
همچنین این خطوط امنیتی را اضافه کنید (کلیدهای منحصربهفرد بسازید):
PHP1define('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> را اضافه یا ویرایش کنید:
Apache1<Directory /var/www/html> 2 Options Indexes FollowSymLinks 3 AllowOverride All 4 Require all granted 5</Directory>
Apache را ریاستارت کنید:
Bashsudo systemctl restart apache2
مرحله 9: نهایی کردن نصب از طریق رابط وب
- مرورگر خود را باز کنید
- به نشانی
http://VOTRE_IPیاhttp://votredomaine.comبروید - مراحل نصب 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 را با دامنه خود جایگزین کنید):
Nginx1server { 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 اضافه کنید:
PHPdefine('DISALLOW_FILE_EDIT', true);
🔄 بهروزرسانیهای WordPress
از طریق رابط WordPress
- وارد بخش مدیریت WordPress شوید
- به Dashboard ← Updates بروید
- روی 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"
راهحلها:
- اطلاعات ورود را در
wp-config.phpبررسی کنید - بررسی کنید MySQL در حال اجرا باشد:
sudo systemctl status mysql - اتصال را آزمایش کنید:
mysql -u wordpress_user -p wordpress_db
خطای 404 روی پیوندهای یکتا (permalinks)
برای 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 ما را در نظر بگیرید.