مدیریت پیشرفته کاربران و دامنه‌ها در DirectAdmin – تغییر دامنه، تغییر نام کاربری، انتقال دامنه، ادغام حساب‌ها و اسکریپت‌های مدیریتی

این مقاله یک راهنمای جامع برای انجام عملیات مدیریتی پیشرفته در DirectAdmin است: تغییر نام دامنه، تغییر نام کاربری، انتقال دامنه بین کاربران، ادغام حساب‌ها، رفع خطای Domain Already Exists، ارسال پیام به همه کاربران، مدیریت پکیج‌ها، غیرفعال‌سازی mail_sni و بسیاری از نکات کاربردی دیگر.

Merging AccountsAdministrative Scripts

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

1. چگونه نام یک دامنه را تغییر دهیم؟


برای تغییر نام دامنه (مثلاً domain1.com → domain2.com):

  1. به مسیر User Level → Domain Setup → Change a Domain Name بروید.
  2. دامنه را انتخاب کنید و نام جدید را وارد کنید.

نکات مهم:

  • فایل‌های وب (public_html) و ایمیل‌ها تحت تأثیر قرار می‌گیرند.
  • دیتابیس‌ها تغییر نمی‌کنند؛ ممکن است لازم باشد مسیرها را در اسکریپت‌ها اصلاح کنید.
---

2. چگونه نام کاربری (username) را تغییر دهیم؟


به‌عنوان root در SSH:


cd /usr/local/directadmin/scripts
./change_username.sh olduser newuser

توصیه امنیتی: قبل از تغییر، از تمام دیتابیس‌ها بک‌آپ بگیرید.

---

3. چگونه یک دامنه را از یک کاربر به کاربر دیگر منتقل کنیم؟


از اسکریپت آماده استفاده کنید:


cd /usr/local/directadmin/scripts/
./move_domain.sh domain.com olduser newuser

نکات:

  • اگر newuser وجود ندارد، یک دامنه فیک برایش بسازید، انتقال دهید، سپس دامنه فیک را حذف کنید.
  • برای انتقال دیتابیس‌ها از اسکریپت rename_database_with_user.sh استفاده کنید.
---

4. چگونه دو حساب کاربری را merge (ادغام) کنیم؟


روش ۱: ارتقاء کاربر و حذف حساب قدیمی


cd /usr/local/directadmin/scripts
./user_to_reseller.sh fred
echo "fred" >> /usr/local/directadmin/data/admin/admin.list
perl -pi -e 's/^fred\n//' /usr/local/directadmin/data/admin/reseller.list
perl -pi -e 's/usertype=reseller/usertype=admin/' /usr/local/directadmin/data/users/fred/user.conf

سپس با کاربر fred وارد شوید و حساب admin را حذف کنید.

روش ۲: Restore Merge

اگر کاربر حذف شده، فایل بک‌آپ را rename کنید:


user.admin.fred.tar.gz → admin.root.admin.tar.gz

و Restore کنید.

روش ۳: انتقال دستی (پیشرفته)

  • انتقال همه دامنه‌ها از fred به admin
  • انتقال دیتابیس‌ها با rename_database_with_user.sh
  • انتقال cronjobها با:

crontab -u fred -l
crontab -u admin -e
---

5. رفع خطای Domain Already Exists


اگر دامنه وجود ندارد اما خطا می‌دهد، بررسی کنید:

  • named.conf
  • /etc/virtual/domains
  • /etc/virtual/domainowners
  • /etc/virtual/domain.com
  • فایل‌های .nzf در /var/named

در Multi-Server Setup نیز گزینه Domain Check ممکن است فعال باشد.

---

6. چرا Show All Users برخی کاربران را نشان نمی‌دهد؟


کش خراب شده است. بازسازی کنید:


da taskq --run="action=cache&value=showallusers"

یا فایل را حذف کنید تا DA دوباره بسازد:


rm -f /usr/local/directadmin/data/admin/show_all_users.cache
---

7. چگونه به همه ایمیل‌های سیستم پیام ارسال کنیم؟


  1. Admin Level → Show All Users → Advanced Search
  2. Items per Page = All
  3. Search → Select All → Send a Message
  4. گزینه‌های All E-Mail Accounts و E-Mail Only را فعال کنید.
---

8. چگونه کاربر یا دامنه را از خط فرمان suspend/unsuspend کنیم؟


DirectAdmin v1.595+


/usr/local/directadmin/directadmin --suspend-user user=fred
/usr/local/directadmin/directadmin --unsuspend-user user=fred

/usr/local/directadmin/directadmin --suspend-domain domain=domain.com
/usr/local/directadmin/directadmin --unsuspend-domain domain=domain.com
---

9. غیرفعال کردن Suspend Reseller روی Overlimit


در فایل reseller.conf:


suspend_at_limit=OFF
---

10. تغییر پکیج همه کاربران


اسکریپت:


OLD=custom
NEW=fancy
for i in `ls /usr/local/directadmin/data/users`; do
    if grep -q "usertype=user" /usr/local/directadmin/data/users/$i/user.conf; then
        perl -pi -e "s/package=$OLD/package=$NEW/" /usr/local/directadmin/data/users/$i/user.conf
    fi
done

سپس پکیج fancy را از پنل Save کنید.

---

11. تغییر پکیج همه کاربران یک Reseller



CREATOR="silver"
TOPACKAGE="gold"
for u in `grep "^creator=${CREATOR}$" /usr/local/directadmin/data/users/*/user.conf | cut -d/ -f4`; do
    perl -pi -e "s/^package=.*/package=${TOPACKAGE}/" /usr/local/directadmin/data/users/$u/user.conf
done

سپس پکیج gold را Save کنید.

---

12. غیرفعال کردن mail_sni برای یک دامنه


در فایل:


/usr/local/directadmin/data/users/username/domains/domain.com.conf

اضافه کنید:


mail_sni=OFF

سپس:


echo "action=rewrite&value=mail_sni" >> /usr/local/directadmin/data/task.queue
/usr/local/directadmin/dataskq d
---

13. ارسال اعلان‌های حجیم (مثل brute force) به ایمیل دیگر


در فایل user.conf ادمین:


[email protected],[email protected]
---

14. ممنوع کردن دامنه‌های خاص


فایل زیر را کپی کنید:


/usr/local/directadmin/data/templates/forbidden_domains.list
→ custom/forbidden_domains.list

دامنه‌های ممنوعه را اضافه کنید.

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

مقالات مرتبط

راهنمای کامل پیکربندی کلاینت‌های ایمیل، هشدارهای 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 انعطاف‌پذیری بسیار بالا، سرعت دسترسی به نسخه‌های جدید و مصرف منابع بهینه را فراهم می‌کند.

ادامه