english

آموزش راه اندازی Vhost در ویندوز

آموزش راه اندازی هاست مجازی یا Vhost  در ویندوز

هنگامی که تصمیم دارید یک پروژه را روی localhost  توسعه دهید شاید یه سری آدرس دهی ها در فایل هایی مانند htaccess  یا یک سری فایل های js  که میخواهد به صورت Ajax  یه یک آدرس مشخص متصل شوند به نوعی باید در localhost  استفاده شوند و در هنگامی که میخواهید در روی سرور یا هاست آپلود کنید با همان کانفیگ localhost  بالا نمی آید ! شما مجبورید که یکسری آدرس ها را تغییر دهید به طور مثال اگر در localhost  میخواهید یک پروژه را در مسیر زیر داشته باشید

http://localhost/webineh/cms

باید در آدرس DIR یا همان آدرس اصلی پروژه PHP  این مسیر را مشخص کنید.  حال فرض کنید که یک فایل برای مدیریت فایل ها دارید که یک مسیر از xamp  است یا آدرسی برای وب سرویس دارید جهت ارسال یک مقدار فرض کنید آدرس زیر را باید داشته باشید

 http://localhost/webineh/cms/api/get

اگر شما همین پروژه را روی هاست اینترنت انتقال دهید مجبورید که همه این آدرس دهی ها را تغییر دهید به صورت زیر

http://webineh.net/cms/api/get

خوب فرض کنید که بجای اینکه آدرس کامل را بدهیم همین آدرس را در هاست استفاده کنیم

/cms/api/get

به دلیل اینکه سایت شما در مسیر root  قرار دارد این شیوه آدرس دهی به خوبی اجرا میشود حتی اگر شما از sub domain  استفاده کنید هم جواب خواهد داد. راه حلی که من در توسعه کارهای خودم پیدا کردم این بود که همه آدرس دهی ها را در localhost  و در host  اصلی یکسان باشد که درگیر تغییر و آپدیت همیشگی آنها نباشم از این جهت استفاده از Vhost  ها بسیار کاربری است.

در این آموزش ما از Apache 2.4  , Xampp استفاده می کنیم  . چرا که نسخه های قبلی با کمی تغییر اجرا میشود. در حال حاضر نسخه 2.4 آخرین نسخه جاری است.

مراحل کاری

  1. در ابتدا نرم افزار Xampp را نصب کنید
  2. Control Panel نرم افزار Xampp  را باز کنید و Apache   را Stop کنید
  3. به مسیر نصب Xamp بروید C:/xampp/apache/conf/extra شاید شما درایو دیگیری را انتخاب کرده باشید.
  4. حالا یک ویرایشگر متن را باز کنید پیشنهاد میشود از Notepad++ استفاده کنید. و فایل httpd-vhosts.conf را برای ویرایش باز کنید
  5. در آخرین ابتدای فایل باز شده دستور زیر را وارد کنید

NameVirtualHost *:80

 

<VirtualHost *:80>

DocumentRoot "C:/xampp/htdocs"

ServerName localhost

</VirtualHost>

  1. بعد از دستور بالا دستور زیر را قرار دهید

<VirtualHost *:80>

DocumentRoot "C:/xampp/htdocs/testsite"

ServerName testsite.dev

ServerAlias www.testsite.dev

<Directory "c:/xampp/htdocs/testsite">

AllowOverride All

Require all Granted

</Directory>

</VirtualHost>

  1. بعد از وارد کردن متن فوق کافی است پوشه هایی که پروژه شما در آن قرار دارد را ویرایش کنید مثلا در برنامه فوق پوشه testsite در نظر گرفته شده است شما می توانید مثلا یک پوشه به نام myphp  داشته باشید
  2. در این مرحله باید از Apache خارج شویم و وارد بخش Vhost  ویندوز شویم برای رفتن به این قسمت حتما از برنامه Notpad  ویندوز استفاده کنید اما توجه داشته باشید که نرم افزار را در حالت Run as Administartor  اجرا کنید . میتوانید روی Notpad  کلیک راست کنید و این گزینه را انتخاب کنید.
  3. حالا این فایل را در Notpad  باز کنید C:/Windows/System32/drivers/etc/hosts
  4. به طور پیش فرض یک آدرس با ip 0.0.1  در این فایل قرار دارد این آدرس را حذف نکنید و آدرس های جدید را در ادامه این آدرس وارد کنید به طور مثال شما میخواهید نمونه فوق را تعریف کنید

127.0.0.1             testsite.dev

حالا فایل hosts را ذخیره کنید توجه کنید که این فایل پسوند .txt  ندارد و همان نام hosts  را بازنویسی کنید.

امیدوارم که شما را در استفاده از Vhost  ها در ویندوز کمک کرده باشیم