نصب وردپرس روی لینوکس

اگر دنبال راه‌اندازی یک سایت وردپرسی «واقعاً قابل اتکا» هستید، لینوکس بهترین نقطه شروع است: هم روی هاست اشتراکی (مثل هاست لینوکس با cPanel) و هم روی سرور مجازی (VPS) یا سرور اختصاصی. اما یک نکته مهم وجود دارد: عبارت «نصب وردپرس روی لینوکس» برای خیلی‌ها یعنی یکی از این دو سناریو:

  • نصب وردپرس روی هاست لینوکس (معمولاً با cPanel و File Manager یا نصب خودکار)
  • نصب وردپرس روی سرور لینوکس (مثلاً اوبونتو) با پشته‌های نرم‌افزاری مثل LAMP یا LEMP

در این آموزش، هر دو مسیر را طوری توضیح می‌دهم که اگر مبتدی هم باشید بتوانید جلو بروید، و اگر حرفه‌ای‌تر هستید، نکات امنیتی و تنظیمات مهم را از قلم نیندازید. همچنین یک بخش کامل «عیب‌یابی» داریم تا اگر با خطاهای دیتابیس، مجوزها، ریدایرکت، آپلود و… مواجه شدید سریع حلش کنید.

قبل از نصب: کدام نوع «لینوکس» دارید؟ هاست یا سرور؟

قبل از اینکه فایل وردپرس را دانلود کنید، اول مشخص کنید کجا قرار است نصب کنید. چون مراحل، ابزارها و سطح دسترسی متفاوت است:

سناریو دسترسی شما روش نصب رایج مناسب برای
هاست لینوکس با cPanel کنترل پنل + File Manager/FTP نصب دستی یا نصب‌کننده خودکار اکثر سایت‌های شخصی/شرکتی
VPS لینوکس (اوبونتو) SSH و sudo LAMP (Apache) یا LEMP (Nginx) سایت‌های جدی‌تر/نیازمند کنترل بیشتر
سرور اختصاصی لینوکس کامل (Root/SSH) پیکربندی سفارشی + امنیت بیشتر ترافیک بالا/نیاز خاص
لوکال روی لینوکس (لپ‌تاپ/کامپیوتر) کامل Docker یا LAMP محلی تست و توسعه
هاست مدیریت‌شده وردپرس محدود اما ساده اغلب نصب آماده کسانی که نمی‌خواهند درگیر فنی شوند
سرور ابری معمولاً کامل مثل VPS + اسکیل رشدپذیری و انعطاف

اگر هاست لینوکس دارید، به بخش «نصب روی هاست لینوکس (cPanel)» بروید. اگر VPS/اوبونتو دارید، بخش «نصب روی اوبونتو با LAMP» یا «LEMP» را دنبال کنید.

نمای کلی مراحل نصب وردپرس روی لینوکس از آماده سازی تا اجرای نصب در مرورگر

پیش نیازهای نصب وردپرس روی لینوکس (چک لیست سریع)

چه روی هاست باشید چه روی سرور، این‌ها را آماده کنید تا وسط کار گیر نکنید:

  • دامنه (یا حداقل IP برای تست)
  • دسترسی به هاست/سرور: cPanel یا SSH
  • پایگاه داده: MySQL یا MariaDB
  • PHP (روی سرور باید نصب شود؛ روی هاست معمولاً آماده است)
  • فایل‌های وردپرس (ترجیحاً نسخه فارسی/آخرین نسخه)
  • گواهی SSL (بعد از نصب هم می‌شود، اما بهتر است از ابتدا HTTPS داشته باشید)

نکته مهم امنیتی: دیتابیس وردپرس را با کاربر جداگانه بسازید. با کاربر root دیتابیس سایت را اجرا نکنید.

روش اول: نصب وردپرس روی هاست لینوکس (cPanel) به صورت دستی

این روش برای وقتی عالی است که بخواهید همه چیز دست خودتان باشد (نام دیتابیس، مسیر نصب، تنظیمات اولیه و…)، و در عین حال پیچیدگی سرور را هم ندارید.

مرحله ۱: دانلود وردپرس و آماده سازی فایل‌ها

فایل ZIP وردپرس را دانلود کنید و روی کامپیوتر نگه دارید. اگر قصد دارید وردپرس در ریشه دامنه نصب شود، باید فایل‌ها در پوشه public_html قرار بگیرند. اگر می‌خواهید در یک زیرپوشه مثل /blog باشد، داخل همان پوشه قرار می‌گیرد.

مرحله ۲: آپلود وردپرس در File Manager یا با FTP

داخل cPanel وارد File Manager شوید:

  • به public_html بروید
  • فایل ZIP وردپرس را آپلود کنید
  • روی فایل راست کلیک کنید و Extract بزنید

اگر بعد از استخراج یک پوشه به نام wordpress ایجاد شد و شما می‌خواهید سایت در روت دامنه باشد، فایل‌های داخل پوشه wordpress را یک سطح بالاتر (public_html) منتقل کنید.

مرحله ۳: ساخت دیتابیس و کاربر در MySQL Databases

در cPanel بخش MySQL Databases را باز کنید و این کارها را انجام دهید:

  1. یک دیتابیس بسازید (مثلاً: site_db)
  2. یک کاربر بسازید (مثلاً: site_user) و رمز قوی تعیین کنید
  3. کاربر را به دیتابیس اضافه کنید و دسترسی ALL PRIVILEGES بدهید

رمز قوی یعنی ترکیبی از حروف بزرگ/کوچک، عدد و کاراکترهای خاص، و ترجیحاً طول بالا.

مرحله ۴: اجرای نصب از طریق مرورگر

حالا در مرورگر بروید به:

  • اگر در روت نصب کرده‌اید: https://yourdomain.com
  • اگر در زیرپوشه نصب کرده‌اید: https://yourdomain.com/wordpress (یا نام پوشه شما)

فرم نصب وردپرس از شما این موارد را می‌خواهد:

  • Database Name
  • Database Username
  • Database Password
  • Database Host (معمولاً localhost)
  • Table Prefix (پیشنهاد: پیشوند پیش‌فرض را کمی تغییر دهید)

در مرحله بعد عنوان سایت، نام کاربری مدیر، رمز عبور و ایمیل را وارد کنید. تمام.

مرحله ۵: تنظیمات ضروری بعد از نصب (روی هاست)

بلافاصله بعد از ورود به پیشخوان:

  • پیوندهای یکتا را تنظیم کنید (تنظیمات → پیوندهای یکتا)
  • یک افزونه امنیتی/کش معتبر نصب کنید (در حد نیاز؛ زیاده‌روی نکنید)
  • زبان، منطقه زمانی و ساختار نوشته‌ها را بررسی کنید
  • SSL را فعال کنید و آدرس سایت را روی https تنظیم کنید

روش دوم: نصب وردپرس روی هاست لینوکس با نصب کننده خودکار (وقتی عجله دارید)

خیلی از هاست‌ها ابزار نصب خودکار دارند. مزیتش سرعت است، اما گاهی کنترل کامل روی جزئیات (مثل ساختار فایل‌ها یا تنظیمات امنیتی) کمتر می‌شود.

اگر از نصب‌کننده استفاده کردید، باز هم این موارد را دستی چک کنید:

  • HTTPS واقعاً فعال شده باشد
  • نام کاربری مدیر «admin» نباشد
  • رمز عبور قوی باشد
  • نسخه PHP مناسب باشد و افزونه‌های ضروری فعال باشند

نمای نصب وردپرس روی هاست لینوکس در سی پنل شامل ساخت دیتابیس و اجرای نصب

روش سوم: نصب وردپرس روی سرور لینوکس (اوبونتو) با LAMP (Apache)

اگر VPS دارید، معمولاً بهترین مسیر برای مبتدی تا نیمه‌حرفه‌ای استفاده از LAMP است:

  • Linux: سیستم‌عامل (اوبونتو)
  • Apache: وب‌سرور
  • MySQL/MariaDB: دیتابیس
  • PHP: اجرای وردپرس

در این بخش، فرض می‌کنیم اوبونتو دارید و از طریق SSH وارد شده‌اید و دسترسی sudo دارید.

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

ابتدا بسته‌ها را آپدیت کنید (نمونه دستور):

sudo apt update && sudo apt upgrade -y

مرحله ۲: نصب و فعال سازی Apache

sudo apt install apache2 -y
sudo systemctl enable apache2
sudo systemctl start apache2

حالا IP سرور را در مرورگر بزنید؛ اگر صفحه پیش‌فرض Apache آمد یعنی OK است.

مرحله ۳: نصب دیتابیس (MariaDB یا MySQL) و ایمن سازی

sudo apt install mariadb-server -y
sudo systemctl enable mariadb
sudo systemctl start mariadb

برای امن‌تر کردن تنظیمات اولیه دیتابیس:

sudo mysql_secure_installation

در این مرحله معمولاً رمز روت، حذف کاربر ناشناس، حذف دیتابیس تست و… انجام می‌شود.

مرحله ۴: نصب PHP و افزونه های لازم وردپرس

وردپرس روی PHP اجرا می‌شود و برای کارکرد درست به چند افزودنی (Extension) نیاز دارد. یک مجموعه رایج:

sudo apt install php php-mysql php-xml php-curl php-gd php-mbstring php-zip -y

برای تست سریع می‌توانید یک فایل info بسازید (بعداً حتماً حذفش کنید):

echo "<?php phpinfo();" | sudo tee /var/www/html/info.php

سپس در مرورگر /info.php را باز کنید. بعد از اطمینان، فایل را حذف کنید:

sudo rm /var/www/html/info.php

مرحله ۵: ساخت دیتابیس و کاربر مخصوص وردپرس

وارد محیط دیتابیس شوید:

sudo mariadb

نمونه دستورات (نام‌ها را با مقدارهای خودتان جایگزین کنید):

CREATE DATABASE wp_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'STRONG_PASSWORD_HERE';
GRANT ALL PRIVILEGES ON wp_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

مرحله ۶: دانلود وردپرس و قرار دادن در مسیر وب سرور

ابزارهای لازم:

sudo apt install wget tar -y

دانلود و استخراج:

cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz

انتقال فایل‌ها به مسیر وب‌سایت (یک مسیر استاندارد):

sudo mkdir -p /var/www/your-site
sudo rsync -avP /tmp/wordpress/ /var/www/your-site/

مرحله ۷: تنظیم مالکیت و مجوزهای فایل ها (خیلی مهم)

اگر مجوزها اشتباه باشد، با خطاهای آپلود، نصب افزونه/قالب، یا ۵۰۰ مواجه می‌شوید. تنظیم پیشنهادی رایج:

sudo chown -R www-data:www-data /var/www/your-site
sudo find /var/www/your-site -type d -exec chmod 755 {} \;
sudo find /var/www/your-site -type f -exec chmod 644 {} \;

و برای پوشه آپلود:

sudo mkdir -p /var/www/your-site/wp-content/uploads
sudo chown -R www-data:www-data /var/www/your-site/wp-content/uploads

مرحله ۸: ساخت VirtualHost در Apache و فعال سازی rewrite

برای اینکه دامنه شما به مسیر سایت وصل شود، یک فایل پیکربندی میزبان مجازی بسازید (نمونه):

sudo nano /etc/apache2/sites-available/your-site.conf

محتوای نمونه (بر اساس نیازتان تنظیم کنید):

<VirtualHost *:80>
  ServerName yourdomain.com
  ServerAlias www.yourdomain.com
  DocumentRoot /var/www/your-site

  <Directory /var/www/your-site>
    AllowOverride All
    Require all granted
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/your-site_error.log
  CustomLog ${APACHE_LOG_DIR}/your-site_access.log combined
</VirtualHost>

فعال‌سازی سایت و ماژول rewrite:

sudo a2ensite your-site.conf
sudo a2enmod rewrite
sudo a2dissite 000-default.conf
sudo systemctl reload apache2

مرحله ۹: اجرای نصب وردپرس در مرورگر و تکمیل setup

حالا دامنه یا IP را باز کنید. صفحه نصب وردپرس بالا می‌آید و اطلاعات دیتابیس را وارد می‌کنید. اگر دامنه هنوز تنظیم نشده، می‌توانید موقتاً با IP تست کنید، اما برای راه‌اندازی نهایی بهتر است دامنه و DNS آماده باشد.

نصب وردپرس روی اوبونتو با LAMP شامل Apache و MariaDB و تنظیم دسترسی فایل ها

روش چهارم: نصب وردپرس روی سرور لینوکس با LEMP (Nginx) چه زمانی بهتر است؟

LEMP یعنی:

  • Linux
  • Nginx (جایگزین Apache)
  • MySQL/MariaDB
  • PHP-FPM

بعضی سرورها با Nginx سبک‌تر و سریع‌تر پاسخ می‌دهند، مخصوصاً وقتی بهینه‌سازی‌ها درست انجام شود. اما برای مبتدی‌ها، تنظیماتش کمی حساس‌تر است (خصوصاً تنظیمات Permalink و قوانین rewrite).

اگر شرایط زیر را دارید، LEMP گزینه خوبی است:

  • می‌خواهید کنترل بیشتری روی کش و استاتیک‌ها داشته باشید
  • سایت پرترافیک‌تر است یا منابع محدود دارید
  • با فایل‌های کانفیگ راحت هستید

اگر هنوز تازه‌کارید یا هدف فقط راه‌اندازی سریع است، LAMP کارتان را ساده‌تر می‌کند.

فایل wp-config.php: تنظیماتی که بهتر است بشناسید (نه لزوماً همه را تغییر دهید)

وردپرس هنگام نصب، فایل wp-config.php را می‌سازد (یا از شما می‌خواهد اطلاعات را بدهید). چند نکته کاربردی:

  • DB_NAME/DB_USER/DB_PASSWORD: دقیقاً مطابق دیتابیس
  • DB_HOST: معمولاً localhost، مگر اینکه دیتابیس جدا باشد
  • Character Set: بهتر است utf8mb4 باشد تا ایموجی و کاراکترهای خاص مشکلی نداشته باشند
  • Authentication Unique Keys: کلیدهای امنیتی که بهتر است وجود داشته باشند (نصب‌کننده معمولاً اضافه می‌کند)

اگر بعد از نصب، خطای دیتابیس دارید، اولین جایی که باید چک کنید همین فایل است.

بعد از نصب: چک لیست طلایی راه اندازی اصولی (کارهایی که خیلی ها انجام نمی دهند)

نصب که تمام شد، تازه «شروعِ» یک وردپرس سالم است. این چک‌لیست را جدی بگیرید:

  1. SSL و HTTPS: آدرس‌های سایت را یکپارچه کنید (همه چیز روی https)
  2. نام کاربری مدیر: اگر admin گذاشته‌اید، عوضش کنید
  3. رمزهای قوی برای مدیر و دیتابیس
  4. آپدیت‌ها: وردپرس، قالب، افزونه‌ها
  5. پشتیبان گیری: یک روال بکاپ‌گیری داشته باشید
  6. کاهش افزونه‌های اضافی: هر افزونه یعنی سطح حمله و بار بیشتر
  7. تنظیم پیوندهای یکتا و تست صفحات (خطای ۴۰۴ نداشته باشید)
  8. بهینه سازی تصاویر چون از همان روز اول روی سرعت سایت اثر می‌گذارد

برای اینکه بخش تصاویر را اصولی جلو ببرید، این راهنما در ایمیجلی کمک‌تان می‌کند: راهنمای عملی بهینه سازی تصاویر. (تصاویر سنگین یکی از رایج‌ترین دلایل کندی سایت‌های تازه‌راه‌اندازی‌شده هستند.)

نکات عملکرد و سرعت: چرا همین اول باید به تصاویر و فرمت ها فکر کنید؟

خیلی‌ها وردپرس را نصب می‌کنند، بعد با چند عکس حجیم (مثلاً عکس‌های دوربین یا فایل‌های ۴–۵ مگابایتی) سایت را کند می‌کنند و تازه بعد دنبال راه‌حل می‌گردند. اگر از ابتدا اصولی پیش بروید:

  • صفحات سریع‌تر لود می‌شوند
  • تجربه کاربر بهتر می‌شود
  • مهم‌تر: مسیر سئو راحت‌تر می‌شود، چون سرعت یکی از پایه‌هاست

یکی از کلیدی‌ترین تصمیم‌ها انتخاب فرمت درست عکس است. مثلاً فرمت WebP معمولاً (بسته به نوع تصویر) حجم را کمتر می‌کند و کیفیت خوبی هم می‌دهد. همچنین اگر درباره انتخاب فرمت برای سئو دو دل هستید، این مطلب هم به دردتان می‌خورد: بهترین فرمت تصویر برای سئو.

نمایی از مراحل نهایی نصب وردپرس روی لینوکس و ورود به پیشخوان

عیب یابی نصب وردپرس روی لینوکس: خطاهای رایج و راه حل سریع

اگر نصب طبق مراحل جلو نرفت، معمولاً مشکل در یکی از همین چند مورد است. این بخش را مثل «جعبه ابزار نجات» نگه دارید.

خطای Error establishing a database connection

یعنی وردپرس به دیتابیس وصل نمی‌شود. سریع چک کنید:

  • نام دیتابیس/کاربر/رمز در wp-config.php صحیح است؟
  • DB_HOST درست است؟ (روی هاست معمولاً localhost)
  • کاربر واقعاً به دیتابیس دسترسی دارد؟ (GRANT / ALL PRIVILEGES)
  • سرویس دیتابیس روشن است؟ (روی VPS: systemctl status mariadb/mysql)

صفحه سفید (White Screen) یا خطای ۵۰۰

اغلب مربوط به یکی از این‌هاست:

  • خطای PHP یا کمبود حافظه
  • مجوز فایل‌ها اشتباه است
  • قوانین rewrite/htaccess مشکل دارد (به‌خصوص بعد از تغییر پیوندهای یکتا)

راه سریع:

  • لاگ‌های سرور را بررسی کنید (Apache/Nginx error logs)
  • مجوزها را به حالت استاندارد برگردانید (پوشه ۷۵۵، فایل ۶۴۴)
  • افزونه‌ها را موقتاً غیرفعال کنید (تغییر نام پوشه plugins)

آپلود عکس/نصب افزونه انجام نمی شود (Permission/FTP)

این مشکل روی VPS بیشتر دیده می‌شود. معمولاً مالکیت فایل‌ها درست نیست. مطمئن شوید مالک مسیر سایت کاربر وب‌سرور است (مثلاً www-data). اگر وردپرس از شما FTP می‌خواهد، یعنی دسترسی نوشتن ندارد.

پیوندهای یکتا کار نمی کند (۴۰۴ روی نوشته ها)

اگر Apache دارید، باید:

  • ماژول rewrite فعال باشد
  • در VirtualHost گزینه AllowOverride All فعال باشد

اگر Nginx دارید، باید قوانین permalink را در کانفیگ server block درست تنظیم کنید.

مشکل ریدایرکت بین http و https یا www و غیر www

این مشکل بعد از فعال کردن SSL زیاد پیش می‌آید. کارهای پیشنهادی:

  • در تنظیمات وردپرس، WordPress Address و Site Address را یکسان و روی https تنظیم کنید
  • قواعد ریدایرکت را فقط در یک جا اعمال کنید (یا وب‌سرور، یا افزونه؛ نه هر دو)
  • کش را پاک کنید

سایت بالا می آید اما کند است

کندی تازه بعد از نصب معمولاً از این‌هاست:

  • قالب سنگین
  • عکس‌های حجیم
  • هاست ضعیف یا منابع محدود VPS
  • عدم استفاده از کش

از همان ابتدا تصاویر را درست آپلود کنید (ابعاد مناسب، فشرده‌سازی، فرمت درست مثل WebP، و بارگذاری تنبل یا Lazy Load در صورت نیاز).

سوالات متداول

برای نصب وردپرس روی لینوکس بهتر است هاست بگیرم یا VPS؟

اگر هدف‌تان راه‌اندازی سریع و ساده است و نمی‌خواهید درگیر SSH و کانفیگ شوید، هاست لینوکس گزینه بهتر و کم‌دردسرتری است. اما اگر کنترل، امنیت بیشتر و امکان تنظیمات حرفه‌ای‌تر می‌خواهید، VPS انتخاب مناسب‌تری است.

نصب وردپرس روی هاست لینوکس بدون cPanel هم ممکن است؟

بله. اگر کنترل‌پنل دیگری داشته باشید (مثل DirectAdmin) مراحل کلی مشابه است: آپلود فایل‌ها، ساخت دیتابیس، و اجرای نصب در مرورگر. فقط نام منوها و مسیرها فرق می‌کند.

برای نصب وردپرس روی سرور لینوکس LAMP بهتر است یا LEMP؟

برای شروع، LAMP معمولاً ساده‌تر است و خطایابی راحت‌تری دارد. LEMP (با Nginx) می‌تواند سبک‌تر باشد، ولی تنظیمات permalink و PHP-FPM نیاز به دقت بیشتری دارد. اگر تازه‌کارید، LAMP انتخاب امن‌تری است.

اگر هنگام نصب وردپرس روی لینوکس خطای دیتابیس گرفتم چه کنم؟

اول wp-config.php را بررسی کنید (نام دیتابیس، نام کاربر، رمز و DB_HOST). بعد مطمئن شوید کاربر دسترسی کافی دارد و سرویس دیتابیس روشن است. روی هاست هم مطمئن شوید کاربر به دیتابیس Add شده و ALL PRIVILEGES دارد.

بعد از نصب وردپرس روی لینوکس چه کارهایی برای امنیت ضروری است؟

حداقل کارهای ضروری: فعال کردن SSL، انتخاب نام کاربری غیرقابل حدس، رمز قوی، آپدیت منظم، محدود کردن افزونه‌های اضافی، و داشتن بکاپ. اگر روی VPS هستید، تنظیم مجوز فایل‌ها و آپدیت سیستم‌عامل هم خیلی مهم است.