برای نصب وردپرس روی سرور مجازی، ابتدا باید محیط اجرای آن آماده باشد:
وبسرور، PHP، دیتابیس و دامنهای که به سرور متصل شده است.
اگر VPS شما کنترلپنل دارد، بخش زیادی از این کارها از طریق رابط گرافیکی انجام میشود.
اما روی یک سرور خام، باید این اجزا را خودتان نصب و تنظیم کنید.
در این راهنما، ابتدا روش نصب با cPanel و Plesk را میبینید؛ سپس
نصب وردپرس در اوبونتو بدون کنترلپنل را از آمادهسازی سرور تا
فعالسازی HTTPS پیش میبریم. در ادامه نیز سراغ WP-CLI، نکات ویندوز سرور
و رفع خطاهای متداول میرویم.
نکته مهم:
این آموزش برای نصب یک سایت جدید است. اگر روی سرور فعلی شما سایت یا اطلاعات مهمی وجود دارد،
پیش از هر تغییری بکاپ بگیرید. نصب مجدد وردپرس، جایگزین فرایند انتقال سایت نیست.
کدام روش نصب وردپرس روی VPS مناسب شماست؟
قبل از شروع، مشخص کنید سرور شما فقط سیستمعامل دارد یا همراه با کنترلپنل آماده تحویل شده است.
وجود کنترلپنل، نصبکننده خودکار و لایسنس آن را نباید برای همه سرویسهای VPS فرض کرد.
| وضعیت شما | روش مناسب | پیشنیاز اصلی |
|---|---|---|
| cPanel و نصبکننده وردپرس دارید | WP Toolkit یا Softaculous | دامنه، HTTPS و دسترسی به حساب cPanel |
| cPanel دارید، اما نصبکننده فعال نیست | آپلود فایل و ساخت دیتابیس از کنترلپنل | File Manager و ابزار مدیریت دیتابیس |
| Plesk دارید | نصب با WP Toolkit | دامنه تعریفشده و پشتیبانی PHP و دیتابیس |
| VPS خام اوبونتو دارید | نصب دستی Apache، MariaDB، PHP و وردپرس | SSH و کاربر دارای دسترسی sudo |
| محیط سرور آماده است و با ترمینال کار میکنید | نصب با WP-CLI | PHP CLI، دیتابیس و دسترسی فایل مناسب |
اگر هنوز درباره انتخاب این سرویس مطمئن نیستید، مقاله سرور مجازی چیست به شناخت ساختار و کاربردهای آن کمک میکند.
VPS امکان کنترل بیشتری میدهد، اما سرعت و امنیت بهتر به منابع، تنظیمات و نگهداری صحیح هم وابسته است.
پیشنیازهای نصب وردپرس روی سرور مجازی
- دسترسی مدیریتی: حساب کنترلپنل یا اتصال SSH با دسترسی sudo.
- دامنه: امکان مدیریت DNS و اتصال دامنه به IP سرور.
- وبسرور: برای مسیر لینوکس این آموزش از Apache استفاده میکنیم.
- PHP: نسخه پشتیبانیشده و سازگار با وردپرس، قالب و افزونههای شما.
- دیتابیس: MariaDB یا MySQL همراه با یک کاربر اختصاصی برای سایت.
- HTTPS: گواهی معتبر و امکان تمدید آن.
- نسخه پشتیبان: پیش از تغییر سرورهای دارای اطلاعات، بکاپ قابلبازیابی تهیه کنید.
در زمان بازبینی این راهنما، صفحه پیشنیازهای رسمی وردپرس استفاده از PHP 8.3 یا بالاتر، MariaDB 10.11 یا بالاتر یا MySQL 8.0 یا بالاتر و پشتیبانی HTTPS را توصیه میکند.
هنگام انتخاب نسخه، وضعیت پشتیبانی امنیتی آن و سازگاری افزونهها را هم بررسی کنید؛
صرفاً قابلاجرا بودن یک نسخه قدیمی، دلیل مناسبی برای استفاده از آن نیست.
وردپرس روی VPS چقدر RAM و CPU نیاز دارد؟
برای شروع یک سایت سبک بدون کنترلپنل سنگین، میتوان
۲ گیگابایت RAM و ۱ تا ۲ vCPU را نقطه شروع بررسی در نظر گرفت؛
این اعداد حداقل رسمی یا تضمین ظرفیت نیستند.
فروشگاه اینترنتی، صفحهساز، افزونههای متعدد، پردازشهای پسزمینه و کاربران همزمان،
نیاز به منابع را افزایش میدهند. انتخاب نهایی باید با آزمون بار و پایش مصرف انجام شود.
پیش از خرید سرور مجازی لینوکس، علاوه بر RAM و CPU، نوع دیسک، محل سرور، امکان ارتقا، بکاپ و مسئولیت مدیریت سرویس را بررسی کنید.

اگر بیشتر بازدیدکنندگان سایت وردپرسی شما داخل کشور هستند، موقعیت دیتاسنتر را هم در انتخاب VPS در نظر بگیرید. استفاده از سرور مجازی ایران میتواند با نزدیکتر کردن محل میزبانی به کاربران داخلی، تأخیر ارتباط شبکه را کاهش دهد؛ البته عملکرد نهایی سایت به منابع سرور، تنظیمات وردپرس و مسیر شبکه نیز بستگی دارد.
روش اول: نصب وردپرس روی سرور مجازی با cPanel
این روش زمانی کاربرد دارد که cPanel روی سرور نصب شده و برای دامنه شما یک حساب میزبانی ایجاد شده باشد.
اگر سرور خام است، ابتدا شرایط سیستمعامل و لایسنس را در آموزش نصب سیپنل روی سرور مجازی بررسی کنید. دستورهای نصب دستی بخش اوبونتو را روی سرور تحت مدیریت cPanel اجرا نکنید.
نصب خودکار با WP Toolkit یا Softaculous
- از آدرس امن ارائهشده توسط میزبان وارد cPanel شوید.
- دامنه را در بخش Domains تعریف و مسیر ریشه آن را بررسی کنید.
- از بخش SSL/TLS Status وضعیت گواهی را بررسی کنید؛ در صورت فعال بودن سرویس، AutoSSL را اجرا کنید.
- ابزار WP Toolkit یا Softaculous را باز و نصب WordPress را انتخاب کنید.
- دامنه و پروتکل HTTPS را تعیین کنید. برای نصب روی دامنه اصلی، کادر پوشه نصب را خالی بگذارید.
- عنوان سایت، زبان، نام کاربری مدیر، رمز قوی و ایمیل در دسترس را وارد کنید.
- تنظیمات بهروزرسانی و بکاپ را بررسی و نصب را آغاز کنید.
- پس از پایان نصب، صفحه اصلی و مسیر
/wp-admin/را باز کنید.
دو نکته مهم:
وجود این ابزارها به تنظیمات و امکانات سرویس بستگی دارد.
همچنین وارد کردن ایمیل مدیر در فرم نصب وردپرس، به معنی ساخت صندوق ایمیل روی دامنه نیست.
نصب دستی در cPanel، بدون نصبکننده خودکار
- فایل ZIP وردپرس را از وبسایت رسمی WordPress.org دریافت کنید.
- در File Manager وارد Document Root دامنه شوید.
مسیر دامنه اصلی اغلبpublic_htmlاست، اما برای همه دامنهها یکسان نیست. - فایل ZIP را آپلود و استخراج کنید.
اگر نصب روی ریشه دامنه است، محتویات پوشه wordpress را به ریشه دامنه منتقل کنید،
نه خود پوشه را. روی فایلهای سایت موجود بازنویسی نکنید. - در بخش MySQL Databases، Manage My Databases یا Database Wizard،
یک دیتابیس و یک کاربر با رمز قوی بسازید. نام کامل شامل پیشوند حساب را نگه دارید. - کاربر را به همان دیتابیس متصل و مجوزهای موردنیاز نصب را بدهید.
در نصب معمول وردپرس، All Privileges برای دیتابیس همان سایت انتخاب میشود؛
این مجوز نباید دسترسی سراسری به همه دیتابیسهای سرور باشد. - آدرس HTTPS دامنه را باز کنید و نام دیتابیس، نام کاربر، رمز و میزبان دیتابیس را وارد کنید.
مقدار میزبان اغلب localhost است، اما تنظیم میزبان شما ملاک است. - فرم عنوان سایت و حساب مدیر را تکمیل کنید و وارد پیشخوان شوید.
- پس از اطمینان از نصب موفق، فایل ZIP آپلودشده را از مسیر عمومی سایت حذف کنید.
نام کاربری مدیر وردپرس با کاربر دیتابیس متفاوت است.
برای این دو حساب رمز یکسان نگذارید و اطلاعات ورود را در مدیر رمز عبور نگه دارید.

روش دوم: نصب وردپرس روی VPS با Plesk
اگر از Plesk استفاده میکنید و WP Toolkit در سرویس شما فعال است،
میتوانید نصب وردپرس را از همان محیط انجام دهید.
این مسیر برای سرورهای لینوکس یا ویندوز مجهز به Plesk قابلاستفاده است؛
اجزای PHP و دیتابیس باید از قبل فراهم باشند.
- وارد Plesk شوید و دامنه را در بخش Websites & Domains اضافه کنید.
- DNS دامنه و تنظیمات میزبانی آن را بررسی کنید.
- از بخش گواهیهای SSL/TLS، گواهی معتبر دامنه را فعال کنید.
- وارد WordPress یا WP Toolkit شوید و Install را انتخاب کنید.
- دامنه، مسیر نصب، زبان و اطلاعات مدیر را تعیین کنید.
- گزینههای دیتابیس و بهروزرسانی را بررسی و نصب را تایید کنید.
- از طریق دامنه و پیشخوان، درستی نصب و اتصال HTTPS را بررسی کنید.
اگر WP Toolkit را نمیبینید، فعال بودن افزونه و دسترسی حساب را با مدیر سرور بررسی کنید.
جای منوها ممکن است با نسخه و سطح دسترسی متفاوت باشد.
روش سوم: نصب وردپرس در اوبونتو بدون کنترلپنل
دستورهای این بخش برای یک VPS تازه با Ubuntu Server 24.04 LTS
و میزبانی یک سایت نوشته شدهاند. از Apache، MariaDB و PHP مخازن اوبونتو استفاده میکنیم.
این دستورها را بدون تطبیق، روی توزیع دیگر یا سروری که کنترلپنل و سایت فعال دارد اجرا نکنید.
در مثالها، example.com دامنه نمونه،
SERVER_IP نشانی IP سرور و
USERNAME کاربر دارای دسترسی sudo است.
پیش از اجرای هر دستور، مقادیر نمونه را جایگزین کنید.
گام ۱: اتصال به سرور و نصب پیشنیازها
از ترمینال لینوکس، macOS یا PowerShell ویندوز به سرور متصل شوید:
ssh USERNAME@SERVER_IPاثر انگشت کلید SSH را با اطلاعات معتبر سرور تطبیق دهید.
سپس فهرست بستهها را بهروز و اجزای لازم را نصب کنید:
sudo apt update
sudo apt upgrade
sudo apt install apache2 mariadb-server \
php libapache2-mod-php php-cli php-mysql \
php-curl php-gd php-mbstring php-xml php-zip \
php-intl php-bcmath php-imagick \
curl unzip ufw dnsutils nano
sudo systemctl enable --now apache2 mariadb
sudo systemctl restart apache2اگر سیستم پس از بهروزرسانی نیاز به راهاندازی مجدد داشت،
در زمان مناسب آن را انجام دهید و دوباره متصل شوید.
برای بررسی نسخهها و وضعیت سرویسها:
php -v
mariadb --version
sudo systemctl is-active apache2 mariadbبرای هر دو سرویس باید وضعیت active نمایش داده شود.
در صورت خطا، ابتدا همان مشکل را برطرف کنید و سپس ادامه دهید.
گام ۲: اتصال دامنه و تنظیم فایروال
در پنل DNS دامنه، رکورد A دامنه اصلی را به IPv4 سرور متصل کنید.
اگر میخواهید از www استفاده کنید، رکورد آن را هم تنظیم کنید.
رکورد AAAA را فقط زمانی نگه دارید که IPv6 سرور واقعاً تنظیم و قابلدسترسی باشد.
dig +short example.com A
dig +short example.com AAAAاگر از پراکسی CDN استفاده میکنید، ممکن است خروجی DNS نشانی CDN باشد.
در این حالت، تنظیم Origin و مسیر اعتبارسنجی گواهی را مطابق مستندات سرویس بررسی کنید.
پیش از فعالسازی فایروال، پورت واقعی SSH را مجاز کنید.
نمونه زیر برای SSH روی پورت پیشفرض ۲۲ است.
اگر پورت شما متفاوت است، بهجای قانون OpenSSH، قانون پورت صحیح را اضافه کنید.
sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw show added
sudo ufw enable
sudo ufw statusنشست فعلی SSH را باز نگه دارید و اتصال را در یک پنجره جدید هم آزمایش کنید.
فایروال پنل ارائهدهنده سرور نیز باید ترافیک لازم را عبور دهد.
برای دیتابیس محلی این آموزش، نیازی به باز کردن پورت ۳۳۰۶ روی اینترنت ندارید.
گام ۳: ساخت دیتابیس و کاربر وردپرس
وارد MariaDB شوید. در نصب معمول اوبونتو، حساب مدیریتی میتواند از احراز هویت محلی سیستمعامل استفاده کند:
sudo env MYSQL_HISTFILE=/dev/null mariadbدستورهای زیر را در محیط MariaDB اجرا کنید.
عبارت REPLACE_WITH_A_LONG_RANDOM_PASSWORD
را با یک رمز تصادفی و منحصربهفرد جایگزین کنید.
برای سادگی وارد کردن در SQL، میتوانید از رمز تصادفی طولانی شامل حروف و اعداد استفاده کنید.
CREATE DATABASE wordpress
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost'
IDENTIFIED BY 'REPLACE_WITH_A_LONG_RANDOM_PASSWORD';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost';
EXIT;این کاربر فقط به دیتابیس wordpress دسترسی دارد.
وردپرس را با حساب root دیتابیس راهاندازی نکنید.
رمز تعیینشده را برای مرحله نصب در مدیر رمز عبور ذخیره کنید.
گام ۴: ساخت مسیر سایت و تنظیم Apache
برای این سایت جدید، مسیر جداگانه میسازیم.
اگر مسیر زیر از قبل وجود دارد و دارای اطلاعات است، ادامه ندهید و ابتدا وضعیت آن را بررسی کنید.
sudo mkdir -p /var/www/example.com
sudo nano /etc/apache2/sites-available/example.com.confمحتوای زیر را در فایل تنظیمات قرار دهید و همه موارد example.com را با دامنه خود جایگزین کنید:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/example.com
<Directory /var/www/example.com>
Options -Indexes +FollowSymLinks
AllowOverride All
DirectoryIndex index.php
Require all granted
</Directory>
<Files "wp-config.php">
Require all denied
</Files>
<Directory /var/www/example.com/wp-content/uploads>
<FilesMatch "\.php$">
Require all denied
</FilesMatch>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>در nano با Ctrl+O و Enter ذخیره و با Ctrl+X خارج شوید.
اگر www هم تنظیم شده است، میتوانید خط
ServerAlias www.example.com
را زیر ServerName اضافه کنید.
sudo a2enmod rewrite
sudo a2ensite example.com.conf
sudo apache2ctl configtestفقط اگر نتیجه بررسی Syntax OK بود،
تنظیمات Apache را دوباره بارگذاری کنید:
sudo systemctl reload apache2در این مرحله هنوز فایلهای سایت نصب نشدهاند؛ بنابراین ندیدن صفحه وردپرس طبیعی است.
گام ۵: فعالسازی HTTPS با Certbot
پیش از وارد کردن اطلاعات حساب مدیر، HTTPS را فعال کنید.
برای روش زیر باید دامنه به سرور درست برسد و پورت ۸۰ برای اعتبارسنجی در دسترس باشد.
این دستورات برای سرور تازهای هستند که Certbot دیگری روی آن نصب نشده است.
sudo apt install snapd
sudo snap install --classic certbot
sudo /snap/bin/certbot --apache -d example.comایمیل معتبر وارد کنید، شرایط سرویس را بخوانید و مراحل را ادامه دهید.
اگر www را هم در DNS و Apache تنظیم کردهاید، دستور صدور گواهی میتواند به این شکل باشد:
sudo /snap/bin/certbot --apache -d example.com -d www.example.comسپس تمدید خودکار را آزمایش کنید:
sudo /snap/bin/certbot renew --dry-runپیش از ادامه، مطمئن شوید مرورگر برای دامنه خطای گواهی نشان نمیدهد.
اگر صدور گواهی ناموفق بود، DNS، رکورد IPv6، فایروال و تنظیمات CDN را بررسی کنید.
گام ۶: دانلود وردپرس و تنظیم دسترسی فایلها
وردپرس را از نشانی رسمی HTTPS در یک پوشه موقت دریافت کنید.
هر دستور را جداگانه اجرا کنید و در صورت خطا ادامه ندهید:
wp_download_dir="$(mktemp -d)"
curl -fL https://wordpress.org/latest.tar.gz \
-o "$wp_download_dir/wordpress.tar.gz"
tar -xzf "$wp_download_dir/wordpress.tar.gz" \
-C "$wp_download_dir"
sudo cp -a "$wp_download_dir/wordpress/." /var/www/example.com/
sudo chown -R www-data:www-data /var/www/example.com
sudo find /var/www/example.com -type d -exec chmod 755 {} \;
sudo find /var/www/example.com -type f -exec chmod 644 {} \;این مدل مالکیت، برای سادگی مدیریت یک سایت، فایلها را در اختیار کاربر وبسرور قرار میدهد.
در مقابل، اگر کد PHP سایت آسیب ببیند، امکان تغییر فایلهای قابلنوشتن هم وجود دارد.
برای میزبانی چند سایت مستقل یا محیطهای حساس، از کاربر مجزا و PHP-FPM pool جداگانه
برای هر سایت استفاده کنید؛ پیکربندی آن خارج از محدوده این مثال است.
از مجوز 777 برای رفع خطاهای دسترسی استفاده نکنید.
همچنین فایلهای بکاپ، ZIP و خروجی SQL را داخل مسیر عمومی سایت نگه ندارید.
گام ۷: اجرای نصب وردپرس در مرورگر
آدرس زیر را با دامنه خود باز کنید:
https://example.com/زبان را انتخاب کنید و اطلاعات دیتابیس را وارد کنید.
نصاب عمومی را پس از آمادهسازی سرور، بدون تکمیل رها نکنید.
| فیلد | مقدار در مثال این آموزش |
|---|---|
| Database Name | wordpress |
| Username | wp_user |
| Password | رمز منحصربهفرد تعیینشده در مرحله ساخت کاربر دیتابیس |
| Database Host | localhost |
| Table Prefix | wp_ یا پیشوند معتبر دلخواه |
تغییر پیشوند جدولها جایگزین بهروزرسانی و تنظیمات امنیتی نیست.
اگر وردپرس نتوانست wp-config.php را بسازد، محتوای پیشنهادی نصاب را
در فایلی با همین نام، در مسیر نصب قرار دهید؛ مجوز کل سایت را باز نکنید.
در مرحله بعد عنوان سایت، نام کاربری مدیر، رمز قوی و ایمیل در دسترس را وارد کنید.
از حساب مشترک بین چند مدیر استفاده نکنید.
تنظیم نمایش در موتورهای جستوجو:
فعال کردن گزینه «از موتورهای جستوجو درخواست کن تا محتوای سایت را بررسی نکنند»،
از آنها میخواهد سایت را ایندکس نکنند.
این گزینه سایت را خصوصی نمیکند و مانع ورود بازدیدکنندگان نیست.
برای سایت آماده انتشار، تیک آن را بردارید؛ برای محیط آزمایشی محرمانه، کنترل دسترسی جداگانه لازم است.
گام ۸: بررسی نصب و محافظت از فایل تنظیمات
پس از ساخته شدن wp-config.php، دسترسی آن را محدود کنید:
sudo chmod 640 /var/www/example.com/wp-config.phpسپس وارد https://example.com/wp-admin/ شوید،
یک نوشته آزمایشی بسازید و بارگذاری تصویر را بررسی کنید.
در بخش «تنظیمات ← پیوندهای یکتا»، ساختار مناسب را انتخاب و ذخیره کنید.
برای سایت جدید میتوانید ساختار «نام نوشته» را بررسی کنید؛
ساختار URL یک سایت موجود را بدون برنامه ریدایرکت تغییر ندهید.

روش چهارم: نصب وردپرس روی VPS با WP-CLI
WP-CLI برای کاربرانی مناسب است که میخواهند وردپرس را از خط فرمان مدیریت کنند.
این ابزار جایگزین نصب وبسرور، PHP، دیتابیس یا تنظیم DNS نیست.
ابتدا WP-CLI را مطابق راهنمای رسمی WP-CLI نصب کنید. دستورهای زیر با فرض در دسترس بودن فایل اجرایی در
/usr/local/bin/wp نوشته شدهاند.
برای استفاده از این روش بهجای گامهای ۶ و ۷ مسیر اوبونتو،
ابتدا مراحل آمادهسازی سرور، دیتابیس و HTTPS را انجام دهید.
پوشه سایت باید فاقد نصب قبلی وردپرس باشد.
sudo chown www-data:www-data /var/www/example.com
sudo -u www-data /usr/local/bin/wp \
--path=/var/www/example.com core download --locale=fa_IR
sudo -u www-data /usr/local/bin/wp \
--path=/var/www/example.com config create \
--dbname=wordpress \
--dbuser=wp_user \
--dbhost=localhost \
--dbcharset=utf8mb4 \
--prompt=dbpass
sudo -u www-data /usr/local/bin/wp \
--path=/var/www/example.com core install \
--url="https://example.com" \
--title="عنوان سایت شما" \
--admin_user="site_manager" \
--admin_email="you@example.com" \
--prompt=admin_password
sudo chmod 640 /var/www/example.com/wp-config.phpدامنه، نام مدیر و ایمیل را جایگزین کنید.
گزینههای prompt رمزها را هنگام اجرا دریافت میکنند تا مجبور نباشید آنها را در متن دستور وارد کنید.
دستورهای وردپرس را با کاربر مناسب سایت اجرا کنید؛ در نمونه تکسایتی ما این کاربر www-data است.
برای بررسی نصب و صحت فایلهای هسته:
sudo -u www-data /usr/local/bin/wp \
--path=/var/www/example.com core is-installed
sudo -u www-data /usr/local/bin/wp \
--path=/var/www/example.com core verify-checksumsبررسی checksum فقط درباره فایلهای هسته است و به معنی تایید امنیت تمام افزونهها،
قالبها یا پیکربندی سرور نیست.
نصب وردپرس روی سرور مجازی ویندوز چگونه انجام میشود؟
وردپرس روی ویندوز سرور نیز قابلاجراست، اما دستورهای اوبونتو روی آن کاربرد ندارند.
اگر سرور ویندوز شما Plesk و WP Toolkit دارد، از مسیر توضیحدادهشده در بخش Plesk استفاده کنید.
این مسیر نیاز به آماده بودن PHP و دیتابیس سازگار دارد.
برای نصب دستی بدون کنترلپنل، باید محیط IIS را جداگانه آماده کنید.
فهرست زیر نقشه راه این روش است، نه جایگزین پیکربندی کامل IIS:
- نقش Web Server (IIS) و قابلیت CGI را از Server Manager نصب کنید.
- نسخه پشتیبانیشده PHP با ساخت Non-Thread Safe و پیشنیازهای آن را نصب کنید.
- در IIS، پردازش فایلهای PHP را با FastCGI و فایل php-cgi.exe تنظیم کنید.
- MariaDB یا MySQL را نصب و یک دیتابیس و کاربر اختصاصی با دسترسی محدود به همان دیتابیس بسازید.
- فایلهای وردپرس را در مسیر یک سایت مجزا قرار دهید و Site Binding دامنه را تنظیم کنید.
- دسترسی پوشهها را برای هویت Application Pool همان سایت تنظیم کنید؛ از دسترسی گسترده Everyone استفاده نکنید.
- گواهی HTTPS، سند پیشفرض index.php و قواعد پیوندهای یکتا را در IIS تنظیم کنید.
- دامنه را باز کنید و نصب وردپرس را با اطلاعات دیتابیس تکمیل کنید.
برای جزئیات اجرای PHP از مستندات رسمی PHP روی IIS استفاده کنید.
هشدار درباره آموزشهای قدیمی:
Web Platform Installer بازنشسته شده است.
آموزشهایی که نصب را به این ابزار یا نسخههای قدیمی و بدون پشتیبانی PHP وابسته میکنند،
نباید بدون بازبینی اجرا شوند.
رفع خطاهای رایج نصب وردپرس روی سرور مجازی
| خطا یا نشانه | موارد قابلبررسی | اقدام اولیه |
|---|---|---|
| Error establishing a database connection | نام دیتابیس، رمز، میزبان یا وضعیت سرویس دیتابیس | اطلاعات wp-config.php و فعال بودن MariaDB را بررسی کنید. |
| صفحه پیشفرض Apache نمایش داده میشود | DNS، ServerName یا VirtualHost اشتباه | دامنه و خروجی apache2ctl -S را بررسی کنید. |
| خطای 403 | دسترسی مسیرها، تنظیم Directory یا نبود فایل index | مالکیت فایلها و لاگ همان سایت را بررسی کنید؛ مجوز 777 ندهید. |
| نوشتهها خطای 404 دارند، اما صفحه اصلی باز میشود | rewrite، فایل .htaccess یا پیوندهای یکتا | فعال بودن rewrite و مجاز بودن .htaccess را بررسی و پیوندهای یکتا را ذخیره کنید. |
| خطای 500 یا صفحه سفید | خطای PHP، افزونه ناسازگار یا تنظیم نادرست | لاگ Apache و PHP را بخوانید؛ خطاها را عمومی نمایش ندهید. |
| مرورگر فایل PHP را دانلود میکند | پردازش PHP توسط وبسرور تنظیم نشده است | دسترسی عمومی سایت را موقتاً متوقف و PHP handler را اصلاح کنید. |
| خطای گواهی یا صدور ناموفق SSL | DNS اشتباه، رکورد AAAA نامعتبر یا بسته بودن پورت | دامنه، فایروال و تنظیمات پراکسی را بررسی کنید. |
| آپلود تصویر یا نصب افزونه ناموفق است | دسترسی wp-content، فضای دیسک یا محدودیت PHP | مالکیت پوشه، فضای خالی و محدودیت آپلود را بررسی کنید. |
برای عیبیابی نمونه اوبونتو این مقاله، دستورهای زیر مفیدند:
sudo apache2ctl -S
sudo apache2ctl configtest
sudo systemctl status apache2 mariadb --no-pager
sudo tail -n 50 /var/log/apache2/example.com-error.log
df -h
free -hلاگها ممکن است اطلاعات حساس داشته باشند؛ پیش از ارسال برای دیگران،
نشانیهای خصوصی، توکنها و اطلاعات ورود را حذف کنید.
اگر فایل PHP بهصورت متن در دسترس قرار گرفته است،
احتمال افشای اطلاعات تنظیمات را هم بررسی و در صورت لزوم رمزها را تغییر دهید.
چکلیست ضروری پس از نصب وردپرس روی VPS
- HTTPS: صفحه اصلی، پیشخوان و فایلهای سایت بدون خطای گواهی بارگذاری شوند.
- انتشار: هنگام آماده شدن سایت، گزینه درخواست عدم ایندکس غیرفعال باشد.
- بهروزرسانی: برای سیستمعامل، وردپرس، قالب و افزونهها برنامه نگهداری داشته باشید.
- بکاپ: فایلها و دیتابیس را خارج از همان VPS نگه دارید و بازیابی را آزمایش کنید.
- حسابها: حساب مدیر مشترک نسازید و در صورت امکان احراز هویت دومرحلهای فعال کنید.
- ایمیل: ارسال فرم تماس و ایمیل بازیابی رمز را واقعاً آزمایش کنید؛ نصب وردپرس تضمین ارسال ایمیل نیست.
- عملکرد: مصرف RAM، CPU، دیسک و زمان پاسخ را زیر بار واقعی پایش کنید.
- کش: کش را متناسب با سایت تنظیم کنید؛ سبد خرید و صفحات شخصی کاربران نباید مانند صفحات عمومی کش شوند.
- افزونهها: افزونههای غیرضروری و منابع نامعتبر را کنار بگذارید.
- آزمون نهایی: ورود، آپلود، فرمها و در فروشگاه، فرایند خرید را بررسی کنید.
برای برنامهریزی حفاظت از اطلاعات، راهنمای بکاپگیری از سرور مجازی و برای تنظیمات زیرساخت، مقاله افزایش امنیت سرور مجازی را مطالعه کنید.

جمعبندی: نصب وردپرس پایان راهاندازی سرور نیست
برای نصب وردپرس روی سرور مجازی، مسیر مناسب به وضعیت سرور و تجربه شما بستگی دارد.
با کنترلپنل، نصب از طریق ابزارهای گرافیکی انجام میشود؛
روی VPS خام، باید وبسرور، PHP، دیتابیس، دامنه و HTTPS را هم آماده کنید.
پس از نصب نیز بکاپ، بهروزرسانی، امنیت و پایش عملکرد را در برنامه نگهداری قرار دهید.
اگر نمیخواهید مسئولیت مدیریت سیستمعامل و سرویسهای سرور را بر عهده بگیرید،
پیش از انتخاب VPS خودمدیریتشده، خدمات مدیریت سرور یا میزبانی مدیریتشده وردپرس را بررسی کنید.
سوالات متداول نصب وردپرس روی سرور مجازی
آیا نصب وردپرس روی VPS بدون کنترلپنل امکانپذیر است؟
بله. میتوانید وبسرور، PHP و دیتابیس را مستقیماً نصب کنید و سپس از نصاب مرورگر
یا WP-CLI استفاده کنید. در این حالت نگهداری و تنظیمات سرور بر عهده شما یا مدیر سرور است.
برای نصب وردپرس در اوبونتو، Apache بهتر است یا Nginx؟
هر دو قابلاستفادهاند. این آموزش از Apache استفاده میکند.
انتخاب نهایی به تجربه تیم، معماری سایت و شیوه نگهداری بستگی دارد.
تنظیمات .htaccess آپاچی مستقیماً روی Nginx اجرا نمیشوند.
آیا آپلود وردپرس با FTP یا SFTP برای راهاندازی سایت کافی است؟
خیر. انتقال فایل فقط یکی از مراحل است.
وبسرور، PHP، دیتابیس، مسیر سایت و دسترسیها باید آماده باشند.
برای انتقال فایل، در صورت فراهم بودن دسترسی، از SFTP بهجای FTP بدون رمزنگاری استفاده کنید.
آیا میتوان وردپرس را ابتدا با IP سرور نصب کرد؟
در برخی پیکربندیها امکان آزمایش با IP وجود دارد،
اما برای سایت نهایی بهتر است نصب با دامنه و HTTPS انجام شود.
شروع با IP ممکن است بعداً به اصلاح نشانیهای ذخیرهشده و تنظیمات سایت نیاز داشته باشد.
آیا وردپرس روی سرور مجازی ویندوز نصب میشود؟
بله؛ به شرط آماده بودن محیط سازگار PHP، دیتابیس و وبسرور.
میتوانید از Plesk دارای WP Toolkit استفاده کنید یا IIS را جداگانه پیکربندی کنید.
چرا بعد از نصب، وردپرس برای بهروزرسانی اطلاعات FTP میخواهد؟
ممکن است مالکیت فایلها یا روش دسترسی فایلسیستم با کاربر اجرای PHP هماهنگ نباشد.
مالکیت و دسترسی مسیر نصب را بررسی کنید؛ وارد کردن اطلاعات FTP یا دادن مجوز 777،
راهحل عمومی این مشکل نیست.
آیا VPS بهتنهایی سرعت وردپرس را بیشتر میکند؟
خیر. نتیجه به منابع، تنظیمات PHP و دیتابیس، کش، قالب، افزونهها و حجم درخواستها بستگی دارد.
یک سرور بدتنظیم ممکن است از میزبانی مدیریتشده مناسب هم کندتر باشد.
نصب جدید وردپرس چه تفاوتی با انتقال سایت به VPS دارد؟
نصب جدید یک سایت خالی ایجاد میکند.
انتقال سایت موجود شامل جابهجایی فایلها و دیتابیس، بررسی تنظیمات،
آزمایش روی مقصد و تغییر کنترلشده DNS است.
برای انتقال، نباید دیتابیس جدید و خالی را جایگزین اطلاعات سایت فعلی کنید.


