ایجاد دامنه ی مجازی ( Virtual Host )

قطعا به عنوان یک برنامه نویس با محیط لوکال هاست آشنایی دارید وآدرس localhost داخل کش مرورگرتون با انواع پروژه های مختلفی که اجرا می کنید وجود دارد 😉

خسته کننده است که هربار آدرس localhost/myfolder را در آدرس بار وارد کنیم و به فولدرهای مختلف دسترسی داشته باشیم. راه حل این موضوع ایجاد دامنه مجازی است که بدون استفاده از کلمه کلیدی localhost ، مثلا با استفاده از نام mekaeil.dev به فایلهای پروژه شخصی روی لوکال دسترسی خواهم داشت و می توانیم به هر تعداد که نیاز داریم دامنه مجازی را بر اساس پروژه های مختلف ایجاد کنیم.

در اینجا در چند مرحله ساده نحوه ساخت دامنه مجازی را بر روی سیستم عامل مکینتاش با هم انجام خواهیم داد البته تفاوتی با محیط های ویندوز و لینوکس ندارد و فایلهایی که باید تغییر داده شوند دقیقا همان فایلهایی هستند که در اینجا به آنها اشاره خواهیم کرد.

گام اول : فولدر مربوطه به پروژه ی خود را بسازید.

فولدری با نام laracms را در فولدر htdocs زمپ ساختم. مهم نیست این فولدر شما کجا قرار دارد ولی چون سایر پروژه های من در این فولدر هستند، این فولدر را نیز در همین مسیر ایجاد کردم.

Applications/XAMPP/xamppfiles/htdocs/laracms

 

گام دوم : ادیت فایل httpd-vhosts.conf

وارد مسیر زیر می شویم :

/private/etc/apache2/extra/httpd-vhosts.conf

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

<VirtualHost *:80>
   ServerName laracms.dev
   ServerAlias www.laracms.dev
   DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/laracms"
   ErrorLog "/private/var/log/apache2/laracms.dev-error_log"
   CustomLog "/private/var/log/apache2/laracms.dev-access_log" common
   ServerAdmin [email protected]
</VirtualHostt>

Virtual host configuration httpd-conf

گام سوم : ادیت فایل hosts

وارد محیط ترمینال شوید و بنویسید sudo nano /etc/hosts  تا فایل برای شما باز شود. سپس آدرسی که اضافه کردیم را به صورت زیر اضافه میکنیم :

edit-host-file-vhost-in-mac

گام چهارم : آپاچی را ریستارت کنید.

اگر مرورگرتون را بازکنید معمولا میتونید فولدری که ایجاد کردید را ببینید و فایلهای داخل آن را مشاهده نمایید.

اما من خودم با صفحه زیر مواجه میشدم !

vhost-on-mac

 

برای رفع این مشکل وارد مسیر زیر شوید و vhosts را داخل آن جستجو نمائید و سپس مطابق تصویر زیر خط دستوری زیر را از حالت کامنت خارج نمایید.

httpd.conf

vhosts

و در نهایت آپاچی را ریستارت نمائید و مرورگر را رفرش کنید 🙂

دامنه مجازی بر روی لوکال هاست در سیستم عامل مکینتاش

 

در نهایت که اینکار انجام شد، متاسفانه یک مشکل به وجود می آید که لوکال هاست با صفحه ۴۰۴ یا Access Denied  مواجه می شود!

localhost-access-denied

برای رفع این مشکل وارد فایل httpd-vhosts.conf شوید و لوکال هاست را به عنوان یک دامنه مجازی اضافه کنید.

add-localhost-in-vhosts

و مثل تنظیمات قبل به فایل hosts  نیز اضافه میکنیم :

add localhost in hosts file

و در نهایت موضوع حل شد :

xampp

ایجاد دامنه مجازی بر روی Ubuntu

برای ایجاد دامنه مجازی بر روی سیستم عامل Ubuntu مراحل زیر رو به ترتیب انجام می‌دهیم:

۱. قبل از هرچیزی اگر نیاز به آپدیت دارید، سیستم را آپدیت کنید:

sudo apt-get update
sudo apt-get install apache2

۲. حالا مثلا ما میخواهیم با دامنه example.local  برای مسیری که میخواهیم دامنه مجازی ایجاد کنیم، یک دایرکتوری ایجاد میکنیم:

sudo mkdir -p /var/www/example.local/public_html

به مسیر موردنظر پرمیشن لازم را می‌دهیم:

sudo chown -R $USER:$USER /var/www/example.local/public_html

sudo chmod -R 755 /var/www

در مسیر فوق یک فایل به نام index.html ایجاد کنید تا وقتی مسیر موردنظر باز شد صفحه برای ما باز شود.

۳. در این مرحله ما یک کپی از کانفیگ دیفالت میگیریم و  با اسم example.local.conf در دایرکتوری site-availables قرار میدهیم:

sudo cp /etc/apache2/sites-available/۰۰۰-default.conf /etc/apache2/sites-available/example.local.conf

کد زیر را داخل این فایل قرار میدهیم:

    ServerAdmin [email protected]
    ServerName example.local
    ServerAlias www.example.local
    DocumentRoot /var/www/example.local/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

۴. دامنه را فعال می‌کنیم:

sudo a2ensite example.local.conf

۵. دامنه را در فایل hosts اضافه میکنیم:

sudo nano /etc/hosts

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

۱۲۷.۰.۰.۱   example.local

۶. سیستم را restart میکنیم:

sudo systemctl restart apache2

sudo service apache2 restart

شاد و موفق باشید.