Virtual Hosts یا هاست مجازی یا میزبانی مجازی یک روش برای میزبانی چندین وب سایت بر روی یک سرور است. این کار با استفاده از یک آدرس IP واحد و اختصاص دادن نام های دامنه مختلف به هر وب سایت انجام می شود. در یک مثال ساده فرض کنید شما یک سرور مجازی خریداری کردهاید. آدرس این سرور عبارت است از : ۵۰.۵۰.۵۰.۵۰ و حالا قصد دارید وبسایت خود را روی آن میزبانی کنید. ادرس وبسایت شما MySite.ir است و تنظیمات را طوری اعمال میکنید که اگر کاربری آدرس MySite.ir را وارد کرد، به سرور شما با آدرس ۵۰.۵۰.۵۰.۵۰ وصل شود. اما فرض کنیم قصد دارید سایت دیگری نیز داشته باشید. مثلا آدرس MySecondSite.ir را هم میزبانی کنید. اینجاست که به Virtual Hosts نیاز پیدا میکنید.
Xampp چیست؟
Xampp یک محیط یکپارچه برای اجرای نرمافزارهایی هست که سرنام آنها در خود کلمه Xampp گنجانده شده است.
- X = Cross-Platform
- A = Apache
- M = Mariadb / Mysql
- P = PHP
- P = Perl
در نتیجه بطور خلاصه میتوان نتیجهگیری کرد که با استفاده از زمپ میتوانید وب سرور آپاچی، نرم افزار مایاسکیوال یا ماریادیبی، پیاچپی و پرل را داشته باشید. اما X ابتدای آن نیز اشاره به کراس پلتفرم بودن آن دارد. یعنی xampp را میتوان روی ویندوز، لینوکس و مک نصب کرد و از آن استفاده کرد.
تفاوت Wamp و Xampp
Wamp نیز مانند xampp یک محیط یکپارچه برای اجرای نرمافزارهایی هست که سرنام آنها در خود کلمه Wamp گنجانده شده است.
- W = Windows
- A = Apache
- M = Mariadb / Mysql
- P = PHP
همانطور که متوجه شدید حرف X حذف شده و به جای آن از حرف W استفاده شده که سرنام ویندوز است. در نتیجه عمده تفاوت Xampp و Wamp این است که نرم افزار ومپ فقط و فقط برای سیستم عامل ویندوز در دسترس است و از آن نمیتوان در لینوکس یا مک استفاده کرد. اگر از سیستم عامل ویندوز استفاده میکنید شدیدا توصیه میشود از Wamp استفاده فرمایید.
نصب Xampp
در این مقاله قصد داریم آموزش راهاندازی Virtual Hosts آپاچی در Xampp را توضیح دهیم. این آموزش بر روی توزیعهای «آرچ»، اوبونتو، دبیان، مینت و … قابل استفاده است.
نکته: ما در این آموزش فرض میکنیم که زمپ در مسیر /opt/lampp/htdocs
نصب شده است.
فعال کردن Virtual Hsots در تنظیمات آپاچی
برای شروع نیاز است که Virtual Hosts را در تنظیمات Apache فعال کنیم. شما فقط لازم است یکبار این کار را انجام دهید. برای این کار دستور زیر را در محیط ترمینال خود وارد میکنید:
sudo nano /opt/lampp/etc/httpd.conf
در این آموزش از ادیتور نانو استفاده میکنیم. حال کلیدهای Ctrl+W را فشار دهید تا بتوانید در آن جستجو کنید. پس از با نوشتن عبارت# Virtual hosts
می توانید به خط مورد نظر رفته و تغییرات را به شکل زیر اعمال کنید:
# Virtual hosts # Include etc/extra/httpd-vhosts.conf
خط دوم را از کامنت خارج کرده و به این شکل تغییر دهید:
# Virtual hosts Include etc/extra/httpd-vhosts.conf
سپس با فشردن کلیدهای Ctrl+X ادیتور نانو از شما میپرسد آیا مایل به ذخیره تغییرات هستید؟ با فشردن کلید Y و زدن Enter آنرا تایید کرده و با تایپ مجدد Y و فشردن مجدد Enter مسیر ذخیرهسازی را تایید فرمایید. با این کار توانستیم به همین سادگی تنظیمات Virtual Hosts را در وب سرور آپاچی فعال کنیم.
ساخت پوشه مربوط به Virtual Hosts
حال در ادامه آموزش فعالسازی Virtual Hsots در وبسرور آپاچی نوبت به ساخت پوشه و فایلهای مربوط میرسد. فرض میکنیم که قرار است یک سایت وردپرسی داشته باشیم و آدرس آنرا WordPress.local قرار دهیم. برای این کار اسم پوشه خود را نیز wordpress قرار میدهیم.
sudo mkdir /opt/lampp/htdocs/wordpress sudo nano /opt/lampp/htdocs/wordpress/index.html
با استفاده از ادیتور نانو، یک متن فرض بنویسید به عنوان مثال “Hello WordPress” را مینویسیم و فایل را با کلیدهای قبلی (Ctrl+X , Y , Y) ذخیره میکنیم. کار ما اینجا به اتمام رسید.
تعریف دامنه Virtual Hosts
گفتیم که ما قصد داریم در آموزش راهاندازی Virtual Hsots روی آپاچی از دامنه wordpress.local استفاده کنیم. شما هر دامنهی دیگری که مایل باشید میتوانید استفاده کنید. اما پیشنهاد میشود از پسوند .local
استفاده کنید چرا که مشخص است که به یک دامنه داخلی (نه اینترنتی) اشاره دارید. خوب برای اینکار نیاز داریم که فایل /etc/hosts
را ویرایش کنیم.
sudo nano /etc/hosts
پس از آن به آخرین خط دامنه مورد نظر خود را اضافه میکنیم.
۱۲۷.۰.۰.۱ wordpress.local
با این کار ما به سرویس دی ان اس داخلی سیستم خود فهماندیم که هر گاه درخواستی برای وبسایت worrdpress.local ارسال شد، آدرس آی پی سرور آن عبارت است از ۱۲۷.۰.۰.۱ که همان آی پی سیستم خودمان (آی پی لوپ بک) است.
ویرایش httpd-vhosts.conf
حالا وقت آن رسیده که جزییات مربوط به Virtual Host خود را در فایل httpd-vhosts.conf
اضافه کنیم. تنظیماتی مثل مسیر فایل ارور لاگ، مسیر فایل اکسز لاگ، نام سرور، مسیر پوشه اصلی و … که در زیر میبینیم:
<VirtualHost *:80> DocumentRoot "/opt/lampp/htdocs/wordpress" ServerName wordpress.local ErrorLog "logs/wordpress/wordpress.local-error_log" CustomLog "logs/wordpress/wordpress.local-access_log" common </VirtualHost>
خوب در تنظیمات بالا اشاره کردیم که هر وقت درخواستی برای آدرس wordpress.local به وب سرور آپاچی به صورت https
روی پورت ۸۰ ارسال شد، برای پردازش فایلها به پوشه واقع در /opt/lampp/htdocs/wordpress
رجوع کن. فایل ارور لاگ و اکسز لاگ را نیز برای آن مشخص کردیم. حال تنها کاری که لازم است ریستارت کردن وب سرور آپاچی است تا آموزش راه اندازی Virtual Hosts آپاچی به اتمام برسد. برای اینکار از دستور زیر استفاده خواهیم کرد.
sudo /opt/lampp/lampp restart
بدین ترتیب با فراخوانی آدرس http://wordpress.local شما باید عبارت “Hello WordPress” که در فایل index.html آن را نوشتیم، ببینید.
کلام آخر
در این آموزش دیدیم که چقدر راحت و بدون دردسر میشود راهاندازی Virtual Hosts آپاچی در Xampp را انجام داد. با آموزش بالا شما یک وبسایت را اضافه کردهاید. اما میتوانید با تکرار مراحل بالا، سایتهای مختلف دیگری را نیز اضافه کنید. مثلا laravel.local, joomla.local و … میتوانند اضافه شوند و شما وبسایتهای مختلفی را در کنار هم داشته باشید. امیدواریم آموزش بالا مورد پسند شما عزیزان واقع شده باشد. کنجکاو باشید عزیزان.