آموزش نصب Drupal 10 و Drupal 11 روی سرور؛ راهنمای کامل نصب دروپال + ویدئو

👤 نویسنده: reza 📅 ⏱ زمان مطالعه: 18 دقیقه
نصب Drupal 10 و Drupal 11

آموزش نصب Drupal 10 و Drupal 11

Drupal یکی از قدرتمندترین سیستم‌های مدیریت محتوای متن‌باز برای راه‌اندازی وب‌سایت‌های حرفه‌ای، سازمانی، خبری، فروشگاهی و پورتال‌های بزرگ است. برخلاف بسیاری از CMSهای ساده، دروپال معماری ماژولار و انعطاف‌پذیری دارد و می‌توان ساختار محتوا، کاربران، دسترسی‌ها، API، Views، جست‌وجو و بسیاری از بخش‌های سایت را متناسب با نیاز پروژه توسعه داد.

در این آموزش، نصب Drupal 10 و Drupal 11 را به‌صورت مرحله‌به‌مرحله بررسی می‌کنیم؛ از آماده‌سازی سرور و نصب PHP و دیتابیس گرفته تا دانلود Drupal با Composer، ایجاد دیتابیس، اجرای نصب از طریق مرورگر، تنظیم مجوزها، فعال‌سازی SSL و اقدامات ضروری پس از نصب.

اگر قصد راه‌اندازی یک سایت جدید را دارید، در شرایط فعلی Drupal 11 انتخاب مناسب‌تری است؛ شاخه Drupal 11.4.x برای توسعه سایت‌های جدید هدف قرار گرفته و تا ژوئن ۲۰۲۷ پشتیبانی امنیتی خواهد داشت.


Drupal 10 یا Drupal 11؛ کدام نسخه را نصب کنیم؟

یکی از اولین سؤال‌ها قبل از نصب دروپال این است که از Drupal 10 استفاده کنیم یا Drupal 11.

برای پروژه‌های جدید، پیشنهاد کلی استفاده از Drupal 11 است؛ البته در صورتی که ماژول‌ها و قالب‌های مورد نیاز پروژه با Drupal 11 سازگار باشند.

Drupal 10 همچنان برای پروژه‌هایی که به دلیل سازگاری ماژول‌ها، قالب‌ها یا کدهای اختصاصی نمی‌توانند به Drupal 11 مهاجرت کنند، کاربرد دارد. با این حال Drupal 10.6 آخرین شاخه فرعی Drupal 10 است و پایان عمر Drupal 10 برای ۹ دسامبر ۲۰۲۶ تعیین شده است.

مقایسه سریع Drupal 10 و Drupal 11

ویژگیDrupal 10Drupal 11
PHP حداقل8.18.3
MySQL5.7.8+8.0+
MariaDB10.3.7+10.6+
PostgreSQL12+16+
SQLite3.26+3.45+
Composer2.3.6+نسخه‌های جدید Composer
مناسب پروژه جدیدقابل استفادهپیشنهاد اصلی
وضعیت آیندهپایان پشتیبانی در 2026شاخه اصلی فعلی

نیازمندی‌های دیتابیس و PHP مطابق مستندات رسمی Drupal هستند.


پیش‌نیازهای نصب Drupal

قبل از شروع نصب باید سرور شما شرایط لازم را داشته باشد.

Drupal روی Apache و Nginx قابل اجرا است و برای یک سایت واقعی بهتر است از Linux استفاده شود. مستندات رسمی Drupal نیز Linux یا سیستم‌های مشابه را برای میزبانی پیشنهاد می‌کنند.

یک ترکیب پیشنهادی برای سرور:

  • Ubuntu 22.04 یا Ubuntu 24.04
  • Nginx یا Apache
  • PHP 8.3 یا 8.4 برای Drupal 11
  • MySQL 8 یا MariaDB 10.6+
  • Composer
  • SSL/HTTPS
  • حداقل 1GB RAM برای کارهای Composer
  • فضای دیسک کافی برای فایل‌های سایت، دیتابیس، رسانه‌ها و Backup

Drupal حداقل 1GB حافظه برای اجرای Composer را توصیه می‌کند و مقدار RAM مورد نیاز در سایت‌های بزرگ‌تر با توجه به ماژول‌ها و سرویس‌هایی مانند Solr و Memcached افزایش پیدا می‌کند.


نیازمندی‌های PHP در Drupal 10 و Drupal 11

یکی از مهم‌ترین تفاوت‌های Drupal 10 و Drupal 11 نسخه PHP است.

Drupal 10 حداقل به PHP 8.1 نیاز دارد، در حالی که Drupal 11 به PHP 8.3 نیاز دارد. در شاخه‌های فعلی Drupal 11، PHP 8.4 نیز گزینه مناسبی است.

برای Drupal 11 بهتر است سرور جدید را روی PHP 8.4 تنظیم کنید؛ البته باید سازگاری ماژول‌ها و نرم‌افزارهای جانبی پروژه نیز بررسی شود.

برخی افزونه‌های مهم PHP عبارت‌اند از:

php-cli
php-curl
php-gd
php-mbstring
php-mysql
php-xml
php-zip
php-intl
php-opcache

Drupal برای ارتباط با دیتابیس به PDO و Driver مناسب دیتابیس نیاز دارد.


نصب PHP و ابزارهای مورد نیاز در Ubuntu

اگر سرور شما Ubuntu است، ابتدا سیستم را به‌روزرسانی کنید:

sudo apt update
sudo apt upgrade -y

برای نصب PHP و افزونه‌های رایج Drupal می‌توانید از دستور زیر استفاده کنید:

sudo apt install -y \
php \
php-cli \
php-fpm \
php-curl \
php-gd \
php-mbstring \
php-mysql \
php-xml \
php-zip \
php-intl \
php-opcache \
unzip \
git \
curl

سپس نسخه PHP را بررسی کنید:

php -v

برای Drupal 11 خروجی باید حداقل PHP 8.3 باشد.


نصب Composer

Drupal برای پروژه‌های مدرن خود استفاده از Composer را توصیه می‌کند. Composer وابستگی‌های Drupal، ماژول‌ها، قالب‌ها و کتابخانه‌های PHP را مدیریت می‌کند.

روش پیشنهادی Drupal برای ایجاد پروژه جدید استفاده از پکیج:

drupal/recommended-project

است. این روش همچنین ساختار پروژه‌ای ایجاد می‌کند که فایل‌های قابل دسترسی از وب در پوشه web قرار می‌گیرند.

ابتدا Composer را بررسی کنید:

composer --version

اگر Composer نصب نیست، می‌توان آن را از روش رسمی Composer نصب کرد.

پس از نصب:

composer --version

را اجرا کنید و مطمئن شوید نسخه Composer به‌روز و سازگار با PHP سرور است.


نصب Drupal 11 با Composer

برای یک پروژه جدید، روش پیشنهادی این است که Drupal را با Composer نصب کنیم.

مثلاً:

cd /var/www

composer create-project drupal/recommended-project:^11 mysite

در این مثال پروژه داخل مسیر زیر ایجاد می‌شود:

/var/www/mysite

ساختار پروژه معمولاً چیزی شبیه این خواهد بود:

mysite/
├── composer.json
├── composer.lock
├── vendor/
└── web/
    ├── core/
    ├── modules/
    ├── profiles/
    ├── sites/
    └── themes/

نکته بسیار مهم این است که در این ساختار، Document Root وب‌سرور باید روی پوشه web قرار بگیرد، نه روی ریشه پروژه.

یعنی اگر پروژه در این مسیر قرار دارد:

/var/www/mysite

ریشه وب باید:

/var/www/mysite/web

باشد.

این ساختار از نظر امنیتی و مدیریت وابستگی‌ها بسیار بهتر از قرار دادن کل پروژه Composer در معرض وب است.


نصب Drupal 10 با Composer

برای نصب Drupal 10 نیز روش Composer مشابه است.

مثلاً:

cd /var/www

composer create-project drupal/recommended-project:^10 mysite

Composer نسخه سازگار Drupal 10 و وابستگی‌های آن را دریافت می‌کند.

در پروژه‌های واقعی بهتر است به‌جای نصب نسخه‌ای که صرفاً با یک Constraint کلی انتخاب می‌شود، وضعیت نسخه‌های موجود و سازگاری ماژول‌های پروژه را نیز بررسی کنید.

مستندات رسمی Drupal نیز استفاده از drupal/recommended-project را برای Drupal 10 و 11 توصیه می‌کند.


نصب Drupal با فایل ZIP

روش دوم نصب Drupal استفاده از فایل ZIP است.

در این روش ابتدا نسخه مورد نظر Drupal را از سایت رسمی دریافت می‌کنید، فایل را استخراج کرده و فایل‌های Drupal را داخل Document Root سرور قرار می‌دهید.

این روش برای بعضی هاست‌های اشتراکی و محیط‌هایی که Composer در دسترس نیست مناسب است.

با این حال برای پروژه‌های حرفه‌ای و قابل توسعه، Composer انتخاب بهتری است؛ زیرا Drupal و وابستگی‌های آن را مدیریت می‌کند و فرآیند نصب و به‌روزرسانی ماژول‌ها را استانداردتر می‌کند.


ایجاد دیتابیس برای Drupal

پس از آماده‌سازی PHP باید دیتابیس ایجاد شود.

برای Drupal 11 می‌توانید از MySQL 8 یا MariaDB 10.6 به بالا استفاده کنید. PostgreSQL 16 و SQLite 3.45 نیز در نسخه‌های فعلی Drupal 11 پشتیبانی می‌شوند.

برای مثال در MySQL:

CREATE DATABASE drupal_db
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;

CREATE USER 'drupal_user'@'localhost'
IDENTIFIED BY 'StrongPasswordHere';

GRANT ALL PRIVILEGES
ON drupal_db.*
TO 'drupal_user'@'localhost';

FLUSH PRIVILEGES;

اطلاعات زیر را برای مرحله نصب نگه دارید:

Database name: drupal_db
Username: drupal_user
Password: StrongPasswordHere
Host: localhost

برای سایت واقعی حتماً از یک رمز عبور طولانی و تصادفی استفاده کنید.


اجرای نصب Drupal از طریق مرورگر

پس از قرار دادن فایل‌های Drupal و تنظیم Virtual Host، آدرس دامنه خود را در مرورگر باز کنید.

مثلاً:

https://example.com

اگر تنظیمات درست باشد، صفحه نصب Drupal نمایش داده می‌شود.

فرآیند نصب معمولاً شامل مراحل زیر است:

  1. انتخاب زبان
  2. انتخاب Installation Profile
  3. بررسی نیازمندی‌ها
  4. تنظیم دیتابیس
  5. نصب سایت
  6. تنظیم اطلاعات سایت

مرحله اول؛ انتخاب زبان

در اولین مرحله زبان مورد نظر را انتخاب کنید.

برای سایت فارسی می‌توانید زبان فارسی را انتخاب کنید.

پس از انتخاب زبان روی:

Save and continue

کلیک کنید.

در این مرحله Drupal فایل‌های زبان مورد نیاز را دریافت یا آماده می‌کند و شما وارد مرحله بعد می‌شوید.


مرحله دوم؛ انتخاب Installation Profile

Drupal در زمان نصب از شما می‌خواهد Installation Profile را انتخاب کنید.

در بسیاری از پروژه‌ها استفاده از پروفایل استاندارد نقطه شروع مناسبی است.

اما اگر قصد دارید سایت را از ابتدا به‌صورت کاملاً سفارشی پیاده‌سازی کنید، انتخاب پروفایل مناسب به معماری پروژه بستگی دارد.

در نسخه‌های جدید Drupal 11 برخی تغییرات در محتوای پیش‌فرض Installation Profile استاندارد اعمال شده است؛ بنابراین نباید تصور کرد که همه Content Typeهای سنتی دقیقاً مانند نسخه‌های قدیمی در نصب اولیه ایجاد می‌شوند.


مرحله سوم؛ بررسی نیازمندی‌های Drupal

Drupal قبل از شروع نصب، سرور را بررسی می‌کند.

مواردی مانند:

  • نسخه PHP
  • افزونه‌های PHP
  • دسترسی فایل‌ها
  • دیتابیس
  • تنظیمات وب‌سرور
  • قابلیت‌های لازم PHP

بررسی می‌شوند.

اگر مشکلی وجود داشته باشد Drupal معمولاً آن را در همین مرحله نمایش می‌دهد.

برای مثال اگر PHP سرور روی 8.2 باشد و قصد نصب Drupal 11 را داشته باشید، نصب متوقف خواهد شد؛ زیرا Drupal 11 به PHP 8.3 یا بالاتر نیاز دارد.


مرحله چهارم؛ اتصال Drupal به دیتابیس

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

مثلاً:

Database type: MySQL
Database name: drupal_db
Database username: drupal_user
Database password: ********
Database host: localhost

اگر دیتابیس روی سرور دیگری قرار دارد، مقدار Host را متناسب با سرور دیتابیس تغییر دهید.

در بخش Advanced Options نیز می‌توان مواردی مانند:

  • Database Host
  • Port
  • Table Prefix

را تنظیم کرد.

برای اکثر نصب‌های استاندارد، مقدار Host برابر localhost یا آدرس سرویس دیتابیس است.


مرحله پنجم؛ نصب Drupal

پس از اتصال موفق به دیتابیس، Drupal جداول مورد نیاز را ایجاد کرده و ماژول‌های Core را نصب می‌کند.

در این مرحله بهتر است صفحه مرورگر را Refresh نکنید و اجازه دهید فرآیند نصب کامل شود.

پس از پایان نصب، وارد مرحله تنظیم سایت می‌شوید.


مرحله ششم؛ تنظیم اطلاعات سایت

در این بخش اطلاعات اصلی سایت را وارد کنید:

Site name

نام سایت.

Site email address

ایمیل اصلی سایت.

Username

نام کاربری مدیر.

Password

رمز عبور مدیر.

Default country

کشور پیش‌فرض.

Default time zone

منطقه زمانی.

برای سایت فارسی که در ایران فعالیت می‌کند، تنظیم Time Zone اهمیت دارد؛ مخصوصاً برای:

  • انتشار زمان‌بندی‌شده محتوا
  • Cron
  • نمایش تاریخ
  • ثبت زمان محتوا
  • گزارش‌ها

پس از تکمیل اطلاعات، روی Save and continue کلیک کنید.


تنظیم مجوز فایل‌های Drupal

یکی از حساس‌ترین قسمت‌های نصب Drupal تنظیم Permissionها است.

فایل‌های پروژه نباید بدون دلیل Writable باشند.

در ساختار Composer معمولاً پروژه در خارج از Document Root قرار دارد و فقط پوشه web از طریق وب در دسترس است.

پوشه زیر برای ذخیره فایل‌های آپلودی سایت استفاده می‌شود:

web/sites/default/files

این پوشه باید توسط وب‌سرور قابل نوشتن باشد.

برای مثال:

mkdir -p web/sites/default/files

و سپس مالکیت را متناسب با کاربر وب‌سرور تنظیم کنید.

در Ubuntu با Nginx یا Apache که با www-data اجرا می‌شود:

sudo chown -R www-data:www-data web/sites/default/files

اما نباید به‌صورت غیرضروری کل پروژه را Writable کنید.


تنظیم settings.php

فایل تنظیمات اصلی Drupal در مسیر زیر قرار دارد:

web/sites/default/settings.php

همچنین فایل اولیه معمولاً در این مسیر قرار دارد:

web/sites/default/default.settings.php

پس از نصب، settings.php شامل اطلاعات مهم سایت مانند اتصال دیتابیس است.

به همین دلیل نباید Permission آن را بدون دلیل بالا نگه داشت.

همچنین توصیه می‌شود بعد از پایان نصب، تنظیمات امنیتی لازم در settings.php اعمال شود.


تنظیم Trusted Host در Drupal

برای سایت‌های واقعی بهتر است Trusted Host Patterns را تنظیم کنید.

در فایل:

web/sites/default/settings.php

می‌توان دامنه‌های مجاز را مشخص کرد.

مثلاً:

$settings['trusted_host_patterns'] = [
  '^example\.com$',
  '^www\.example\.com$',
];

اگر سایت شما با چند دامنه یا Subdomain کار می‌کند باید الگوی مناسب برای آن‌ها تعریف شود.

این تنظیم یکی از اقدامات مهم امنیتی Drupal است.


تنظیم وب‌سرور برای Drupal

Apache

اگر از Apache استفاده می‌کنید، Document Root باید به پوشه web پروژه اشاره کند.

برای مثال:

/var/www/mysite/web

همچنین Rewrite باید فعال باشد.

نمونه فعال‌سازی:

sudo a2enmod rewrite
sudo systemctl restart apache2

Drupal برای Clean URLها به تنظیم صحیح Rewrite نیاز دارد.


تنظیم Nginx برای Drupal

در سرورهای پرترافیک معمولاً Nginx به همراه PHP-FPM انتخاب مناسبی است.

نمونه ساختار Virtual Host:

server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/mysite/web;
    index index.php index.html;

    location / {
        try_files $uri /index.php?$query_string;
    }

    location ~ '\.php$' {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.4-fpm.sock;
    }

    location ~* \.(css|js|jpg|jpeg|png|gif|ico|svg|webp|woff|woff2)$ {
        expires 7d;
        access_log off;
    }
}

مسیر PHP-FPM باید متناسب با نسخه PHP نصب‌شده روی سرور تغییر کند.

مثلاً برای PHP 8.3 ممکن است مسیر به شکل زیر باشد:

/run/php/php8.3-fpm.sock

و برای PHP 8.4:

/run/php/php8.4-fpm.sock

فعال کردن HTTPS برای Drupal

پس از نصب سایت، یکی از اولین اقدامات امنیتی باید فعال کردن HTTPS باشد.

برای این کار می‌توانید از Let's Encrypt استفاده کنید.

در Ubuntu با Certbot، پس از نصب ابزار مورد نیاز، گواهی SSL دریافت و روی وب‌سرور فعال می‌شود.

بعد از فعال شدن HTTPS بهتر است سایت را به‌گونه‌ای تنظیم کنید که نسخه HTTP به HTTPS Redirect شود.

مثلاً:

http://example.com

به:

https://example.com

منتقل شود.

استفاده از HTTPS برای ورود کاربران، مدیریت سایت و انتقال اطلاعات دیتابیس و Sessionها اهمیت زیادی دارد.


نصب Drupal با Drush

پس از نصب Drupal می‌توان از Drush برای مدیریت سایت استفاده کرد.

در پروژه Composer:

composer require drush/drush

پس از نصب:

vendor/bin/drush status

را اجرا کنید.

در صورت نصب موفق، اطلاعات سایت، Drupal، PHP، Database و مسیرهای پروژه نمایش داده می‌شود.

برای استفاده راحت‌تر می‌توانید Drush را از مسیر پروژه اجرا کنید:

vendor/bin/drush cr

برای پاک‌سازی Cache:

vendor/bin/drush cr

و برای اجرای Update Database:

vendor/bin/drush updb

تنظیم Cron در Drupal

Cron برای اجرای وظایف دوره‌ای Drupal استفاده می‌شود.

از جمله:

  • پردازش Queueها
  • اجرای عملیات دوره‌ای
  • به‌روزرسانی برخی داده‌ها
  • پردازش Search
  • اجرای وظایف ماژول‌ها

برای سایت‌های واقعی بهتر است Cron را به‌صورت واقعی روی سرور تنظیم کنید، نه اینکه صرفاً به اجرای دستی آن وابسته باشید.

برای مثال:

*/15 * * * * cd /var/www/mysite && vendor/bin/drush cron

این Cron هر ۱۵ دقیقه اجرا می‌شود.

بسته به نوع سایت ممکن است اجرای Cron در بازه‌های کوتاه‌تر یا بلندتر مناسب باشد.


تنظیم PHP Memory Limit

Drupal برای سایت‌های ساده و حرفه‌ای به یک Memory Limit مناسب نیاز دارد.

مقدار حداقلی PHP ممکن است برای نصب Core کافی باشد، اما در سایت‌هایی که تعداد زیادی ماژول، Views پیچیده، Commerce، پردازش تصویر یا ابزارهای جست‌وجو دارند، Memory Limit بیشتری لازم است.

برای بسیاری از سایت‌های حرفه‌ای مقدار:

memory_limit = 256M

نقطه شروع مناسبی است.

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

memory_limit = 512M

یا بیشتر وجود داشته باشد.

مقدار مناسب باید بر اساس مصرف واقعی سایت تعیین شود، نه صرفاً با افزایش بی‌دلیل Memory Limit.


فعال‌سازی OPcache

برای افزایش عملکرد PHP بهتر است OPcache فعال باشد.

در Ubuntu می‌توانید بسته مربوطه را نصب کنید:

sudo apt install php-opcache

سپس PHP-FPM را Restart کنید:

sudo systemctl restart php8.4-fpm

البته نسخه PHP را مطابق سرور خود تغییر دهید.

OPcache باعث می‌شود PHP مجبور نباشد در هر درخواست فایل‌های PHP را از ابتدا Parse و Compile کند.


نصب ماژول‌های Drupal با Composer

یکی از اشتباهات رایج در پروژه‌های Drupal این است که ماژول را به‌صورت دستی دانلود کرده و سپس با Composer مخلوط کنیم.

در پروژه‌های مدرن بهتر است ماژول‌ها را با Composer نصب کنید.

مثلاً برای نصب Token:

composer require drupal/token

یا:

composer require drupal/pathauto

پس از نصب، ماژول را با Drush فعال کنید:

vendor/bin/drush en token -y

یا:

vendor/bin/drush en pathauto -y

مستندات رسمی Drupal نیز مدیریت Core، ماژول‌ها، Themeها و وابستگی‌ها با Composer را توصیه می‌کند.


پاک کردن Cache در Drupal

یکی از مهم‌ترین دستورات مدیریتی Drupal:

vendor/bin/drush cr

است.

هر زمان تغییر مهمی در مواردی مانند:

  • Theme
  • Twig
  • Routing
  • Services
  • Configuration
  • Module
  • CSS/JS aggregation

انجام می‌دهید، ممکن است نیاز باشد Cache را پاک کنید.


بررسی وضعیت سایت بعد از نصب

بعد از نصب وارد بخش:

/admin/reports/status

شوید.

در این صفحه Drupal مشکلات مهم سایت را نمایش می‌دهد.

مواردی مانند:

  • PHP
  • Database
  • File System
  • Security
  • Cron
  • Configuration
  • Updates

را بررسی کنید.

نباید صرفاً به این دلیل که صفحه اصلی سایت باز می‌شود تصور کنید نصب کاملاً صحیح است.


تنظیمات مهم بعد از نصب Drupal

پس از نصب اولیه بهتر است این موارد را بررسی کنید:

1. HTTPS

گواهی SSL فعال باشد.

2. Trusted Host

دامنه‌های معتبر در settings.php تعریف شوند.

3. Cron

Cron روی سرور تنظیم شود.

4. Cache

کش Drupal فعال و صحیح تنظیم شود.

5. PHP OPcache

فعال باشد.

6. File Permissions

Permission فایل‌ها و پوشه‌ها بررسی شود.

7. Backup

برای دیتابیس و فایل‌های سایت Backup منظم داشته باشید.

8. Updates

Core، Module و Themeها مرتب به‌روزرسانی شوند.

9. Admin Account

برای حساب مدیر از رمز عبور بسیار قوی استفاده شود.

10. حذف فایل‌ها و تنظیمات اضافی

فایل‌های موقت، Backupهای حساس و فایل‌هایی که نباید از طریق وب قابل دسترسی باشند در Document Root قرار نگیرند.


نصب Drupal روی هاست اشتراکی

اگر قصد نصب Drupal روی هاست اشتراکی دارید، ابتدا بررسی کنید هاست از موارد زیر پشتیبانی می‌کند:

  • PHP 8.3 برای Drupal 11
  • MySQL 8 یا MariaDB 10.6 برای Drupal 11
  • Composer
  • SSH
  • PHP Extensions مورد نیاز
  • SSL
  • Cron
  • دسترسی مناسب فایل‌ها

اگر هاست Composer و SSH ارائه نمی‌کند، می‌توانید از روش ZIP استفاده کنید؛ اما برای پروژه‌های حرفه‌ای که مرتباً ماژول نصب و به‌روزرسانی می‌شوند، VPS یا سرور مدیریت‌شده انتخاب مناسب‌تری است.


نصب Drupal روی Ubuntu با معماری پیشنهادی

برای یک سایت حرفه‌ای می‌توان معماری زیر را در نظر گرفت:

Internet
   │
   ▼
Nginx
   │
   ▼
PHP-FPM
   │
   ▼
Drupal
   │
   ├── MySQL / MariaDB
   ├── Redis
   ├── Solr
   └── File Storage

برای سایت‌های کوچک نیازی به استفاده از تمام این سرویس‌ها نیست.

اما در پروژه‌های بزرگ، سرویس‌هایی مانند Redis و Solr می‌توانند نقش مهمی در Cache و Search داشته باشند.


تفاوت نصب Drupal 10 و Drupal 11

از نظر فرآیند کلی، نصب Drupal 10 و Drupal 11 بسیار شبیه است.

تفاوت اصلی در Platform Requirements و برخی تغییرات Core است.

برای Drupal 11 حداقل PHP 8.3 لازم است و دیتابیس‌های اصلی نیز نسخه‌های جدیدتری می‌خواهند؛ برای مثال MySQL 8.0، MariaDB 10.6 و PostgreSQL 16.

بنابراین اگر سرور قدیمی دارید، ممکن است Drupal 10 روی آن اجرا شود اما Drupal 11 نصب نشود.


خطاهای رایج هنگام نصب Drupal

خطای PHP version

اگر با خطایی مشابه زیر مواجه شدید:

Your PHP installation is too old

نسخه PHP را بررسی کنید:

php -v

برای Drupal 11 حداقل PHP 8.3 لازم است.


خطای PDO

اگر Drupal دیتابیس را تشخیص نمی‌دهد، بررسی کنید Driver مربوط به دیتابیس نصب شده باشد.

برای MySQL:

php -m | grep pdo

همچنین:

php -m | grep mysql

خطای Permission

اگر Drupal نمی‌تواند فایل ایجاد کند یا فایل آپلود کند، Permission پوشه:

sites/default/files

را بررسی کنید.


خطای 403

در صورت دریافت:

403 Forbidden

موارد زیر را بررسی کنید:

  • Document Root
  • Permission
  • Nginx Configuration
  • Apache Configuration
  • SELinux در سرورهای مبتنی بر RHEL
  • Rewrite Rules

خطای 404 برای صفحات داخلی

اگر صفحه اصلی باز می‌شود اما URLهای داخلی مانند:

/about
/news
/contact

با 404 مواجه می‌شوند، معمولاً باید تنظیمات Rewrite وب‌سرور بررسی شود.

در Nginx استفاده از:

try_files $uri /index.php?$query_string;

یکی از قسمت‌های مهم Configuration است.


آیا نصب Drupal با Composer بهتر است؟

برای پروژه حرفه‌ای، پاسخ تقریباً همیشه بله است.

Composer مزایای مهمی دارد:

  • مدیریت نسخه Drupal
  • مدیریت وابستگی‌ها
  • نصب استاندارد Moduleها
  • نصب Themeها
  • مدیریت Libraryها
  • امکان Rollback بهتر
  • مدیریت Composer Lock
  • به‌روزرسانی کنترل‌شده
  • مناسب برای Git و CI/CD

ساختار drupal/recommended-project نیز باعث می‌شود فایل‌های قابل دسترسی از وب در پوشه web قرار بگیرند و بخش‌های دیگر پروژه از Document Root خارج باشند.


آیا Drupal 11 برای سایت جدید انتخاب بهتری است؟

اگر در سال ۱۴۰۵ قصد راه‌اندازی یک سایت جدید دارید، در حالت عادی Drupal 11 انتخاب منطقی‌تری نسبت به Drupal 10 است؛ به شرطی که ماژول‌ها و Theme مورد استفاده شما با Drupal 11 سازگار باشند.

شاخه Drupal 11.4.x برای توسعه سایت‌های جدید هدف قرار گرفته و در حال حاضر آخرین Patch Release این شاخه، Drupal 11.4.5 است. این شاخه تا ژوئن ۲۰۲۷ پشتیبانی امنیتی دریافت خواهد کرد.

Drupal 10 بیشتر زمانی انتخاب می‌شود که پروژه به دلایل سازگاری نرم‌افزاری، ماژول‌های قدیمی یا کدهای اختصاصی هنوز آماده Drupal 11 نباشد.


جمع‌بندی

نصب Drupal 10 و Drupal 11 از نظر مراحل کلی تفاوت زیادی ندارد، اما نیازمندی‌های سرور در Drupal 11 جدیدتر شده‌اند.

برای Drupal 11 بهتر است از محیطی مانند:

Linux
Nginx / Apache
PHP 8.4
MySQL 8 / MariaDB 10.6+
Composer
SSL
Cron
OPcache

استفاده شود.

برای پروژه‌های حرفه‌ای نیز پیشنهاد می‌شود Drupal را با Composer نصب کنید:

composer create-project drupal/recommended-project:^11 mysite

و Document Root را روی:

mysite/web

قرار دهید.

بعد از نصب نیز تنظیم HTTPS، Trusted Host، Permissionها، Cron، Cache، OPcache، Backup و به‌روزرسانی منظم Core و Moduleها ضروری است.

در نهایت، اگر پروژه جدیدی را در سال ۱۴۰۵ شروع می‌کنید، انتخاب Drupal 11 به‌خصوص شاخه 11.4.x آینده‌نگرانه‌تر است؛ در حالی که Drupal 10 به پایان چرخه عمر خود نزدیک می‌شود.


سوالات متداول درباره نصب Drupal

برای نصب Drupal 11 چه نسخه PHP لازم است؟

Drupal 11 حداقل به PHP 8.3 نیاز دارد. برای پروژه‌های جدید، PHP 8.4 انتخاب مناسبی است؛ البته سازگاری ماژول‌ها نیز باید بررسی شود.

آیا می‌توان Drupal 11 را روی MySQL 5.7 نصب کرد؟

خیر، MySQL 5.7 برای Drupal 11 پشتیبانی رسمی ندارد. Drupal 11 به MySQL 8.0 یا بالاتر نیاز دارد.

Drupal را با Composer نصب کنیم یا ZIP؟

برای سایت‌های حرفه‌ای Composer روش پیشنهادی است. نصب ZIP بیشتر برای محیط‌هایی مناسب است که Composer یا SSH در دسترس نیست.

آیا Drupal روی Nginx نصب می‌شود؟

بله. Drupal از Nginx پشتیبانی می‌کند و باید PHP-FPM و تنظیمات Rewrite/try_files به‌درستی پیکربندی شوند.

حداقل RAM مورد نیاز Drupal چقدر است؟

Drupal حداقل 1GB RAM را برای اجرای Composer توصیه می‌کند؛ سایت‌های بزرگ‌تر با ماژول‌های بیشتر یا سرویس‌هایی مانند Solr و Memcached به RAM بیشتری نیاز دارند.

آیا Drupal 10 هنوز قابل استفاده است؟

بله، اما Drupal 10 در سال ۲۰۲۶ به پایان چرخه عمر خود نزدیک شده است. طبق برنامه رسمی Drupal، Drupal 10 در ۹ دسامبر ۲۰۲۶ به پایان عمر می‌رسد؛ بنابراین برای پروژه جدید بهتر است Drupal 11 را در نظر بگیرید.

آیا بعد از نصب Drupal باید Cron تنظیم کنیم؟

بله. برای سایت‌های واقعی بهتر است Cron به‌صورت منظم روی سرور اجرا شود تا وظایف دوره‌ای Drupal و ماژول‌ها بدون نیاز به اجرای دستی انجام شوند.


منابع رسمی

برای بررسی آخرین نیازمندی‌ها و نسخه‌های Drupal، بهتر است همیشه مستندات رسمی Drupal را نیز بررسی کنید:

مستندات رسمی نصب Drupal

نیازمندی‌های سیستم Drupal

مستندات رسمی Composer در Drupal

صفحه نسخه‌های Drupal Core

ویدئوی آموزشی