قالب های سفارشی VirtualHosts
اگر می خواهید تنظیمات VirtualHosts را برای تمام دامنه ها تغییر دهید، می توانید با ایجاد قالب های سفارشی خود این دستورات را وارد کنید .
cd /usr/local/directadmin/data/templates cp virtual_host2*.conf custom cd custom
هنگامی که 4 فایل VirtualHost (یا فقط آنهایی که میخواهید) را به دایرکتوری سفارشی کپی کرده اید، سپس می توانید فایل های جدیدی که قبلا کپی کرده اید را ویرایش کنید.
DirectAdmin همیشه قبل از رفتن به موارد پیش فرض آن را برای فایل سفارشی بررسی می کند.
عدم کپی کردن فایلهای مجازی_host2 * .conf به دایرکتوری سفارشی سازی شده تان قبل از اصلاح آنها ، باعث می شود زمانی که DirectAdmin خود را به روز می کنید ، تمام تغییراتتان از بین برود (فایل ها دوباره رونویسی می شوند).
توجه داشته باشید که در واقع 8 فایل virtual_host وجود دارد، اما شما فقط باید در مورد اعمال مورد 4 نگران باشید .
فایل هایی که مورد 2 در آنها است ، برای apache 2.x هستند.
فایل های بدون 2 برای apache 1.3 هستند.
درون virtual_host*.conf، شما کدی شبیه به کد httpd.conf را خواهید دید ، اما حاوی چه چیزی است که به عنوان tokens شناخته می شود. این tokenها با داده های خاص کاربر برای هر دامنه ایجاد شده جایگزین خواهد شد .
token های موجود
DOMAIN | نام دامنه به عنوان مثال : domain.com |
IP | آدرس آی پی مرتبط با آن دامنه به عنوان مثال : 192.168.3.4 |
HOME | دایرکتوری home کاربران به عنوان مثال : /home/gary |
ADMIN | آدرس ایمیل ادمین سرور به عنوان مثال : webmaster@domain.com |
HOSTNAME | نام هاست سرور به عنوان مثال : server.domain.com |
SAFE_MODE | on یا off استاگر php safe_mode فعال باشد یا خیر |
PHP | on یا off است اگر php فعال باشد یا خیر |
CGI | تمام خط httpd.conf برای اضافه کردن Script-Alias استفاده شده است. |
HANDLERS | کد httpd.conf که تمام متد های apache را نگه می دارد |
MIMETYPE | کد httpd.conf که همه انواع MIME آپاچی را نگه داشته است |
USER | نام کاربر |
GROUP | نام گروه کاربران (99 درصد مواقع این نام همان نام کاربران است ) |
DOCROOT | DocumentRoot از VirtualHost.این مسیری است که آپاچی برای دسترسی به داده ها هنگام درخواست نام( ServerName (domain.com استفاده خواهد کرد . |
SUB | نام زیر دامنه برای virtual_host_*sub.conf |
CUSTOM | اگر فایل domain.com.cust_httpd وجود داشته باشد کد httpd.conf سفارشی وارد شود. |
CAROOT | تمام خط httpd.conf برای بارگذاری در دستور SSLCACertificateFile استفاده می شود |
CERT | مسیر سرتیفیکیتی که برای دامنه استفاده می شود . |
CREATOR | نام حساب کاربری ای که یوزر اکانتی که متعلق به این نام دامنه است را ایجاد کرده است . |
KEY | مسیر سرتیفیکیتی که برای دامنه استفاده می شود . |
بالای قالب باید شامل |?CGI=…| و|?DOCROOT=…| باشد .
این خطوط جایی ست که داده ها برای token های CGI و DOCROOT تنظیم شده اند.
اگر cgi فعال نباشد ، این خط نادیده گرفته خواهد شد و token مربوط به cgi خالی می ماند .
اگر دامنه ساسپند شده باشد ، DOCROOT مسیر ساسپند را پر می کند.
نشانه CAROOT خالی خواهد ماند مگر اینکه کاربر یک CARootCertificate معتبر را از طریق DA اضافه کرده باشد .
هنگام اختصاص یک مقدار به CGI یا DOCROOT می توانید از token ها استفاده کنید، فقط از ‘TOKEN’ به جای |TOKEN| استفاده کنید.
حالا که از فایل virtual_host * .conf جدید خود خوشحال شدید، توجه کنید که آنها باید در فایل های httpd.conf واقعی استفاده شود.
شما می توانید دایرکت ادمین را برای بازنویسی تمام فایل های کاربر httpd.conf با اجرای کد زیر فعال کنید:
echo "action=rewrite&value=httpd" >> /usr/local/directadmin/data/task.queue
این دستور به صفی که هر دقیقه یکبار چک می شود اضافه خواهد شد ، بنابراین چند دقیقه قبل از اینکه تمام فایلهای httpd.conf بازنویسی شوند، ممکن است چند دقیقه طول بکشد.
توجه داشته باشید: main/etc/httpd/conf/httpd.conf هرگز رونویسی نشده است (مگر اینکه DirectAdmin دوباره نصب شود) ، بنابراین هر تغییری که ایجاد کنید ، ایمن خواهد بود .
توجه داشته باشید که اگر می خواهید همه تنظیمات جهانی باشند، می توانید از دستورات if-then-else نیز استفاده کنید.
مثلا بگویید که میخواهید یک آیتم سفارشی فقط برای 1 دامنه اضافه کنید.
به عنوان مثال:
|*if DOMAIN="domain.com"| #custom item for just this domain |*endif|
برای اطلاعات بیشتر در مورد اینکه چه کاری می توانید با این ابزار اسکریپت اولیه انجام دهید، پیوند if-then-else را مشاهده کنید.