DNN چیست و چرا باید از آن استفاده کنیم؟
DNN Platform (پیشتر DotNetNuke) یک CMS متنباز و رایگان بر پایه Microsoft .NET است که برای ایجاد وبسایتهای حرفهای و اپلیکیشنهای وب استفاده میشود.
مزایای کلیدی DNN:
- 🚀 عملکرد بالا: بهینهسازی برای ترافیک سنگین
- 🔒 امنیت قوی: مبتنی بر استانداردهای مایکروسافت
- 🎨 انعطافپذیری: هزاران ماژول و قالب آماده
- 💼 مناسب سازمانها: قابلیتهای Enterprise
- 🌐 چندزبانه: پشتیبانی کامل از زبان فارسی
پیشنیازهای نصب DNN (چکلیست کامل)
حداقل سیستم مورد نیاز:
کامپوننت | حداقل نیاز | پیشنهادی |
---|---|---|
سیستم عامل | Windows Server 2012 R2 | Windows Server 2022 |
.NET Framework | .NET Framework 4.7.2 | .NET 6.0+ |
IIS | IIS 7.5 | IIS 10 |
SQL Server | SQL Server 2012 | SQL Server 2019/2022 |
حافظه RAM | ۲ GB | ۸ GB+ |
فضای دیسک | ۵۰۰ MB | ۲ GB+ |
نرمافزارهای مورد نیاز:
✅ IIS با ASP.NET
✅ URL Rewrite Module
✅ .NET Framework 4.7.2+
✅ SQL Server (Express رایگان است)
روش ۱: نصب DNN روی سرور محلی (localhost)
مرحله ۱: آمادهسازی محیط
- نصب IIS:
# PowerShell Admin
Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole, IIS-WebServer, IIS-CommonHttpFeatures, IIS-StaticContent, IIS-DefaultDocument, IIS-DirectoryBrowsing
- نصب ASP.NET:
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ASPNET45
- نصب URL Rewrite:
- دانلود از سایت مایکروسافت
- نصب با کلیک Next
مرحله ۲: دانلود و استخراج DNN
- از سایت رسمی DNN دانلود کنید
- فایل ZIP را در
C:\inetpub\wwwroot\DNN
استخراج کنید - دسترسیهای لازم را تنظیم کنید:
# تنظیم 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
- IIS Manager را باز کنید
- راست کلیک روی Sites > Add Website
- تنظیمات زیر را وارد کنید:
- 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
مرحله ۵: نصب از طریق مرورگر
- مرورگر را باز کنید و به
http://dnn.local
بروید - Installation Wizard ظاهر میشود
- گزینه Custom Installation را انتخاب کنید
- اطلاعات دیتابیس را وارد کنید:
- 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
- در Azure Portal، SQL Database ایجاد کنید
- Connection String را کپی کنید:
Server=tcp:myserver.database.windows.net,1433;Database=DNN_DB;User ID=adminuser;Password=YourPassword;
مرحله ۳: Deploy کردن DNN
- فایلهای DNN را به Azure منتقل کنید:
- استفاده از FTP
- استفاده از Git
- استفاده از Visual Studio
- 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 فضا
مراحل نصب:
- آپلود فایلها:
- از FTP Client استفاده کنید
- فایلها را در root directory آپلود کنید
- تنظیم دیتابیس:
- از کنترل پنل دیتابیس SQL ایجاد کنید
- اطلاعات اتصال را یادداشت کنید
- تنظیم Permissions:
/App_Data → Read/Write
/Portals → Read/Write
/DesktopModules → Read/Write
- اجرای نصب:
- به آدرس دامنه بروید
- مراحل نصب را دنبال کنید
تنظیمات اولیه پس از نصب 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 برای ایمیل
- به Host > Host Settings بروید
- تنظیمات SMTP را وارد کنید:
- SMTP Server:
smtp.gmail.com
- Port:
۵۸۷
- SSL: فعال
- Username/Password: اطلاعات ایمیل
نصب ماژولها و Extension ها
نصب از DNN Store:
- به Host > Extensions بروید
- کلیک روی Install Extension
- از 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 ها
ویژگی | DNN | WordPress | Joomla |
---|---|---|---|
زبان برنامهنویسی | ASP.NET | PHP | PHP |
دیتابیس | SQL Server | MySQL | MySQL |
امنیت | بسیار بالا | متوسط | بالا |
منحنی یادگیری | متوسط | آسان | متوسط |
هزینه هاستینگ | بالا | پایین | پایین |
نتیجهگیری
نصب DNN Platform اگرچه نیاز به دانش فنی بیشتری نسبت به WordPress دارد، اما قدرت و انعطافپذیری آن برای پروژههای سازمانی بینظیر است. با رعایت نکات این راهنما، میتوانید در کمتر از ۱۰ دقیقه یک وبسایت DNN راهاندازی کنید.
منابع مفید:
کلمات کلیدی: نصب DNN، آموزش DotNetNuke فارسی، نصب دات نت نیوک، DNN installation guide، راهنمای نصب DNN Platform
نظر شما در مورد این مطلب چیه؟