نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • مشاوره
  • پنل کنترل موتور دیتالایف عنوان بازخورد. راه اندازی DataLife Engine

پنل کنترل موتور دیتالایف عنوان بازخورد. راه اندازی DataLife Engine

فقط برای مقاصد اطلاعاتی مدیریت مسئول محتوای آن نیست. دانلود رایگان .


دوستان عزیز،

ما یک نسخه جدید از اسکریپت DataLife Engine نسخه 13.1 NULLED را به شما معرفی می کنیم.در این نسخه، از شما انتظار می‌رود که پشتیبانی از به‌روزرسانی خودکار افزونه‌ها برای نسخه‌های جدید و تعدادی بهبود دیگر در سیستم افزونه را اضافه کنید، ویژگی‌های جدیدی برای کار راحت‌تر با فیلدهای اضافی اضافه شده است، نوع جدیدی از رتبه‌بندی «لایک و دوست نداشتن" اضافه شده است، جستجوی انتشارات در پنل مدیریت بهبود یافته است، و بسیاری موارد دیگر، اطلاعات بیشتر در مورد این و موارد دیگر را بخوانید...

تغییرات زیر تهیه و اجرا شده است:


1. اضافه شدن قابلیت به روز رسانی خودکار اسکریپتدر پنل مدیریت در یک نسخه از اسکریپت، در مواردی که، برای مثال، رفع آسیب پذیری های یافت شده یا سایر اشکالات منتشر می شود. در مواردی که تغییراتی در توزیع در همان نسخه ایجاد می شود، به عنوان مثال، هنگام رفع آسیب پذیری ها یا سایر مشکلات شناسایی شده در اسکریپت، امکان به روز رسانی اسکریپت در پنل مدیریت در نسخه فعلی اسکریپت وجود خواهد داشت.


2. اضافه شدن قابلیت به روز رسانی خودکار افزونه ها در سایت. برای انجام این کار، افزونه یک URL را برای به دست آوردن اطلاعات در مورد در دسترس بودن نسخه جدید مشخص می کند. در این URL، سایت توسعه‌دهنده افزونه باید آرایه‌ای را با فرمت JSON برگرداند که باید حاوی اطلاعات نسخه فعلی افزونه و همچنین پیوندی برای دانلود نسخه فعلی افزونه باشد. به عنوان مثال، URL داده شده باید مقدار را برگرداند ("نسخه": "2.0"، "url": "https://dle-news.ru/test/test.zip"). پس از آن، هنگام بررسی به روز رسانی، مدیر سایت می تواند از در دسترس بودن نسخه های جدید افزونه مطلع شود و افزونه ها را در پنل مدیریت با یک کلیک به روز کند.


3. برای سیستم مدیریت پلاگین، قابلیت اضافه شده استتعداد جایگزین هایی که باید برای هر معیار جستجو در فایل انجام شود را مشخص کنید. به عنوان مثال، شما باید کدی را در یک فایل پیدا کرده و جایگزین کنید که چندین بار در این فایل وجود دارد، می توانید مشخص کنید که این کد چند بار باید جایگزین شود. برای جایگزینی همه موارد این کد، می توانید این پارامتر را خالی بگذارید، بنابراین در هر کجا که کدی که مشخص کرده اید، جایگزینی انجام می شود.


4. برای سیستم مدیریت پلاگین، قابلیت اضافه شده استحذف خودکار فایل های اضافی دانلود شده با افزونه در آرشیو در صورت حذف افزونه از سایت. برای انجام این کار، پارامترهای افزونه با قابلیت انتخاب حذف یا عدم حذف فایل های اضافی اضافه می شوند. بنابراین، می‌توانید خودتان تصمیم بگیرید که آیا در صورت حذف سرور از فایل‌های اضافی، پاکسازی آن از سایت ضروری است یا اینکه آیا باید آنها را رها کنید.

5. برای سیستم مدیریت پلاگین، قابلیت اضافه شده استاز تگ (THEME) در نام پوشه ها در بایگانی ZIP استفاده کنید. هنگام آپلود بایگانی از طریق سیستم افزونه، این برچسب با نام قالب استفاده شده جایگزین می شود. به عنوان مثال با قرار دادن فایل /templates/(THEME)/test.tpl در آرشیو، فایل قالب شما در قالب مورد استفاده در سایت قرار می گیرد. بنابراین، هنگام استفاده از پلاگین های پیچیده که حاوی فایل های نمونه نمونه هستند، می توانند بلافاصله در پوشه مورد نظر حاوی الگوی مورد استفاده کاربر بارگذاری شوند.

6. برای سیستم مدیریت پلاگین، قابلیت اضافه شده استاز کاراکترهای کنترل تابع preg_replace، مانند \\ 1 و غیره، در عمل "Find and Replace" در رشته جایگزین استفاده کنید، که محدودیت‌های یافتن و جایگزینی برخی از کدها را در DLE حذف می‌کند.


7. برای فیلدهای اضافی از نوع "تصویر" و "گالری تصاویر"، قابلیت اختصاص دادن هر تصویر به طور جداگانه، توضیحات شخصی خود را که به عنوان ویژگی alt HTML نیز در هنگام نمایش این فیلدهای اضافی در سایت استفاده می شود، اضافه کرد.


8. برای فیلدهای اضافی از نوع "گالری تصاویر"،قابلیت تغییر ترتیب مرتب سازی تصاویر آپلود شده را با حرکت دادن آنها با ماوس اضافه کرد. پس از آپلود تصاویر، می توانید تصاویر را به دلخواه تعویض کنید. همچنین تصاویر آپلود شده را می توان به سایر فیلدهای اضافی منتقل کرد.


9. برای انتشارات و نظرات، نوع جدیدی از رتبه بندی "لایک و نپسندیدن" اضافه شده است.که سوابق جداگانه ای از تعداد لایک و تعداد دفعات پسند نگه می دارد. برای انجام این کار، برچسب های جدیدی برای قالب های نمایش نشریات و نظرات اضافه شده است: (دوست دارد)- که تعداد لایک‌ها را نشان می‌دهد، (نپسندیدن) - که تعداد دوست نداشتن‌ها و همچنین برچسب را نشان می‌دهد متن- که در صورت فعال بودن این نوع رتبه بندی در تنظیمات، متن محصور شده در تگ را نمایش می دهد.


10. در تنظیمات پروفایل کاربری در پنل مدیریت، قابلیت اضافه شده استفهرستی از مقوله‌ها را تنظیم کنید که در آن کاربر خاص مجاز به افزودن انتشارات است. به عنوان مثال، این به روزنامه نگاران اجازه می دهد تا عناوین شخصی را نگه دارند که سایر روزنامه نگاران (یا برخی از آنها) حق انتشار در آنها را ندارند. یا بالعکس - حذف یک روزنامه نگار از یک دسته خاص از اخبار، اگر مثلاً در آن بی کفایت باشد.

11. در تنظیمات پروفایل کاربری در پنل مدیریت قابلیت اضافه شده استفهرستی از دسته بندی های اعتمادی را تنظیم کنید که این کاربر خاص مجاز است بدون نظارت، انتشارات را به آنها اضافه کند. چنین شخصی‌سازی، تمایز حقوق را با انعطاف‌پذیری بیشتری بدون ایجاد گروه‌های کاربری، از جمله گروه‌هایی برای هر روزنامه‌نگار خاص، ممکن می‌سازد.


12. برای جستجوی پیشرفته نشریات در پنل مدیریت،در قسمت ویرایش نشریه، امکان انتخاب محل جستجو اضافه شده است. شما می توانید در کل محتوا جستجو کنید، می توانید به طور جداگانه با عناوین، توضیحات کوتاه، توضیحات کامل و فیلدهای اضافی. همچنین، الگوریتم های جستجو به طور قابل توجهی بهبود یافته اند تا انتشارات را به طور صحیح تر پیدا کنند.

13. برای جستجوی پیشرفته نشریات در پنل مدیریت،در قسمت ویرایش نشریات، امکان جستجوی همزمان در چند دسته برای انتخاب اضافه شده است.

14. اضافه شدن توانایی برای ابر برچسباستفاده از کاراکترهای "&" و "#" که به عنوان مثال امکان استفاده از نام‌های تجاری مختلف در فضای ابری مانند "H&M" و غیره را می‌دهد.


15. در تنظیمات اسکریپت در پنل مدیریت، قابلیت اضافه شده استاجازه مدیریت سایت برای ورود به سایت با استفاده از شبکه های اجتماعی. هنگامی که این تنظیم فعال است، کاربران در گروه مدیران نیز می توانند با استفاده از حساب های شبکه اجتماعی خود وارد سایت شوند.


16. در پنل مدیریت در قسمت ویرایش نظرات قابلیت اضافه شده استجستجو برای نظرات در متن در این بخش می توانید نظرات مورد نیاز خود را برای ویرایش با هر کلمه کلیدی جستجو کنید. این کار ویرایش نظرات را راحت تر می کند.


17. در پنل مدیریت در قسمت مدیریت ارجاعات متقابل قابلیت اضافه شده است.برای اقدامات انبوه روی پیوندها، جایگزین را روی "فقط در صفحات ثابت" و همچنین "در صفحات استاتیک، اخبار و نظرات" تنظیم کنید.

18. برای پیش نمایش بنرها در قسمت مدیریت تبلیغات پنل مدیریت،اتصال سبک های قالب شما را از فایل preview.css اضافه کرد. بنابراین، اگر از کلاس های قالب شما استفاده کند، می توانید طراحی صحیح تری از کد تبلیغاتی خود را مشاهده کنید.

19. برای قالب خروجی اخبار کوتاه (shortstory.tpl) اضافه شداستفاده از برچسب متن، که در صورت عدم وجود انتشارات بر اساس معیارهای داده شده، متن ضمیمه شده را در آنها نمایش می دهند. بنابراین، می توانید پیام استاندارد سیستم در مورد عدم وجود انتشارات در هر بخش خاصی از سایت را مجدداً اختصاص دهید و آن را برای مثال برای هر بخش از سایت منحصر به فرد کنید. همچنین از این تگ ها می توان در قالب هایی استفاده کرد که برای خروجی سفارشی نشریات با استفاده از تگ (custom ...) استفاده می شود.


20. برای الگوی پیام الکترونیکی که در حال ارسال استهنگام بازیابی رمز عبور فراموش شده، استفاده از برچسب های جدید اضافه شده است: (%losturl%)، که فقط URL لینک را برای بازنشانی و ایجاد رمز عبور جدید خروجی می دهد و (%ipurl%)، که فقط URL پیوند را برای بازنشانی بلوک توسط IP نمایش می دهد. بنابراین می توانید طرح مورد نیاز خود را به صورت جداگانه در حروف این لینک ها به عنوان مثال به صورت دکمه تنظیم کنید. و همچنین می توانید به عنوان مثال در صورت عدم استفاده از این ویژگی در سایت خود، از نمایش لینک رفع انسداد توسط IP خودداری کنید.

21. بهبود سیستم حذف دسته ها در پنل مدیریت. اگر دسته‌ای که حذف می‌شود حاوی زیرمجموعه‌هایی باشد که در معرض حذف نیز هستند، آنگاه تمام اقدامات مربوط به انتشاراتی که حاوی دسته‌ای در حال حذف هستند، به طور خودکار به انتشاراتی که شامل زیرمجموعه‌های حذف‌شده نیز هستند، تعمیم می‌یابد. و برای این انتشارات در زیر مجموعه ها نیز همین اقدامات اعمال خواهد شد.


22. برای ماژول "Filter by: IP, Login or E-Mail" قابلیتاضافه کردن آدرس های مسدود شده یا ورود به سیستم یا ایمیل ها در کل لیست ها به طور همزمان و نه یک بار. اگر از قبل فهرست آماده ای از مواردی که باید مسدود شوند، به طور قابل توجهی روند افزودن را سرعت می بخشد.


23. برای ماژول "Filter by: IP, Login or E-Mail" قابلیتویرایش قوانین موجود شما می توانید هر قانون را بدون نیاز به حذف و اضافه کردن مجدد آن انتخاب و ویرایش کنید.


24. برای ماژول "Filter by: IP, Login or E-Mail" قابلیتانتخاب چندین یا همه قوانین اضافه شده به طور همزمان، و باز کردن انبوه این قوانین با یک کلیک.

25. اضافه شدن پشتیبانی برای ماژول "Filter by: IP, Login or E-Mail".با استفاده از آدرس های IPv6 که می توانند برای مسدود کردن دسترسی به سایت مشخص شوند. همچنین قابلیت تعیین زیرشبکه های IPv6 برای مسدود کردن اضافه شده است.

26. قابلیت تعیین آدرس های IPv6 در پروفایل کاربری اضافه شد، که از آن مجوز برای کاربر مجاز است. شما همچنین می توانید نه تنها یک آدرس جداگانه، بلکه یک زیرشبکه IPv6 را نیز مشخص کنید.

27. برای ماژول مرتب سازی سفارشی نشریات در سایتنمایش داده شده توسط برچسب (مرتب سازی)، قابلیت تنظیم مرتب سازی برای هر دسته خاص، و نه برای همه دسته ها به طور همزمان، اضافه شده است.

28. برای پیوندهای منتشر شده در نشریات، قابلیت اضافه شده بهاستفاده از عناصر بلوک در آنها، مانند "p"، "div"، و غیره. این به DataLife Engine اجازه می دهد تا با استانداردهای HTML5 مطابقت دقیق و صحیح تری داشته باشد.

29. اضافه شدن قابلیت افزودن کاربران جدیددر کنترل پنل DataLife Engine، هنگام کار با پنل با استفاده از تلفن های هوشمند.

30. تغییراتی در کار نظرات درخت مانند ایجاد شده است. اگر حداکثر تودرتو برای پاسخ به نظرات رسیده باشد، در صورت پاسخ به یک نظر، این پاسخ ها در حداکثر تودرتو در موضوع بحث باقی می مانند. پیش از این، زمانی که به حداکثر تودرتو می رسید، پاسخ به نظر غیرممکن بود. اکنون در هر صورت امکان پاسخ باقی است.

31. برای فیلدهای اضافی از نوع "مرجع متقابل"، قابلیت استفاده از دو گیومه و علامت علامت در مقادیر را اضافه کرد.

32. اگر الگوی پیام E-Mail که در حال ارسال استهنگام بازیابی رمز عبور فراموش شده، استفاده از فرمت HTML برای این حرف تنظیم می شود، سپس لینک های تولید شده توسط تگ (%lostlink%) در این الگو در قالب یک کد HTML آماده تولید می شوند و نه فقط لینک های متنی

33. در تنظیمات اسکریپت قابلیت نصب اضافه شده استمرتب سازی انتشارات به طور پیش فرض، بر اساس تعداد نظرات. همین مورد برای تنظیم معیارهای مرتب سازی هنگام مرور کاتالوگ اضافه شده است.

35. تغییراتی در کار زمینه های اضافی ایجاد شده است.اگر فیلد محدودیت هایی برای افزودن توسط گروه های کاربری دارد. اگر مقدار یک فیلد اضافی توسط کاربری اضافه شده باشد که این حق را دارد و بعداً انتشار توسط کاربری که حق پر کردن این فیلد را ندارد ویرایش شود، دیگر ارزش این فیلد وجود ندارد. پاک شد، اما همان چیزی است که قبلاً توسط کاربری که حق این کار را دارد پر شده است.

36. محدودیت تعداد کاراکترهای متا تگ Description برای دسته ها به 300 کاراکتر افزایش یافته است.. حداکثر طول اکنون با حداکثر طول تعیین شده توسط موتور جستجوی Google برای نمایش این اطلاعات در نتایج جستجو مطابقت دارد.

37. جستجوی بهبود یافته برای اخبار مشابه در سایت.نمایش اخبار مرتبط از نظر مرتب سازی نشریات یافت شده مرتبط تر شده است.

38. بهبود پشتیبانی از آدرس های IPv6 بازدیدکنندگان سایت.در برخی موارد خاص، آدرس کامل ممکن است در پایگاه داده قرار نگیرد. طول میدان اکنون مطابق با مشخصات RFC 4291 رزرو شده است.

39. بهبود شکل گیری متا تگ og:description پروتکل Open Graphهنگام مشاهده کامل اخبار هنگام استفاده از فیلدهای اضافی برای انتشارات به عنوان محتوای اصلی، شکل گیری صحیح تر است.

40. بهبود عملکرد سیستم امنیتی DataLife Engineبه منظور بررسی صحیح تر داده های زیر دامنه ها، در برخی هاستینگ ها که دارای ساختار ساب دامنه هستند، در قالب زیر پوشه های دامنه اصلی.

41. اضافه شدن پشتیبانی از پروتکل تلفن:برای پیوندهای منتشر شده در سایت با استفاده از برچسب های BB.

42. ویرایشگرهای بصری TinyMCE و Froala را به نسخه های فعلی به روز کرد. تعدادی از خطاهای شناسایی شده در این ویرایشگرها را رفع کرد.

43. مشکل رفع شدبا استفاده از فیلدهای اضافی نمایه کاربر، فیلدهایی با نوع "List" که در آنها از مقادیر با استفاده از نماد "|" استفاده می شود.

44. مشکل رفع شدهنگامی که در بخش مدیریت افزونه، اگر عملکرد فایل در منو تغییر کند، برخی از کاراکترها ممکن است در مقادیر مشخص شده در فیلدها به اشتباه تغییر کنند.

45. مشکل رفع شد، که در آن استفاده از برچسب برای صفحات داخلی سایت غیرممکن بود و فقط برای سایت های خارجی مجاز بود.

46. ​​مشکل رفع شد، در صورتی که سایت در کدگذاری غیر از UTF-8 بود، شروع به روز رسانی سایت به نسخه جدید غیرممکن بود، در حالی که ورود یا رمز عبور مدیر حاوی حروفی بود که به خط سیریلیک نوشته شده بود.

47. مشکل رفع شدکه در آن اگر کاربر به طور مستقل از حساب خود در سایت خارج شود و پس از مدتی دوباره وارد آن شود، پنجره پاپ آپی در مورد دریافت پیام های شخصی جدید ظاهر نمی شود.

48. مشکل رفع شددر صورتی که ویرایشگر TinyMCE در تنظیمات اسکریپت فعال باشد، ویرایش نظرات در کنترل پنل اسکریپت کار نمی کند.

49. مشکل رفع شد، در صورتی که چنین محدودیت هایی در تنظیمات اسکریپت در پنل مدیریت تنظیم شده باشد، تعداد روزهایی را که در طی آن می توانید نظرات خود را به نشریه اضافه کنید، نمایش داده نمی شود.

50. مشکل رفع شد، که در آن یک فیلد اضافی از نوع «آپلود فایل» به عنوان لینک دانلود فایل در سایت نمایش داده نمی شد، بلکه به صورت یک تگ ساده نمایش داده می شد.

51. اشکالات جزئی اسکریپت که قبلاً کشف و اعلام شده بود، رفع شده است.

بیایید در مورد منوی وب سایت dle صحبت کنیم. به طور دقیق تر، چگونه می توانید موارد خود را به منو اضافه کنید، یا موارد موجود را با موارد جدید جایگزین کنید. اغلب، برای مبتدیانی که به تازگی این CMS را نصب کرده اند، این سوال پیش می آید: "چگونه آیتم های منوی استاندارد را در قالب استاندارد با قالب خود جایگزین کنیم؟" اگر در وردپرس این کار بدون ویرایش کد قابل انجام است، در dle وضعیت متفاوت است، هنوز باید وارد کد شوید و کمی آن را کشف کنید. با این حال، هیچ چیز سختی در افزودن موارد جدید وجود ندارد و امیدوارم امروز بتوانید این را ببینید.

بنابراین، بیایید دست به کار شویم. برای شروع، ما باید مواردی را ایجاد کنیم که بعداً باید در منوی dle پیاده سازی شوند، چه صفحات و چه دسته بندی ها. برای انجام این کار، به پنل مدیریت بروید و روی آیتم "لیست همه بخش ها" کلیک کنید.

و سپس همه چیز به موقعیت بستگی دارد. اگر لازم است پیوندی به دسته بندی سایت به منو اضافه کنیم، سپس به آیتم «دسته ها» بروید و اگر نیاز به ایجاد صفحه ای داشتیم که آیتم منو کاربر را به آن هدایت کند، سپس به «صفحات ثابت» بروید. مورد هیچ تفاوت اساسی بین آنها وجود ندارد، بنابراین ما یکی از دو گزینه را انتخاب می کنیم، به عنوان مثال، "Categories".

فرمی برای ایجاد دسته بندی جدید در سایت ظاهر می شود. آنجا همه چیز ساده است. هر فیلد فرم برای چه چیزی استفاده می شود، تصویر را ببینید.

همه فیلدهایی که در شکل توضیح داده شده اجباری نیستند، بلکه فقط فیلدهای اول و دوم اجباری هستند. و نکاتی که من روی تصویر دست نزدم اصلا مربوط به دسته بندی ها نیست بلکه مربوط به تنظیمات موتور جهانی مثل تنظیمات خروجی اخبار dle می باشد و همچنین امکان اختصاص یک قالب منحصر به فرد برای هر دسته به صورت جداگانه را فراهم می کند.

پس از پر کردن فیلدهای مورد نیاز، حداقل دو قسمت اول، روی دکمه افزودن کلیک کنید. این عمل یک دسته بندی جدید در سایت ایجاد می کند که پیوندی را به منوی dle اضافه می کنیم. و توجه ویژه ای به قسمت دوم داشته باشید، جایی که لازم بود یک نام جایگزین برای دسته ثبت شود، که آدرسی باشد که دسته در آن قرار خواهد گرفت. در مثال من، به این صورت خواهد بود: http://site.ru/primer_category/

حالا بیایید مستقیماً یک آیتم جدید به منوی dle اضافه کنیم.

برای انجام این کار، در پنل مدیریت باید به قسمت "Website Templates" بروید.

و سپس در صورت استفاده از یک قالب استاندارد که منوهای سایت در آن ثبت شده اند، باید یکی از دو فایل را انتخاب کنید. دو نوع منو در قالب استاندارد وجود دارد: این، و افقی و عمودی. فایل topmenu.tpl مسئول منوی افقی و فایل sidebar.tpl مسئول منوی عمودی ستون سمت چپ سایت است. هر دوی این فایل ها را می توانید در ستون سمت چپ قسمت Site Templates پیدا کنید. و با کلیک بر روی یکی از آنها کد این فایل در ستون سمت راست ظاهر می شود.

پس از باز کردن فایل، ما باید هر مورد موجود را در فایل خود تعمیر کنیم. یعنی نام را در این مورد به نام دسته تغییر دهید. و به جای # پیوندی را به خود دسته (نام جایگزین) جایگزین کنید. یعنی اگر آیتم «درباره سایت» را جایگزین کنم، کد منو به این شکل خواهد بود:

بر اساس قیاس، می توانید بقیه موارد منو را تغییر دهید. در مورد منوی دوم، افقی، وضعیت دقیقاً همان است. و البته، هر چیزی که نیاز ندارید را می توان حذف کرد. و البته فایل ویرایش شده را ذخیره کنید.

اگر در مورد چیزی مطمئن نیستید، مثلاً چیزی اضافی را حذف خواهید کرد، فقط آن را انجام دهید تا در شرایط پیش بینی نشده بتوان آن را بازیابی کرد.

و این همه برای من است.

سلام. من می خواهم این موضوع را به ایجاد ساده ترین ماژول برای محبوب اختصاص دهم CMS Datalife Engine. در روسیه، و همچنین در کشورهای CIS، بسیار محبوب است، اما به دلایلی هنوز هیچ مقاله ای در مورد این cms در Habré وجود ندارد. من سعی خواهم کرد این سوء تفاهم را اصلاح کنم. در این مقاله با نحوه ساخت یک ماژول ساده برای این CMS و همچنین با ساختار موتور آشنا می شوید.

معرفی

می خواهم توجه داشته باشم که این سیستم در بین سایت های سرگرمی مورد تقاضا است. قابل درک است، استفاده از سیستم آسان است، دارای تعداد کافی ماژول و قالب است. و تقریباً هر چیزی که نیاز دارید خارج از جعبه است. با این حال، گاهی اوقات چیزی گم می شود. ما سعی خواهیم کرد این مشکل را حل کنیم.

چرا DLE؟

احتمالا تعجب خواهید کرد که چرا این CMS خاص را انتخاب کردم. پاسخ ساده است: ساختار نسبتاً منطقی خود موتور، جداسازی الگوها از کد، موتور قالب نسبتاً ساده، دوباره، قرار دادن نسبتاً منطقی همه چیز در داخل - به راحتی می توان فهمید که چیست. به علاوه، سیستم نسبتاً سبک و راحت باقی می ماند. به عنوان مثال دروپال کاربردی نیست، اما هنوز آن را دوست دارم.

ساختار

ابتدا باید چیزی در مورد ساختار موتور بدانیم. شما نمی توانید در سرور آشفتگی ایجاد کنید، بنابراین ما همه چیز را در پوشه های خود نگه می داریم.

ماژول های کارکرد موتور معمولا در یک پوشه قرار می گیرند /موتور/ماژول/.

در پوشه /engine/inc/فایل های پنل مدیریت قرار دارند.

با شروع نسخه 8.x، به نظر می رسید که ماژول ها را مستقیماً در قالب متصل می کند. قالب در پوشه /templates/template_name/ قرار دارد. این پوشه حاوی فایل main.tpl است.این فایل قالب ریشه است که معمولا ساختار اصلی قالب در آن قرار دارد. معمولا ماژول را می توان به این صورت متصل کرد:

(شامل file="engine/modules/mod_category.php")

جایی که mod_category.php فایلی است که در رده /engine/modules/ قرار دارد. من فکر می کنم همه اینها واضح است، بیایید ادامه دهیم.

بیایید یک ماژول برای نمایش آخرین نظرات با کش بسازیم. برای انجام این کار، اجازه دهید یک فایل در پوشه /engine/modules/ ایجاد کنیم و آن را mod_lastcomm.php بنامیم.

کد

DATALIFENGINE". این ثابت در index.php تعریف شده است و مقدار TRUE آن نشان می دهد که فایل با include/require همراه است و نه فقط اجرا می شود. */ if(!defined("DATALIFEENGINE")) (die("تلاش برای هک!" ) ) /* کلاس api را قرار دهید تا بتوانیم از توابع برای کار با کش استفاده کنیم. */ شامل ("engine/api/api.class.php")؛ /* سعی کنید اطلاعات ذخیره شده در حافظه پنهان را از نام lastcomm. توصیه می‌کنم برای هر چیزی که در حافظه پنهان ذخیره می‌کنیم، نام‌های معنی‌داری بدهید. lastcommیک فایل در یک پوشه است /engine/cache/، ولی 60طول عمر کش بر حسب ثانیه است. در این صورت، اگر بیش از 60 ثانیه از زمان ایجاد فایل گذشته باشد، دوباره باید به پایگاه داده صعود کنیم. */ $lastcomm=$dle_api->load_from_cache("lastcomm", 60); /* بررسی کنید که آیا کش داریم یا نه. اگر نه، پس ما به پایگاه داده صعود می کنیم. */ if (!$lastcomm) ( /* پرس و جو واقعی پایگاه داده. با استفاده از تابع کلاس $db اجرا می شود. ثابت PREFIX حاوی پیشوندی است که هنگام تنظیم cms مشخص شده است. نام ستون ها کاملاً عادی نامگذاری شده اند، فکر می کنم نیازی به توضیح نیست. .flag, post.category, post.date as newsdate , post.title, post.alt_name FROM " . PREFIX . "_comments as comments," . PREFIX. "_post as post WHERE post.id=comments.post_id ORDER BY نظرات. date DESC LIMIT 0.20")؛ /* C با استفاده از تابع get_row() کلاس $db، هر سطر را از نتایج انتخاب به صورت متوالی می خوانیم. اطلاعات در آرایه ردیف $ با شاخص هایی برابر با نام فیلدهای جدول وارد می شود * / while ($row = $db->get_row($sql)) ( /* در صورت لزوم عنوان خبر را کوتاه کنید */ if (strlen($row["title"]) > 50) ($title = substr($row[ "title"], 0, 50)"..."; ) else ($title = $row["title"];) /* فرم با لینک به پروفایل کاربر به طور مشابه */ $aname=urlencode($row["autor"]); $name=" ".$row["نویسنده"] .""; /* ما متن نظر را تشکیل می دهیم و در صورت لزوم آن را برش می دهیم */ $text = htmlspecialchars($row["text"]); if (strlen($text) > 1024) $text= substr($text, 0, 1024) "..."؛ /* یک پیوند به اخبار ایجاد کنید. آرایه $config شامل تمام تنظیمات سیستم است. به ویژه، $config["http_home_url"] آدرس دامنه است. */ $newslink = $ config["http_home_url"].$ row["post_id"]."-".$row["alt_name"].".html"؛ $hint = "onMouseover=\"showhint("$text"، این، رویداد , "");\"" ; $title = "(!LANG: ".stripslashes($title).""; /* ورودی کل برای یک نظر */ $lastcomm.="از $name در اخبار:
$title

"; ) $db->free(); /* داده های دریافتی را ذخیره کنید. برای درک بهتر توابع ذخیره سازی، فایل "engine/api/api.class.php" را باز کنید. >save_to_cache (" lastcomm، $lastcomm); ) /* خروجی نتیجه */ echo $lastcomm; ?>

نتیجه

این کد کاملا کاربردی است. و البته معایبی هم دارد. به عنوان مثال، برای پیوندها بررسی نمی شود - آیا CNC فعال است یا خیر. یا وقتی روی لینک پروفایل کاربر کلیک می کنید، بلافاصله به پروفایل او می رسیم و نه به پنجره jQuery با اطلاعات مختصر. به طور کلی، چیزی برای بهبود وجود دارد. اما همه این موارد فقط به یک دلیل در اینجا گنجانده نشده است - برای جلوگیری از سردرگمی برای یک مبتدی. همچنین به شما توصیه می کنم فایل های دیگر مانند topnews.php را آنالیز کنید. اگر در مورد ماژول های رایتینگ یا به طور کلی در مورد سیستم سوالی دارید، خوشحال می شوم به آنها پاسخ دهم.

این همه برای من است، اگر این موضوع برای کسی جالب به نظر برسد، یک سری مقاله در مورد موتور cms Datalide (DLE) خواهم ساخت.

اوه بله، این اولین مقاله من در Habré است، بنابراین اگر چیزی اشتباه است، ببخشید.

درود بر همه کسانی که وقت گرانبهای خود را به این سطور اختصاص می دهند.

در این مقاله می خواهم در مورد راه های پیکربندی بهینه سرور DataLife Engine و سیستم مدیریت محتوا صحبت کنم. در 4 سال کار با سایت ها و سرورهای اینترنتی متوجه شدم که امنیت بالاتر از راحتی است و باید به آن توجه شود. رزرو: ادعای مالکیت بر مالکیت معنوی هیچکس ندارم! همه مطالب در اینترنت جمع آوری شده است.

مراحل زیر برای کمک به توزیع بار سرور، محافظت از آن در برابر حملات DOS، محدود کردن دسترسی به پروتکل FTP و پیکربندی صحیح سیستم DataLife Engine توضیح داده خواهد شد.

محافظت و پیکربندی سرور شما

1. پیکربندی سرور را با استفاده از بسته نرم افزاری Nginx به Apache تنظیم کنید.

مزایای چنین طرحی را می توان با یک مثال کوچک درک کرد. تصور کنید که وب سرور آپاچی شما نیاز به سرویس دهی به 1000 درخواست به طور همزمان دارد و بسیاری از آنها به لینک های آهسته متصل هستند. در صورت استفاده از آپاچی 1000 پروسه httpd بدست می آوریم که به هر کدام از آنها رم اختصاص داده می شود و تا زمانی که کلاینت محتوای درخواستی را دریافت نکند، این حافظه آزاد نمی شود.

در مورد طرحی که از سرور فرانت‌اند استفاده می‌کند، به دلیل این که پس از دریافت درخواست، nginx درخواست را به آپاچی ارسال می‌کند و به سرعت پاسخ دریافت می‌کند، صرفه‌جویی قابل توجهی در منابع خواهیم داشت. در نتیجه آپاچی پس از دادن پاسخ به nginx حافظه را آزاد می کند. در مرحله بعد، وب سرور nginx با مشتری تعامل می کند، که فقط برای توزیع محتوای ثابت بین تعداد زیادی از مشتریان با مصرف کمی از منابع سیستم نوشته شده است.

برای عملکرد صحیح باندل ما به یک ماژول برای آپاچی نیاز داریم. چنین نیازی به دلیل زیر وجود دارد: درخواست‌ها به Apache از آدرس IP که nginx روی آن اجرا می‌شود می‌آید، به ترتیب، فقط آدرس IP سرور nginx در فایل‌های گزارش آپاچی ظاهر می‌شود. همچنین، بدون استفاده از این ماژول، مشکلات با اسکریپت هایی که از آدرس IP بازدیدکننده استفاده می کنند شروع می شود و مکانیسم محدود کردن دسترسی توسط آدرس های IP با استفاده از htaccess به درستی کار نمی کند.

نصب NGINX بر روی سیستم عامل های محبوب.

Red Hat Enterprise Linux 4 / CentOS 4
برای نصب nginx در این سیستم عامل ها، باید یک مخزن بسته اضافی را فعال کنید.

Red Hat Enterprise Linux 5 / CentOS 5
برای نصب nginx بر روی این سیستم عامل ها، باید یک مخزن بسته اضافی EPEL را فعال کنید.

سرور ASPLinux 5 / فدورا
nginx در بسته توزیع استاندارد گنجانده شده است.

اگر مخازن متصل باشند یا به سادگی مورد نیاز نباشند، اجرا می کنیم: یام nginx را نصب کنید

نصب آپاچی

برای نصب وب سرور آپاچی کافیست: yum httpd را نصب کنید

mod_rpaf را نصب کنید.

1. بسته httpd-devel را نصب کنید:

yum -y httpd-devel را نصب کنید


2. mod_rpaf را دانلود و نصب کنید:
دایرکتوری /usr/local/src را وارد می کنیم

سی دی /usr/local/src


فایل mod_rpaf-0.6.tar.gz را در /usr/local/src بارگیری کنید

wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz


بسته mod_rpaf-0.6.tar.gz را باز کنید

tar xzf mod_rpaf-0.6.tar.gz


به دایرکتوری که در آن بسته بندی کرده اید بروید

ماژول را در سیستم قرار می دهیم

apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c


3. در مرحله بعد، باید یک فایل پیکربندی mod_rpaf - /etc/httpd/conf.d/rpaf.conf ایجاد کنید و خطوط زیر را به آن اضافه کنید:


RPAFenable روشن
RPAFproxy_ips 127.0.0.1 xx.xx.xx.xx yy.yy.yy.yy


که در آن xx.xx.xx.xx و yy.yy.yy.yy آدرس های IP سرور شما هستند. اگر بیش از دو IP در سرور وجود دارد، آنها را به همین ترتیب اضافه کنید.

راه اندازی مجدد سرویس httpd


4. در nginx، خطوط زیر باید در داخل بلوک http () مشخص شود:

proxy_set_header میزبان $host;


اگر این خطوط مشخص شده اند، نیازی به اضافه کردن ندارید.

اگر nginx.conf اصلاح شده است، nginx را مجددا راه اندازی کنید:

/etc/init.d/nginx stop
/etc/init.d/nginx start


5. چگونه بررسی کنیم که آیا ماژول نصب شده کار می کند؟
در هر یک از دامنه هایی که در سرور شما قرار دارد، فایل test.php را با محتوای زیر قرار دهید:

" echo $_SERVER["REMOTE_ADDR"]; ?>"


سپس پیوندی را دنبال کنید که domain.tcom نام دامنه شماست. اگر IP متفاوتی با IP سرور شما نمایش داده شود، ماژول به درستی کار می کند.

راه اندازی nginx

فایل پیکربندی nginx برای کار به عنوان یک سرور فرانت اند در زیر آمده است. فرض بر این است که nginx روی تمام رابط‌های پورت 80 اجرا می‌شود و آپاچی روی رابط 127.0.0.1 و پورت 8080 اجرا می‌شود. این فایل پیکربندی را در فهرست /etc/nginx/ با نام nginx.conf ذخیره کنید.

کاربر nginx;
worker_processes 10;
error_log /var/log/nginx/error.log اشکال زدایی;
pid /var/run/nginx.pid;

مناسبت ها (
worker_connections 20000;
}

http(
شامل /etc/nginx/mime.types.
default_type application/octet-stream;
log_format اصلی "$remote_addr - $remote_user [$time_local] $status"
""$request" $body_bytes_sent "$http_referer" "
""$http_user_agent" "http_x_forwarded_for"";
access_log /var/log/nginx/access.log main;
ارسال فایل در
tcp_nopush on;
tcp_nodelay روشن.
keepalive_timeout 30;
send_timeout 900;
server_tokens خاموش.
سرور(
گوش کن 80;
نام ارائهکننده_؛
server_name_in_redirect off;
access_log /var/log/nginx/host.access.log main;
محل / (
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header میزبان $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
مشتری_حداکثر_اندازه_بدن 10 متر;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 10m;
}
}


راه اندازی آپاچی

در فایل پیکربندی آپاچی /etc/httpd/conf/httpd.conf خط را پیدا کنید:

و آن را با خط زیر جایگزین کنید:

127.0.0.1:8080 گوش کنید


تنظیمات mod_rpaf.

ماژول mod_rpaf را به فایل پیکربندی آپاچی خود اضافه کنید. برای انجام این کار، خط زیر را به فایل /etc/httpd/conf/httpd.conf اضافه کنید:

LoadModule rpaf_module modules/mod_rpaf-2.0.so


سپس خطوط زیر را به همان فایل اضافه کنید:

RPAFenable روشن
RPAFsethostname خاموش است
RPAFproxy_ips 127.0.0.1 192.168.0.1
RPAFheader X-Real-IP


به جای 192.168.0.1، باید آدرس IP سرور را قرار دهید.

2. پیکربندی سرور برای محافظت در برابر حملات dos.

ما ذخیره صفحه اصلی را در nginx برای کسانی که کوکی ندارند فعال می کنیم.

اضافه کردن محدودیت به nginx.conf:

limit_req_zone $binary_remote_addr zone=two:20m rate=2r/s;
سرور(
محل / (
محدوده_قطع=دو انفجار=5;
}
}
}


ما از tail و awk استفاده می کنیم:

tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1 اینچ 503


ما لاگ را وصل می کنیم:

tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503 | awk "( چاپ $1 )"


ما IP ماشین ها را دریافت می کنیم:

iptables -A INPUT -p tcp -j DROP -s $IP


IP را در فایروال وارد می کنیم:

tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503 | awk "( چاپ $1 )" | xargs -t -l iptables -A INPUT -p tcp -j DROP –s


حالا اجازه دهید connlimit را برای iptables برای محدود کردن اتصالات ربات تنظیم کنیم. در قوانین، ما مجوز برای 5 اتصال از یک IP و 25 اتصال از زیر شبکه کلاس C را تعیین می کنیم.

حمله DDOS از 16000 ربات - میانگین بارگذاری: 1.4 1.9 2.0

محدودیت دسترسی به FTP

برای این کار به یک فایل .ftpaccess نیاز داریم. به رد یا اجازه دسترسی FTP از آدرس های IP مشخص شده کمک می کند. ممکن است کسی این سوال را بپرسد: "من یک IP پویا دارم، چگونه می توانم به درستی از ftpaccess. استفاده کنم؟" تنها پاسخ منظور من این است: "اگر به این افزونه امنیتی نیاز دارید، یک IP ثابت از ISP خود دریافت کنید. آنها از شما پول زیادی نمی خواهند.»

برای ایجاد فایل .ftpacces به دسترسی SSH نیاز داریم. می توانید از winscp استفاده کنید. تنظیمات زیادی در ftpaccess. می تواند وجود داشته باشد، اما ما فقط به یک پارامتر علاقه مند هستیم. با نوشتن این خطوط در فایل، دسترسی همه را به طور کامل مسدود خواهید کرد:

انکار از همه


پس از موارد فوق، هیچ کس نمی تواند به FTP دسترسی داشته باشد. برای افزودن مجوز دسترسی به یک IP خاص، باید پارامترهای زیر را مشخص کنید:

اجازه از 127.0.0.1
انکار از همه


طبیعتاً آدرس 127.0.0.1 به عنوان نمونه نشان داده شده است و باید با آدرس خود جایگزین شود.

مهم!بهتر است دسترسی FTP را برای همه افراد غیرفعال کنید و فقط از طریق SSH متصل شوید.

حفاظت از سیستم مدیریت محتوا DataLife Engine.

1. نصب و پیکربندی کنید.

2. نام فایل پنل مدیریت را تغییر دهید و هنگام مراجعه به آدرس قدیمی (www.sait.com/admin.php) یک جعلی بسازید که کاربر با ممنوع کردن ip او در htaccess. مسدود می شود.

تغییر نام داد؟ اکنون یک فایل ip.txt در دایرکتوری ریشه ایجاد می کنیم تا آدرس های IP را ذخیره کنیم. ما به او و htaccess. حقوق CHMOD - 777 می دهیم.

یک فایل admin.php با محتوای زیر ایجاد کنید:


$ip = getenv("REMOTE_ADDR");

$log = fopen("ip.txt"، "a+");
fwrite($log, "// ".$ip."\n");
fclose($log);

$f = fopen($_SERVER["DOCUMENT_ROOT"] . "/.htaccess"، "a");
fwrite($f, "\ndeny from " . $ip);
fclose($f);

پنل مدیریت DataLife Engine

به عنوان مثال متن: ip شما در لاگ است، من شما را پیدا خواهم کرد!

ترس، کوچولو، ها ها!

"
3. اجازه دهید احراز هویت اضافی را در مرکز مدیریت اضافه کنیم.

شما باید یک لاگین و رمز عبور دیگر ایجاد کنید (از جزئیات حساب اداری خود استفاده نکنید). ورود و رمز عبور دوم باید اساساً با اولی متفاوت باشد. تصمیم گرفت؟ خوب! حالا بیایید رمز عبور خود را در md5 رمزگذاری کنیم (این کار را می توانید در وب سایت md5encryption.com انجام دهید).
بعد، admin.php را باز کنید (به یاد داشته باشید که قبلاً آن را تغییر نام دادیم و بنابراین، اگر نام آن را superadmin.php گذاشته اید، باید این یکی را باز کنید) و بعد از خط:

اضافه کردن:

$login="ورودی را که ساخته اید وارد کنید";
$password="و رمز عبور ایجاد شده در md5";
if (!isset($_SERVER["PHP_AUTH_USER"]) || $_SERVER["PHP_AUTH_USER"]!==$ورود به سیستم ||
md5($_SERVER["PHP_AUTH_PW"])!==$password) (
header("WWW-Authenticate: Basic realm="Admin Panel"");
header ("HTTP/1.0 401 غیر مجاز");
exit ("دسترسی ممنوع")؛


4. توابع php استفاده نشده توسط سیستم را غیرفعال کنید.

برای جستجوی فایل php.ini، یک فایل phpinfo.php با متن ایجاد کنید:

بعد از جستجو حتما phpinfo.php را پاک کنید!

disable_functions = allow_url_fopen، eval، exec، system، passthru، scandir، popen، shell_exec، proc_open، proc_close، proc_nice، get_current_user، getmyuid، posix_getpwuid، apache_get_modules، apache_get_modules_get apache_get_modules_get apache_get_modules_get apache_get_modules_get apache_get_modules_get apache_get_modules_get apache_get_modules_get apache_get_modules_get apache_get_modules_get apache_get_modules. disk_free_space، diskfreespace، dl، ini_restore، openlog، syslog، highlight_file، show_source، symlink، disk_total_space، ini_get_all، get_current_user، posix_uname، allow_url_fopen


5. ایجاد فیلتر درخواست های GET و POST، جلوگیری از تزریق به پایگاه داده و گرفتن داده ها از آن.

یک فایل php با نام دلخواه و محتوای زیر ایجاد کنید:

اگر می خواهید اشکال زدایی پرس و جو را فعال کنید، // را روی یک تنظیم کنید
$debug = 0;

$bag_req = آرایه("انتخاب"، "eval"، "echo"، "UPDATE"، "LIMIT"، "INSERT"، "INTO"، "union"، "CONCAT"، "INFORMATION_SCHEMA"، "OUTFILE"، " DUMPFILE، "LOAD_FILE"، "BENCHMARK"، "SUBSTRING"، "ASCII"، "CHAR"، "پایگاه داده"، "HEX"، "\\.\\/"، "%00"، "\\.htaccess" "، "config\\.php", "document\\.cookie");
$request = serialize($_GET);


if ($_GET)
{
foreach ($bag_req به عنوان $key => $value) (
{
پرس و جو در آرایه یافت شد ارزش دلار
$request";
}
}
}
if ($_POST)
{
$request = str_replace("selected_language", "sl", serialize($_POST));
$urequest = urldcode($request);
$brequest = base64_decode($request);
foreach ($bag_req به عنوان $key => $value) (
if(preg_match("/$value/i"، $request) || preg_match("/$value/i"، $urequest) || preg_match("/$value/i"، $brequest))
{
if($debug == "1") $do_debug = "
پرس و جو در آرایه یافت شد ارزش دلار، که عملکرد صحیح را مسدود می کند
$request";
die("درخواست بد $do_debug");
}
}
}
?>


ما آن را در سرور در هر فهرستی از سیستم DLE ذخیره می کنیم. فایل engine/classes/mysql.php را باز کنید و بعد از آن:

if(!defined("DATALIFEENGINE"))
{
die ("تلاش برای هک!");
}


فایل ایجاد شده را وصل کنید:

include_once(ENGINE_DIR."/path_to_file/name.php");


6. هنگام استفاده از قطعات رایگان برای DLE، حتما نظر متخصص را در مورد قابلیت اطمینان آنها جلب کنید.

اگر سؤالی دارید، لطفاً با موتورهای جستجو تماس بگیرید - همه مطالب به صورت رایگان در دسترس است!
چیزی برای اضافه کردن دارید؟ به بحث خوش آمدید!

برای شما و پروژه هایتان موفق باشید!

DLE یا DataLife Engine یک CMS پولی برای مدیریت محتوای وب سایت شما است. CMS دارای یک سیستم قدرتمند برای مدیریت اخبار، نشریات، مقالات، کاربران است و برای ایجاد پورتال های اطلاعاتی و وبلاگ ها طراحی شده است. به لطف بسیاری از ویژگی های داخلی و استفاده از فناوری پیشرفته AJAX در CMS، سایت شما حتی با تعداد بازدیدکنندگان زیاد، منابع سرور کمتری مصرف می کند. در این راهنما، نحوه نصب DLE در هاستینگر را یاد خواهید گرفت.

قبل از شروع این راهنما، به موارد زیر نیاز دارید:

  • به کنترل پنل هاست خود دسترسی داشته باشید

نحوه نصب DLE در هاستینگر

قبل از شروع نصب DLE، باید این مراحل را انجام دهید:

مرحله 1 - دانلود فایل های راه اندازی DLE

پوشه را باز کنید بارگذاریدر سرویس گیرنده FTP خود و همه فایل ها را از پوشه به حساب میزبانی خود در دایرکتوری آپلود کنید public_html.

یادداشت!در این آموزش، ما از FileZilla برای آپلود فایل ها استفاده می کنیم، اما شما می توانید از هر مشتری FTP که دوست دارید استفاده کنید.

مرحله 3 - تنظیم مجوزهای فایل

نصب DLE به صورت خودکار انجام می شود، تنها کاری که باید انجام دهید این است که مجوزهای مناسب را برای چند پوشه و فایل جداگانه که قبلاً در حساب میزبانی خود آپلود کرده اید تنظیم کنید.

  1. ابتدا مجوزهای نوشتن را برای پوشه تنظیم کنید قالب هاو تمام زیر پوشه های آن برای این کار روی پوشه کلیک راست کنید قالب هادر رابط FileZilla و گزینه را انتخاب کنید ویژگی های فایل ...

  1. سپس در پنجره ظاهر شده وارد شوید مقدار عددی 777 برای تغییر مجوزهای نوشتن، کادر کناری را علامت بزنید تغییر مسیر به دایرکتوری های تو در توو علامت گذاری کنید فقط برای دایرکتوری ها اعمال شود.

  1. در مرحله بعد، باید مجوزها را برای همه فایل‌های موجود در پوشه تغییر دهید قالب هااما با مجوزهای 666. برای این کار، ویژگی های پوشه را دوباره باز کنید قالب هاو بپرس مقدار عددی 666، کادر کناری را علامت بزنید تغییر مسیر به دایرکتوری های تو در تو → فقط برای فایل ها اعمال شود.

  1. همین کار را با پوشه ها انجام دهید پشتیبان گیری، آپلودو همچنین برای تمام پوشه های داخل آنها. بعدی برای پوشه ها /engine/data/، /engine/cache/، /engine/cache/system/. برای همه دایرکتوری های مشخص شده، مجوزهای نوشتن را روی 777 تنظیم کنید.
  2. اکنون می توانید نصب DLE را شروع کنید.

مرحله 4 - نصب DLE در هاستینگر

برای شروع نصب، نام دامنه خود را در مرورگر وارد کنید. اگر پنجره نصب به طور خودکار باز نشد install.php را به نام دامنه خود اضافه کنید. برای مثال، your-domain.ru/install.php.

  1. اگر همه چیز به درستی انجام شود، پنجره DataLife Engine Installation Wizard را خواهید دید. روی دکمه کلیک کنید نصب را شروع کنید.

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

  1. در پنجره بعدی بررسی کنید که سرور شما شرایط لازم را دارد و روی دکمه کلیک کنید ادامه دهید.

  1. در مرحله بعد، بررسی کنید که مجوزهای فایلی که قبلاً تنظیم کرده اید صحیح باشد. اگر همه چیز درست است، دوباره کلیک کنید ادامه دهید.

  1. در پنجره جدید، باید جزئیات پایگاه داده خود و جزئیات حساب مدیر سایت DLE خود را وارد کنید.

  • آدرس سایت- آدرس وب سایت شما

داده ها برای دسترسی به سرور MySQL.

  • سرور MySQL– سرور MySQL میزبانی پایگاه داده شما. اگر کاربر هاستینگر هستید، می توانید اطلاعات مورد نیاز خود را در بخش پیدا کنید پایگاه های داده → پایگاه های داده MySQL.
  • نام پایگاه دادهنام پایگاه داده MySQL شما است.
  • نام کاربرینام کاربری است که به پایگاه داده شما اختصاص داده شده است.
  • کلمه عبور– رمز عبور از حساب کاربری پایگاه داده شما.
  • پیشوند– پیشوند جدول پایگاه داده MySQL. می توانید آن را بدون تغییر رها کنید.
  • موتور پایگاه داده- توصیه می شود مقدار پیش فرض را رها کنید. InnoDB.
  • UTF 4 بایت– هنگامی که این گزینه فعال باشد، DLE اطلاعات اضافی را در پایگاه داده ذخیره می کند. این گزینه ممکن است بر عملکرد سایت شما تأثیر بگذارد.

داده ها برای دسترسی به کنترل پنل.

برای دسترسی به کنترل پنل سایت خود داده ها را وارد کنید. آدرس ایمیل واقعی خود را وارد کنید، از آن برای بازگرداندن دسترسی به حساب مدیر استفاده می شود.

تنظیمات اضافی

پشتیبانی CNC را فعال کنید- URL قابل خواندن توسط انسان را فعال کنید. با فعال شدن این گزینه، عنوان مقاله در آدرس مقاله نمایش داده می شود. این ویژگی برای بهینه سازی سئو مفید است.

  1. برای جلوگیری از راه اندازی مجدد نصب یا به روز رسانی، فایل را حذف کنید install.phpو پوشه ارتقا دهیداز دایرکتوری وب سایت شما روی دکمه کلیک کنید ادامه دهید.

تبریک می گوییم، شما با موفقیت DLE را برای وب سایت خود در هاستینگر نصب کردید.

نتیجه

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

برترین مقالات مرتبط