آموزش نصب 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 10 | Drupal 11 |
|---|---|---|
| PHP حداقل | 8.1 | 8.3 |
| MySQL | 5.7.8+ | 8.0+ |
| MariaDB | 10.3.7+ | 10.6+ |
| PostgreSQL | 12+ | 16+ |
| SQLite | 3.26+ | 3.45+ |
| Composer | 2.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 نمایش داده میشود.
فرآیند نصب معمولاً شامل مراحل زیر است:
- انتخاب زبان
- انتخاب Installation Profile
- بررسی نیازمندیها
- تنظیم دیتابیس
- نصب سایت
- تنظیم اطلاعات سایت
مرحله اول؛ انتخاب زبان
در اولین مرحله زبان مورد نظر را انتخاب کنید.
برای سایت فارسی میتوانید زبان فارسی را انتخاب کنید.
پس از انتخاب زبان روی:
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 را نیز بررسی کنید:
مستندات رسمی Composer در Drupal