پیش‌نیازهای تغییر داکیومنت‌روت زیردامنه

قبل از اینکه تغییرات مربوط به DocumentRoot را انجام دهید، بهتر است مطمئن شوید موارد زیر را در اختیار دارید:

 

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

ثبت دامنه از ایران سرور

همین حالا، دامنه خود را با تضمین کمترین قیمت در ایران، ثبت کنید.

ثبت دامنه

مراحل تغییر DocumentRoot زیردامنه در DirectAdmin

اگر با فریم‌ورک‌هایی مثل Laravel کار می‌کنید یا قصد دارید سیستم دیپلوی خودکار مثل Rocketeer راه‌اندازی کنید، احتمالاً در مراحلی نیاز دارید مسیر پیش‌فرض فایل‌های یک زیر دامنه (DocumentRoot) را تغییر بدهید. در این آموزش، فرآیند تغییر DocumentRoot زیردامنه در دایرکت ادمین را به‌صورت مرحله‌به‌مرحله توضیح می‌دهیم. مدیریت زیر دامنه‌ها در دایرکت ادمین اهمیت زیادی دارد و در کنار آن، قابلیت پارک دامنه در دایرکت ادمین به شما این امکان را می‌دهد که چند دامنه را به‌صورت همزمان روی یک هاست میزبانی کنید.

مرحله ۱؛ ورود به پنل و دسترسی به تنظیمات HTTPD

ابتدا وارد کنترل‌پنل دایرکت ادمین شوید. 

لاگین شدن به دایرکت ادمین

بعد از لاگین، از داشبورد اصلی به بخش «Custom HTTPD Configurations» بروید.

در این بخش می‌توانید پیکربندی‌های مربوط به وب‌سرور Apache را برای هر دامنه و زیردامنه شخصی‌سازی کنید.

مفقاله مرتبط: آموزش نصب وب‌سرور آپاچی در لینوکس

مرحله ۲؛ انتخاب دامنه یا زیر دامنه

در صفحه تنظیمات HTTPD، لیستی از دامنه‌ها و زیردامنه‌هایی که روی پنل شما تعریف شده‌اند نمایش داده می‌شود. دامنه‌ای را انتخاب کنید که زیردامنه‌ مدنظرتان روی آن ساخته شده است.

انتخاب دامنه یا زیر دامنه

اگر فقط یک دامنه دارید، همان را انتخاب کنید. اگر چند دامنه دارید، مطمئن شوید دامنه‌ مرتبط با ساب‌دامین درست را انتخاب کرده‌اید.

 

مرحله ۳؛ ویرایش مسیر DocumentRoot

بعد از انتخاب دامنه، به صفحه‌ای می‌رسید که شامل تنظیمات فایل کانفیگ Apache برای آن دامنه است. در این بخش باید مسیر پیش‌فرض زیر دامنه را تغییر بدهید. به‌عنوان مثال، اگر پروژه شما در مسیر زیر قرار دارد:

/home/admin/domains/example.com/public_html/example.com/current/public

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

 

|*if !SUB|
ServerAlias *.|DOMAIN|
|?DOCROOT=/home/admin/domains/example.com/public_html/example.com/current/public|
|*endif|

ویرایش مسیر DocumentRoot

در این مثال، مسیر public مربوط به دایرکتوری اصلی پروژه Laravel است و پوشه current هم به آخرین نسخه منتشرشده متصل شده است (معمولاً به‌صورت symlink توسط Rocketeer).

مرحله ۴؛ ذخیره تغییرات و ری‌استارت Apache

بعد از ویرایش فایل تنظیمات، تغییرات را ذخیره کنید. حالا باید سرویس Apache ری‌استارت شود تا تنظیمات جدید اعمال شوند.

برای این کار وارد SSH شوید و دستور زیر را اجرا کنید:

service httpd restart

توجه: اگر سرور شما از apache2 استفاده می‌کند، ممکن است لازم باشد دستور service apache2 restart را اجرا کنید.

مرحله ۵؛ تست عملکرد در مرورگر

در نهایت، آدرس ساب‌دامین را در مرورگر وارد کنید. اگر همه مراحل را درست انجام داده باشید، محتوای مسیر جدید نمایش داده خواهد شد.

اگر صفحه‌ای باز نشد یا با خطای ۴۰۳ یا ۴۰۴ روبه‌رو شدید:

هنگام تغییر DocumentRoot زیر دامنه، ممکن است نیاز پیدا کنید دامنه‌ای را به یک هاست دیگر منتقل کنید. برای این کار، داشتن اطلاعات epp code چیست ضروری است تا فرآیند انتقال بدون مشکل انجام شود.

نکته مهم برای تغییر documentroot زیر دامنه پروژه‌های لاراول

در پروژه‌های Laravel، پوشه اصلی‌ که باید به‌عنوان DocumentRoot معرفی شود، همان پوشه‌ public است. به همین دلیل اگر فقط مسیر بالاتر (مثلاً /current) را وارد کنید، پروژه به‌درستی لود نمی‌شود؛ بنابراین حتماً مطمئن شوید مسیر شما به /public ختم شود.

بررسی نکات تکمیلی و خطاهای رایج تغییر مسیر ساب‌دامین

تغییر مسیر اجرای زیر دامنه در دایرکت ادمین، اگرچه در ظاهر ساده است، اما ممکن است باعث بروز خطاهایی شود که عملکرد سایت را تحت تاثیر قرار دهد. در ادامه به چند مورد از خطاهای رایج و نکات تکمیلی اشاره می‌کنیم.

۱. غیرفعال بودن گزینه «Custom HTTPD Configurations»

اگر پس از ورود به پنل دایرکت ادمین، گزینه Custom HTTPD Configurations را مشاهده نمی‌کنید یا امکان ورود به آن برایتان فراهم نیست، احتمالاً یکی از شرایط زیر برقرار است:

در چنین شرایطی، بهترین راه این است که با تیم پشتیبانی هاست تماس بگیرید و از آن‌ها بخواهید دسترسی به این قابلیت را برای شما فعال کنند یا خودشان مسیر DocumentRoot را برای شما تغییر دهند.

۲. محدودیت در هاست‌های اشتراکی

در اغلب هاست‌های اشتراکی، امکان اعمال تغییرات در سطح تنظیمات Apache وجود ندارد. دلیل این موضوع هم این است که تنظیمات HTTPD در این سرورها به‌صورت یکپارچه مدیریت می‌شود و تغییر در مسیر اجرای یکی از زیردامنه‌ها ممکن است به ساختار کلی سرور آسیب بزند.

اگر از هاست استفاده می‌کنید و نیاز دارید مسیر DocumentRoot را شخصی‌سازی کنید، گزینه‌های زیر را در نظر بگیرید:

۳. امکان تعیین DocumentRoot هنگام ایجاد ساب‌دامین

در برخی نسخه‌های جدید دایرکت ادمین (به‌ویژه با تم «Evolution»)، وقتی اقدام به ایجاد یک Subdomain جدید می‌کنید، می‌توانید مسیر موردنظر برای آن زیردامنه را همان‌ لحظه وارد کنید. این قابلیت، نیاز به ویرایش دستی فایل‌های Apache را حذف می‌کند.

امکان تعیین DocumentRoot هنگام ایجاد ساب‌دامین

در این حالت:

اما توجه داشته باشید که این قابلیت در همه نسخه‌ها یا روی همه هاست‌ها در دسترس نیست و بسته به تنظیمات سرور و تم پنل ممکن است غیرفعال شده باشد.

راهکاری ساده برای ساختاردهی بهتر به زیردامنه‌ها در دایرکت ادمین

تغییر DocumentRoot زیردامنه در دایرکت ادمین به شما این امکان را می‌دهد که ساختار پروژه‌تان را چه برای پیاده‌سازی فریم‌ورک‌هایی مانند Laravel و چه برای راه‌اندازی چند بخش مجزا در یک سایت، با انعطاف بیشتری مدیریت کنید. البته موفقیت این فرآیند تا حد بسیاری به امکانات هاست شما بستگی دارد. اگر به دنبال یک بستر حرفه‌ای و قابل‌اعتماد برای اعمال چنین تنظیمات پیشرفته‌ای هستید، ایران‌سرور گزینه‌ای مناسب برای شروع یا ارتقای زیرساخت میزبانی شما است.

سوالات متداول

۱- آیا در دایرکت ادمین می‌توان برای هر زیردامنه مسیر مجزایی تنظیم کرد؟

بله، با استفاده از بخش Custom HTTPD Configurations یا هنگام ساخت Subdomain (در نسخه‌های جدید)، می‌توانید مسیر دلخواه را برای هر زیردامنه مشخص کنید.

۲- اگر گزینه Custom HTTPD در پنل من فعال نیست، چطور DocumentRoot را تغییر دهم؟

در این حالت باید از پشتیبانی هاست بخواهید مسیر را برایتان تغییر دهد یا از روش‌های جایگزینی مثل ریدایرکت در .htaccess استفاده کنید.

۳- برای پروژه Laravel، کدام مسیر باید به‌عنوان DocumentRoot تنظیم شود؟

در پروژه‌های Laravel حتماً باید مسیر به پوشه‌ی /public ختم شود، وگرنه سایت به‌درستی لود نخواهد شد.

منابع:

منبع ۱

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *