~3 دقیقه مطالعه • بروزرسانی ۱۰ اسفند ۱۴۰۴
1. تغییر نام یک دامنه در DirectAdmin
برای تغییر نام دامنه (مثلاً domain1.com → domain2.com):
- به مسیر User Level → Domain Setup → Change a Domain Name بروید.
- دامنه را انتخاب کنید و نام جدید را وارد کنید.
نکات مهم:
- فایلهای وب (public_html) و ایمیلها تحت تأثیر قرار میگیرند.
- دیتابیسها تغییر نام نمیدهند؛ ممکن است لازم باشد مسیرها یا config اسکریپتها را اصلاح کنید.
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 وجود ندارد:
- یک دامنه فیک (مثلاً fakedomain.com) بسازید.
- دامنه اصلی را منتقل کنید.
- دامنه فیک را حذف کنید.
برای انتقال دیتابیسها:
از اسکریپت زیر استفاده کنید:
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 کنید.
روش ۳: انتقال دستی (پیشرفته)
- انتقال همه دامنهها
- انتقال دیتابیسها با rename_database_with_user.sh
- انتقال cronjobها:
crontab -u fred -l > crons.txt
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"
یا فایل را حذف کنید:
rm -f /usr/local/directadmin/data/admin/show_all_users.cache
---
7. ارسال پیام به همه ایمیلهای سیستم
- Admin Level → Show All Users → Advanced Search
- Items per Page = All
- Search → Select All → Send a Message
- گزینههای All E-Mail Accounts و E-Mail Only را فعال کنید.
8. Suspend/Unsuspend کاربر یا دامنه از خط فرمان (DA 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 خودکار ریسلر روی 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. تغییر پکیج همه کاربران یک ریسلر
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
→ /usr/local/directadmin/data/templates/custom/forbidden_domains.list
دامنههای ممنوعه را اضافه کنید.
نوشته و پژوهش شده توسط دکتر شاهین صیامی