وبلاگ هاستونیک

راهنمای جامع نصب DNN (DotNetNuke)

راهنمای جامع نصب DNN (DotNetNuke)

DNN (سابقاً DotNetNuke) یک سیستم مدیریت محتوای قدرتمند مبتنی بر ASP.NET است. در این راهنما، نحوه نصب DNN را در محیط‌های مختلف شامل سرور محلی، IIS، Azure و هاستینگ اشتراکی آموزش می‌دهیم. همراه با پیش‌نیازها، تنظیمات امنیتی و رفع خطاهای رایج.

- اندازه متن +

DNN چیست و چرا باید از آن استفاده کنیم؟

DNN Platform (پیشتر DotNetNuke) یک CMS متن‌باز و رایگان بر پایه Microsoft .NET است که برای ایجاد وب‌سایت‌های حرفه‌ای و اپلیکیشن‌های وب استفاده می‌شود.

مزایای کلیدی DNN:

  • 🚀 عملکرد بالا: بهینه‌سازی برای ترافیک سنگین
  • 🔒 امنیت قوی: مبتنی بر استانداردهای مایکروسافت
  • 🎨 انعطاف‌پذیری: هزاران ماژول و قالب آماده
  • 💼 مناسب سازمان‌ها: قابلیت‌های Enterprise
  • 🌐 چندزبانه: پشتیبانی کامل از زبان فارسی

پیش‌نیازهای نصب DNN (چک‌لیست کامل)

حداقل سیستم مورد نیاز:

کامپوننتحداقل نیازپیشنهادی
سیستم عاملWindows Server 2012 R2Windows Server 2022
.NET Framework.NET Framework 4.7.2.NET 6.0+
IISIIS 7.5IIS 10
SQL ServerSQL Server 2012SQL Server 2019/2022
حافظه RAM۲ GB۸ GB+
فضای دیسک۵۰۰ MB۲ GB+

نرم‌افزارهای مورد نیاز:

✅ IIS با ASP.NET
✅ URL Rewrite Module
✅ .NET Framework 4.7.2+
✅ SQL Server (Express رایگان است)

روش ۱: نصب DNN روی سرور محلی (localhost)

مرحله ۱: آماده‌سازی محیط

  1. نصب IIS:
   # PowerShell Admin
   Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole, IIS-WebServer, IIS-CommonHttpFeatures, IIS-StaticContent, IIS-DefaultDocument, IIS-DirectoryBrowsing
  1. نصب ASP.NET:
   Enable-WindowsOptionalFeature -Online -FeatureName IIS-ASPNET45
  1. نصب URL Rewrite:

مرحله ۲: دانلود و استخراج DNN

  1. از سایت رسمی DNN دانلود کنید
  2. فایل ZIP را در C:\inetpub\wwwroot\DNN استخراج کنید
  3. دسترسی‌های لازم را تنظیم کنید:
# تنظیم Permission ها
icacls "C:\inetpub\wwwroot\DNN" /grant "IIS_IUSRS:(OI)(CI)F" /T
icacls "C:\inetpub\wwwroot\DNN" /grant "NETWORK SERVICE:(OI)(CI)F" /T

مرحله ۳: ایجاد سایت در IIS

  1. IIS Manager را باز کنید
  2. راست کلیک روی Sites > Add Website
  3. تنظیمات زیر را وارد کنید:
  • Site name: DNN_Local
  • Physical path: C:\inetpub\wwwroot\DNN
  • Port: ۸۰ (یا هر پورت دلخواه)
  • Host name: dnn.local

مرحله ۴: ایجاد دیتابیس SQL Server

-- ایجاد دیتابیس
CREATE DATABASE DNN_Database;
GO

-- ایجاد کاربر
CREATE LOGIN DNN_User WITH PASSWORD = 'StrongPassword123!';
GO

USE DNN_Database;
CREATE USER DNN_User FOR LOGIN DNN_User;
ALTER ROLE db_owner ADD MEMBER DNN_User;
GO

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

  1. مرورگر را باز کنید و به http://dnn.local بروید
  2. Installation Wizard ظاهر می‌شود
  3. گزینه Custom Installation را انتخاب کنید
  4. اطلاعات دیتابیس را وارد کنید:
  • Server: .\SQLEXPRESS یا (local)
  • Database: DNN_Database
  • Username: DNN_User
  • Password: رمز تنظیم شده

روش ۲: نصب DNN در Azure (Cloud)

مرحله ۱: ایجاد Azure Web App

# Azure CLI
az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name myDNNSite --runtime "DOTNET|6.0"

مرحله ۲: تنظیم Azure SQL Database

  1. در Azure Portal، SQL Database ایجاد کنید
  2. Connection String را کپی کنید:
Server=tcp:myserver.database.windows.net,1433;Database=DNN_DB;User ID=adminuser;Password=YourPassword;

مرحله ۳: Deploy کردن DNN

  1. فایل‌های DNN را به Azure منتقل کنید:
  • استفاده از FTP
  • استفاده از Git
  • استفاده از Visual Studio
  1. Application Settings را تنظیم کنید:
{
  "WEBSITE_NODE_DEFAULT_VERSION": "14.16.0",
  "WEBSITE_TIME_ZONE": "Iran Standard Time"
}

روش ۳: نصب DNN در هاستینگ اشتراکی

پیش‌نیازهای هاستینگ:

  • ✅ پشتیبانی از ASP.NET 4.7.2+
  • ✅ SQL Server 2012+
  • ✅ Full Trust Permission
  • ✅ حداقل 500MB فضا

مراحل نصب:

  1. آپلود فایل‌ها:
  • از FTP Client استفاده کنید
  • فایل‌ها را در root directory آپلود کنید
  1. تنظیم دیتابیس:
  • از کنترل پنل دیتابیس SQL ایجاد کنید
  • اطلاعات اتصال را یادداشت کنید
  1. تنظیم Permissions:
   /App_Data → Read/Write
   /Portals → Read/Write
   /DesktopModules → Read/Write
  1. اجرای نصب:
  • به آدرس دامنه بروید
  • مراحل نصب را دنبال کنید

تنظیمات اولیه پس از نصب DNN

۱. تنظیمات امنیتی اساسی

<!-- در web.config اضافه کنید -->
<system.web>
  <httpCookies httpOnlyCookies="true" requireSSL="true" />
  <customErrors mode="RemoteOnly" />
  <compilation debug="false" targetFramework="4.7.2" />
</system.web>

۲. بهینه‌سازی عملکرد

<!-- فعال‌سازی Compression -->
<system.webServer>
  <urlCompression doStaticCompression="true" doDynamicCompression="true" />
  <staticContent>
    <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" />
  </staticContent>
</system.webServer>

۳. تنظیم SMTP برای ایمیل

  1. به Host > Host Settings بروید
  2. تنظیمات SMTP را وارد کنید:
  • SMTP Server: smtp.gmail.com
  • Port: ۵۸۷
  • SSL: فعال
  • Username/Password: اطلاعات ایمیل

نصب ماژول‌ها و Extension ها

نصب از DNN Store:

  1. به Host > Extensions بروید
  2. کلیک روی Install Extension
  3. از DNN Store ماژول انتخاب کنید

نصب Manual:

# آپلود فایل zip ماژول
# در Extensions > Install Extension > Upload

ماژول‌های پیشنهادی:

ماژولکاربرد
DNNSharpفرم‌ساز پیشرفته
2sxcمدیریت محتوای حرفه‌ای
DNN SEOبهینه‌سازی موتور جستجو
DNN Backupپشتیبان‌گیری خودکار

رفع مشکلات رایج نصب DNN

خطا: “Could not load file or assembly”

راه‌حل:

# نصب مجدد ASP.NET
dism /online /enable-feature /featurename:IIS-ASPNET45 /all

خطا: “The connection name ‘SiteSqlServer’ was not found”

راه‌حل:
در web.config بررسی کنید:

<connectionStrings>
  <add name="SiteSqlServer" connectionString="Data Source=.\SQLExpress;Initial Catalog=DNN;User ID=sa;Password=password" />
</connectionStrings>

خطا: “Access to the path is denied”

راه‌حل:

# تنظیم دسترسی‌ها
icacls "C:\inetpub\wwwroot\DNN" /grant "IIS_IUSRS:(OI)(CI)F" /T

چک‌لیست امنیتی DNN

  • [ ] تغییر رمز عبور Host و Admin
  • [ ] حذف فایل‌های نصب (/Install folder)
  • [ ] فعال‌سازی SSL/HTTPS
  • [ ] غیرفعال کردن Registration برای عموم
  • [ ] نصب و پیکربندی WAF
  • [ ] تنظیم Backup خودکار
  • [ ] به‌روزرسانی منظم DNN و ماژول‌ها
  • [ ] محدود کردن دسترسی به /DesktopModules/Admin

بهترین روش‌های (Best Practices) DNN

۱. ساختار پوشه‌بندی:

/Portals/0/ → فایل‌های پورتال اصلی
/DesktopModules/ → ماژول‌های نصب شده
/App_Data/ → فایل‌های دیتا و لاگ
/Bin/ → DLL های سیستم

۲. استراتژی Backup:

  • روزانه: دیتابیس SQL
  • هفتگی: فایل‌های سایت
  • ماهانه: Full Backup

۳. مانیتورینگ و نگهداری:

-- پاکسازی لاگ‌های قدیمی
DELETE FROM EventLog WHERE LogCreateDate < DATEADD(day, -30, GETDATE())

-- بهینه‌سازی دیتابیس
EXEC sp_MSforeachtable 'ALTER INDEX ALL ON ? REBUILD'

مقایسه DNN با سایر CMS ها

ویژگیDNNWordPressJoomla
زبان برنامه‌نویسیASP.NETPHPPHP
دیتابیسSQL ServerMySQLMySQL
امنیتبسیار بالامتوسطبالا
منحنی یادگیریمتوسطآسانمتوسط
هزینه هاستینگبالاپایینپایین

نتیجه‌گیری

نصب DNN Platform اگرچه نیاز به دانش فنی بیشتری نسبت به WordPress دارد، اما قدرت و انعطاف‌پذیری آن برای پروژه‌های سازمانی بی‌نظیر است. با رعایت نکات این راهنما، می‌توانید در کمتر از ۱۰ دقیقه یک وب‌سایت DNN راه‌اندازی کنید.

منابع مفید:


کلمات کلیدی: نصب DNN، آموزش DotNetNuke فارسی، نصب دات نت نیوک، DNN installation guide، راهنمای نصب DNN Platform

Avatar photo
درباره نویسنده

حسن فرجی

سلام! من حسن فرجی هستم، متخصص سرور، هاستینگ و عاشق دیباگ کردن مشکلات پیچیده. تو دنیای تکنولوژی، همه چیز برای من مثل یه پازل هیجان‌انگیزه که باید حلش کنم! تو وبلاگ Hostonic.ir می‌نویسم و با تجربه‌هام سعی می‌کنم مسیر رشد و موفقیت در مدیریت وب‌سایت و هاستینگ رو برای شما ساده‌تر کنم. اگر دنبال یه راهنمای حرفه‌ای، اما خودمونی هستید که همیشه کنارتون باشه، خوشحال می‌شم با نوشته‌ها و راهکارهای من همراه بشید.

ارسال دیدگاه
0 دیدگاه

نظر شما در مورد این مطلب چیه؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *