نصب وردپرس روی اوبونتو به وبسرور، PHP، دیتابیس و تنظیم درست دامنه نیاز دارد. این مقاله قبلاً برای Ubuntu 20.04 نوشته شده بود؛ پشتیبانی استاندارد آن طبق اطلاعیهٔ اوبونتو در مهٔ ۲۰۲۵ پایان یافته است. برای نگهداری آن باید پوشش ESM/Ubuntu Pro و وضعیت بستهها بررسی شود.
نمونهٔ زیر برای سرور تازهٔ Ubuntu 24.04 LTS، نصب تکسایتی و بستههای رسمی مخزن است. این دستورات راه ارتقای درجا از 20.04 نیستند. روی سرور دارای سایت یا کنترلپنل، پیکربندی موجود را با این نمونه جایگزین نکنید.
پیشنیاز نصب وردپرس روی اوبونتو
به کاربر دارای sudo، دامنهٔ تحت اختیار و مسیر نصب خالی نیاز دارید. نام example.com در تمام مثالها باید با دامنهٔ خودتان عوض شود. رکورد DNS باید به سرور برسد؛ localhost در مرورگر رایانهٔ شما، سرور راهدور نیست.
نیازمندی رسمی وردپرس و سازگاری قالب و افزونهها را بررسی کنید. توصیهٔ جاری شامل PHP 8.3 یا جدیدتر، MySQL 8.0 یا MariaDB 10.11 به بالا و HTTPS است؛ صرف اجرای نسخهٔ قدیمی به معنی محیط مناسب و پشتیبانیشده نیست.
۱. نصب Apache، PHP و MySQL
sudo apt update
sudo apt install apache2 mysql-server libapache2-mod-php php-cli php-mysql php-curl php-gd php-intl php-mbstring php-xml php-zip curl
sudo systemctl status apache2 mysql --no-pager
این روش از ماژول PHP آپاچی استفاده میکند؛ آن را بدون برنامه با پیکربندی PHP-FPM ترکیب نکنید. راهنمای PHP اوبونتو تفاوت بستهها را توضیح میدهد. اگر نصب یا شروع سرویس خطا داشت، پیش از ادامه علت را برطرف کنید.
۲. آمادهسازی فایلهای وردپرس
در پوشهٔ کاری خالی، بستهٔ رسمی را دریافت کنید. مسیر مقصد زیر باید مخصوص همین سایت تازه و خالی باشد:
curl --fail --location --output wordpress.tar.gz https://wordpress.org/latest.tar.gz
sudo mkdir -p /var/www/example.com
sudo tar -xzf wordpress.tar.gz --strip-components=1 -C /var/www/example.com
ls /var/www/example.com/wp-config-sample.php
گزینهٔ strip-components پوشهٔ بیرونی wordpress را حذف میکند تا فایلها مستقیماً در مسیر تعیینشده باشند. استخراج بدون این گزینه مسیر دیگری میسازد؛ DocumentRoot باید با محل واقعی index.php تطبیق داشته باشد.
۳. ساخت دیتابیس اختصاصی
در نصب تازهٔ معمول اوبونتو با sudo mysql وارد محیط MySQL شوید. دستورهای زیر SQL هستند، نه فرمان پوسته. مقدار نمونهٔ رمز را پیش از اجرا با رمز طولانی و یکتای خود عوض کنید:
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'REPLACE_WITH_A_LONG_UNIQUE_PASSWORD';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
EXIT;
مجوز فقط روی دیتابیس wordpress داده میشود، نه تمام دیتابیسهای سرور. از کاربر root برای اتصال برنامه استفاده نکنید. جزئیات حساب و مجوز در مستند MySQL آمده است.
۴. تنظیم wp-config.php و دسترسی فایل
در مسیر نصب، wp-config-sample.php را به wp-config.php کپی کنید و ثابتهای موجود را با اطلاعات واقعی تغییر دهید؛ خط تکراری نسازید:
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', 'REPLACE_WITH_THE_DATABASE_PASSWORD' );
define( 'DB_HOST', 'localhost' );
کلیدها و saltهای نصب را نیز مطابق راهنمای رسمی نصب وردپرس یکتا تنظیم کنید. این فایل حاوی اطلاعات محرمانه است و نسخهٔ پشتیبان آن نباید در مسیر عمومی بماند.
کدها تحت مالکیت کاربر استقرار باشند و وبسرور فقط دسترسی لازم را داشته باشد. برای پوشهٔ uploads، نوشتن کاربر اجرای PHP لازم است. مجوز 777 ندهید. اگر کد برای وبسرور فقط خواندنی است، بهروزرسانی را از مسیر استقرار مجاز انجام دهید؛ راهنمای سختسازی وردپرس این تفکیک را شرح میدهد.
۵. تعریف VirtualHost و HTTPS
فایل /etc/apache2/sites-available/example.com.conf را با نمونهٔ زیر برای آزمون اولیهٔ HTTP بسازید:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/example.com
<Directory /var/www/example.com>
Options -Indexes +FollowSymLinks
AllowOverride FileInfo
DirectoryIndex index.php
Require all granted
</Directory>
</VirtualHost>
VirtualHost رکورد DNS ایجاد نمیکند. سایت را فعال و پیکربندی را بررسی کنید:
sudo a2ensite example.com.conf
sudo a2enmod rewrite
sudo apache2ctl configtest
فقط پس از نتیجهٔ موفق، sudo systemctl reload apache2 را اجرا کنید. سایت پیشفرض یا سایت دیگر را بدون بررسی غیرفعال نکنید. پیش از واردکردن اطلاعات نصب در اینترنت عمومی، گواهی معتبر و HTTPS را طبق راهنمای TLS اوبونتو برقرار و تمدید آن را تنظیم کنید.
۶. نصب و کنترل پایان کار
نصب را از دامنهٔ واقعی با HTTPS کامل کنید. حساب مدیر وردپرس مستقل از حساب دیتابیس است. سپس ورود، بارگذاری تصویر، پیوند یکتای یک نوشته و ارسال ایمیل را بررسی کنید. اگر .htaccess قابلنوشتن نیست، قواعدی را که وردپرس نشان میدهد با دسترسی مجاز درج کنید.
نمایش متن PHP نشانهٔ تنظیم ناقص اجراست؛ قبل از ادامه آن را رفع کنید. در خطای اتصال دیتابیس، میزبان، نام، رمز و مجوز همان حساب را بررسی کنید. فایل تشخیصی عمومی باقی نگذارید و برای بهروزرسانی سیستم، وردپرس و بازیابی برنامه داشته باشید.
مطالعهٔ مرتبط
بازبینی فنی: ۱۳ آبان ۱۴۰۵. تاریخ انتشار اولیه و نشانی قبلی حفظ شدهاند.