راهنمای کامل دسترسی به DirectAdmin، اجرای پنل از طریق Apache/Nginx/LiteSpeed

این مقاله یک راهنمای جامع برای نحوه دسترسی به DirectAdmin، اجرای آن از طریق وب‌سرورهای مختلف (Apache، Nginx، LiteSpeed)، تنظیم IP واقعی کاربران، رفع خطاهای ورود، و تست فعال بودن DirectAdmin با استفاده از Login Key و curl ارائه می‌دهد.

Proxying DA Through Apache/Nginx/LiteSpeedDA Connectivity

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

1. دسترسی به پنل DirectAdmin


DirectAdmin به‌صورت پیش‌فرض روی پورت 2222 گوش می‌دهد. بنابراین آدرس دسترسی به شکل زیر است:


http://12.34.56.78:2222/
http://hostname.yourdomain.com:2222/

اگر پورت 2222 پشت فایروال یا پروکسی مسدود باشد، می‌توان DA را از طریق Apache، Nginx یا LiteSpeed روی پورت 80 یا 443 پروکسی کرد.

---

2. اجرای DirectAdmin از طریق Apache


برای کاربرانی که نمی‌توانند به پورت 2222 وصل شوند، می‌توان یک ساب‌دامین مانند cp.example.com ایجاد کرد و DA را از طریق Apache پروکسی کرد.

2.1 مراحل

  1. ایجاد دامنه cp.example.com در سطح User
  2. فعال‌سازی SSL (ترجیحاً Let’s Encrypt)
  3. رفتن به مسیر: Admin Level → Custom HTTPD Configuration → cp.example.com
  4. افزودن کد زیر در بخش |CUSTOM|:

|*if SSL_TEMPLATE="1"|
|?HAVE_PHP1_FCGI=0|
|?HAVE_PHP2_FCGI=0|
|?HAVE_PHP1_FPM=0|
|?HAVE_PHP2_FPM=0|
|?CLI=0|
|?HAVE_PHP1_CLI=0|
|?HAVE_PHP2_CLI=0|
|?SUPHP=0|
|?HAVE_PHP1_SUPHP=0|
|?HAVE_PHP2_SUPHP=0|
       ProxyRequests off
       SSLProxyEngine on

       ProxyPass /phpmyadmin !
       ProxyPass /phpMyAdmin !
       ProxyPass /webmail !
       ProxyPass /roundcube !

       ProxyPass / "https://server.example.com:2222/"
       ProxyPassReverse / "https://server.example.com:2222/"
|*else|
       RewriteEngine On
       RewriteCond %{HTTPS} off
       RewriteCond %{REQUEST_URI} !^/.well-known
       RewriteRule (.*) Error! Hyperlink reference not valid. [R=301,L]
|*endif|

2.2 تنظیم IP واقعی کاربران


cd /usr/local/directadmin
./directadmin set x_forwarded_from_ip "12.34.56.78"
service directadmin restart
---

3. اجرای DirectAdmin از طریق LiteSpeed


LiteSpeed از ProxyPass به شکل متفاوتی استفاده می‌کند.

3.1 کد مورد نیاز در |CUSTOM|


|*if SSL_TEMPLATE="1"|
      RewriteEngine On
      RewriteRule ^(.*)$ https://cp.|DOMAIN|:2222/$1 [P,L]
|*else|
      RewriteEngine On
      RewriteCond %{HTTPS} off
      RewriteCond %{REQUEST_URI} !^/.well-known
      RewriteRule (.*) Error! Hyperlink reference not valid. [R=301,L]
|*endif|

3.2 خطای LiteSpeed

اگر خطای زیر را دیدید:


Proxy target is not defined on external application list

باید مقصد پروکسی را در پنل LiteSpeed اضافه کنید:


Admin → Configuration → Server → External App → Add
---

4. اجرای DirectAdmin از طریق Nginx


فایل زیر را ویرایش کنید:

/etc/nginx/nginx-includes.conf

کد زیر را اضافه کنید:


server {
   listen "12.34.56.78:80";
   server_name "cp.example.com";

   include /etc/nginx/webapps.conf;

   location / {
       proxy_pass       "http://server.example.com:2222/";
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_redirect "http://cp.example.com:2222/" "http://cp.example.com/";
   }
}

ری‌استارت:

service nginx restart
---

5. رفع خطاهای ورود به DirectAdmin


اگر ورود انجام نمی‌شود، DA را در حالت Debug سطح 2000 اجرا کنید.

مثال خطا:


Referer port (443) does not match DA's (2222)

راه‌حل: غیرفعال کردن بررسی پورت Referer (Feature ID 2194 در DirectAdmin)

---

6. تست فعال بودن DirectAdmin با curl


6.1 ساخت Login Key

در DirectAdmin:

  • Key Name: curltest
  • Command Allowed: CMD_API_LOGIN_TEST
  • Allowed IPs: 127.0.0.1

6.2 ساخت اسکریپت تست

فایل:

/home/username/da_test.sh

محتوا:


#!/bin/sh
DEBUG=0

USER="username"
PASSWORD="loginkey"

CONFIG=curl_config.txt
echo -n '' > ${CONFIG}
echo "user = \"${USER}:${PASSWORD}\"" >> ${CONFIG}

RUN="curl --config ${CONFIG} --silent --show-error http://127.0.0.1:2222/CMD_API_LOGIN_TEST"

RESULT=`eval $RUN 2>&1`
RET=$?
COUNT=`echo "$RESULT" | grep -c 'error=0'`

if [ "${COUNT}" -gt 0 ]; then
    exit 0;
else
    exit ${RET}
fi

قابل اجرا:

chmod 700 /home/username/da_test.sh

6.3 اجرای تست

/home/username/da_test.sh; echo $?

اگر خروجی 0 باشد، DirectAdmin سالم است.

6.4 اجرای خودکار با Cron

در CronJobs دستور زیر را قرار دهید:

/home/username/da_test.sh

و ایمیل خروجی Cron را فعال کنید تا در صورت بروز مشکل مطلع شوید.

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

مقالات مرتبط

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

ادامه