راهنمای کامل DirectAdmin API و سفارشی‌سازی Workflow: آیتم‌های سفارشی، ویجت‌ها، اسکین‌ها و ساخت پکیج‌های اختصاصی

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

DirectAdmin API, custom package itemsfeature setswidget control, skin customization, email-only package

~3 دقیقه مطالعه · آخرین به‌روزرسانی ۱۰ اسفند ۱۴۰۴

1. DirectAdmin API چیست؟


DirectAdmin API ابزاری است که به شما اجازه می‌دهد اسکریپت‌های خودتان—چه روی همان سرور و چه روی سرورهای دیگر—به DirectAdmin متصل شوند و عملیات مختلف را انجام دهند.


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


نکته مهم: همه CMD_APIها در api.html لیست نشده‌اند؛ باید در سیستم نسخه‌ها جستجو کنید.


---

2. آیتم‌های سفارشی پکیج و دامنه


با Custom Domain/Package Items می‌توانید گزینه‌های جدیدی به پکیج‌ها یا دامنه‌ها اضافه کنید. این گزینه‌ها می‌توانند:


  • text
  • checkbox
  • listbox
  • و…

مقادیر ذخیره می‌شوند در:


  • user.conf و reseller.conf برای پکیج‌ها
  • domain.com.conf برای دامنه‌ها

می‌توانید با هوک‌های زیر براساس این مقادیر عملیات خودکار انجام دهید:


  • user_create_post.sh
  • user_modify_post.sh
  • domain_create_post.sh

---

3. محدودسازی ری‌استور آیتم‌های سفارشی فقط برای Admin


در فایل:


/usr/local/directadmin/data/admin/custom_domain_items.conf

می‌توانید به هر آیتم اضافه کنید:


&admin_restore_only=yes

این باعث می‌شود هنگام ری‌استور:


  • اگر ری‌استور از سطح Admin باشد → آیتم ری‌استور می‌شود
  • اگر از سطح User یا Reseller باشد → نادیده گرفته می‌شود

---

4. ویجت‌های سفارشی برای هر کاربر یا ریسلر


در فایل‌های user.conf و reseller.conf می‌توانید تعیین کنید چه ویجت‌هایی نمایش داده شوند.


گزینه‌ها:


  • widgets=ON → همه ویجت‌ها فعال
  • widgets=OFF → همه ویجت‌ها غیرفعال
  • widgets=ON:WGT_DB|WGT_PLUGINS_HELLO_WORLD → فقط این ویجت‌ها فعال
  • widgets=OFF:WGT_DB → فقط این ویجت غیرفعال

این قابلیت فعلاً در UI نیست، اما می‌توان آن را با Custom Package Items کنترل کرد.


---

5. سفارشی‌سازی اسکین‌ها


5.1 سفارشی‌سازی Evolution از طریق پنل


از مسیر:


Customize Evolution Skin

تمام تغییرات در مسیر زیر ذخیره می‌شود:


/usr/local/directadmin/data/users/{username}/skin_customizations/evolution

5.2 ساخت skin.conf سفارشی


برای override کردن تنظیمات:


/usr/local/directadmin/data/users/CREATOR/skin_customizations/evolution/skin.conf

مثال: محدود کردن ویجت‌ها:


user_widgets=WGT_DB|WGT_EMAIL

5.3 ساخت اسکین اختصاصی


cd /usr/local/directadmin/data/skins
cp -Rp enhanced yourskin

اسکین‌ها از PHP/Perl و سیستم if-else پشتیبانی می‌کنند.


---

6. گزینه‌های عمومی DirectAdmin


DirectAdmin صدها گزینه در directadmin.conf دارد. همیشه قبل از تغییر، مقدار قبلی را یادداشت کنید تا در صورت نیاز بتوانید آن را برگردانید.


---

7. ساخت پکیج اختصاصی “فقط ایمیل”


در این مثال، با ترکیب چند قابلیت DirectAdmin یک پکیج Email-Only می‌سازیم.


7.1 ساخت آیتم سفارشی پکیج


فایل:


/usr/local/directadmin/data/admin/custom_package_items.conf

محتوا:


account_allow=type=listbox&item1txt=All Features&item1val=all&item2txt=E-Mail Only&item2val=email&string=Select Featureset&desc=Ability to select core features&default=all

7.2 ساخت هوک user_create_post.sh


#!/bin/sh
CA=/usr/local/directadmin/data/users/$username/commands.allow
if [ "${account_allow}" = "email" ]; then
      cp -f /root/allows/email.list $CA
fi
if [ "${account_allow}" = "" ] || [ "${account_allow}" = "all" ]; then
       rm -f $CA
fi
exit 0;

قابل اجرا:


chmod 755 /usr/local/directadmin/scripts/custom/user_create_post.sh

7.3 ساخت فایل email.list


این فایل شامل تمام CMDهای مربوط به ایمیل است:


CMD_EMAIL_POP
CMD_EMAIL_FORWARDER
CMD_EMAIL_LIST
CMD_EMAIL_AUTORESPONDER
CMD_EMAIL_VACATION
CMD_EMAIL_USAGE
CMD_WEBMAIL_LOGIN
CMD_PASSWD
CMD_LOGIN
CMD_LOGOUT
CMD_USER_STATS
CMD_USER_HISTORY
CMD_TICKET
CMD_TICKET_CREATE
CMD_WIDGET
...

7.4 فعال‌سازی برای user_modify_post.sh


cd /usr/local/directadmin/scripts/custom
ln -s user_create_post.sh user_modify_post.sh

اکنون پکیج “فقط ایمیل” کاملاً عملیاتی است.


نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

راهنمای کامل پیکربندی کلاینت‌های ایمیل، هشدارهای quota در Dovecot و بررسی آخرین لاگین‌ها در DirectAdmin

این مقاله یک مرجع جامع برای کاربران و مدیران DirectAdmin است. در این راهنما یاد می‌گیرید چگونه ایمیل را روی iPhone، Thunderbird و Gmail تنظیم کنید، هشدارهای پر شدن quota را در Dovecot فعال کنید و با یک اسکریپت ساده، آخرین زمان لاگین تمام حساب‌های ایمیل را مشاهده کنید.

ادامه

عیب‌یابی Dovecot در DirectAdmin – رفع خطاهای IMAP، مشکلات احراز هویت و بررسی گواهی SSL

Dovecot سرویس اصلی IMAP/POP3 در DirectAdmin است. گاهی کاربران هنگام ورود به وب‌میل یا کلاینت ایمیل با خطاهایی مثل "Connection dropped" یا "unknown user" مواجه می‌شوند. این مقاله یک راهنمای کامل برای رفع خطاهای رایج Dovecot، پاک‌سازی ایندکس‌ها، بررسی دیتابیس‌های احراز هویت و تست گواهی SSL روی پورت‌های 143 و 993 است.

ادامه

عیب‌یابی DNS در DirectAdmin – وقتی named اجرا می‌شود اما دامنه resolve نمی‌شود

گاهی سرویس named (BIND) روی سرور اجرا می‌شود اما دامنه‌ها resolve نمی‌شوند یا از بیرون پاسخ DNS دریافت نمی‌شود. این مقاله یک راهنمای کامل برای بررسی listen، فایروال، تنظیمات named.conf، propagation، رکوردهای اشتباه، مشکلات ساب‌دامین، resolv.conf و خطاهای رایج DNS در DirectAdmin است.

ادامه

مدیریت رکوردهای DNS در DirectAdmin – راهنمای کامل، کاربردی و حرفه‌ای

DirectAdmin ابزارهای قدرتمندی برای مدیریت DNS ارائه می‌دهد: از کاهش TTL برای جلوگیری از downtime، تا ساخت رکوردهای SRV، فعال‌سازی DNSSEC، مدیریت delegation ساب‌دامین‌ها، افزودن خودکار TLSA برای DANE و حتی تغییرات گروهی (Mass Update) روی همه دامنه‌ها. این مقاله یک مرجع کامل برای مدیریت حرفه‌ای DNS در DirectAdmin است.

ادامه

DNS و Nameserverها در DirectAdmin – راهنمای کامل، کاربردی و حرفه‌ای

DNS ستون فقرات اینترنت است و وظیفه دارد نام دامنه را به IP تبدیل کند. در DirectAdmin می‌توان Nameserverهای اختصاصی ساخت، DNS را مدیریت کرد، DNS Clustering راه‌اندازی کرد و حتی از DNS خارجی استفاده نمود. این مقاله یک راهنمای جامع برای درک DNS، ساخت ns1/ns2، تنظیم Glue Record، رفع خطاها و مدیریت حرفه‌ای DNS در DirectAdmin است.

ادامه

CustomBuild در DirectAdmin – راهنمای کامل نصب، به‌روزرسانی، پیکربندی و سفارشی‌سازی پیشرفته

CustomBuild ابزار اصلی DirectAdmin برای مدیریت سرویس‌ها و نرم‌افزارهای سرور است. این ابزار وب‌سرور، PHP، دیتابیس، ایمیل، FTP و بسیاری از کامپوننت‌های دیگر را نصب، به‌روزرسانی و پیکربندی می‌کند. به دلیل کامپایل از سورس، CustomBuild انعطاف‌پذیری بسیار بالا، سرعت دسترسی به نسخه‌های جدید و مصرف منابع بهینه را فراهم می‌کند.

ادامه