Virtual host — oddiy til bilan aytganda bu blog yoki saytni internetga qo‘yishdan oldin uni lokal kompyuterda sinash uchun yaratilgan host nusxasi.
Ushbu tushuncha haqida kengroq ma’lumot lozim bo‘lsa, sharh qoldirishingiz mumkin va kerak bo‘lsa alohida mavzu sifatida yoritib o‘taman. Hozircha bu haqda ko‘p to‘xtalib o‘tirmaymiz. Endi mana shu virtual hostni Windows operatsion tizimida XAMPP yordamida o‘rnatishni o‘rganamiz.

Birinchi navbatda XAMPP dasturini ko‘chirib olamiz va o‘z kompyuterimizga o‘rnatamiz. Undan so‘ng XAMPP o‘rnatilgan katalogni ochib, quyidagi faylni tahrirlaymiz:
C:\xampp\apache\conf\extra\httpd-vhosts.conf
Ushbu faylning tarkibi quyidagi ko‘rinishga ega:
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn’t need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <url :http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option ‘-S’ to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
##NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <virtualhost> block.
#
##</virtualhost><virtualhost *:80>
## ServerAdmin webmaster@dummy-host.example.com
## DocumentRoot /www/docs/dummy-host.example.com
## ServerName dummy-host.example.com
## ServerAlias www.dummy-host.example.com
## ErrorLog @rel_logfiledir@/dummy-host.example.com-error_log
## CustomLog @rel_logfiledir@/dummy-host.example.com-access_log common
##</virtualhost>
##<virtualhost *:80>
## ServerAdmin webmaster@dummy-host2.example.com
## DocumentRoot /www/docs/dummy-host2.example.com
## ServerName dummy-host2.example.com
## ErrorLog @rel_logfiledir@/dummy-host2.example.com-error_log
## CustomLog @rel_logfiledir@/dummy-host2.example.com-access_log common
##</virtualhost>
#<virtualhost *:80>
# ServerAdmin webmaster@lab.lokal
# DocumentRoot “C:/Program Files/xampp/htdocs/lab”
# ServerName lab.lokal
# ErrorLog @rel_logfiledir@lab.lokal-error_log
# CustomLog @rel_logfiledir@lab.lokal-access_log common
#</virtualhost>
#<virtualhost *:80>
# ServerAdmin webmaster@localhost
# DocumentRoot “C:/Program Files/xampp/htdocs/smf”
# ServerName localhost
# ErrorLog @rel_logfiledir@localhost-error_log
# CustomLog @rel_logfiledir@localhost-access_log common
#</virtualhost>
Aynan ushbu fayl virtual host qo‘shish uchun kerak bo‘ladi. Misol sifatida biron-bir virtual host qo‘shib ko‘ramiz. Natijasi quydagi shaklda bo‘ladi:
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn’t need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <url :http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option ‘-S’ to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
ServerAdmin sample@mysample.com
DocumentRoot “C:/Program Files/xampp/htdocs”
ServerName localhost
ServerAdmin webmaster@mywordpress.com
DocumentRoot “C:/Program Files/xampp/htdocs/wordpress”
ServerName www.wordpress.local
ServerAlias wordpress.local
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExecOrder allow,deny
Allow from allOrder deny,allow
Deny from all
Satr boshidagi hesh ya’ni # belgisi bor bo‘lsa, o‘sha satr ishga tushirilmaydi. Yuqoridagi misolda ko‘rganingiz kabi, satrlarning initsializatsiya qilish uchun # belgilarini olib tashladik.
Yuqoridagi kodning birinchi qismi http://localhost uchun, ikkinchi qismi esa http://wordpress.local uchundir.(http://wordpress.localning o‘rniga yaratilayotgan loyiha manzilini yozish ham mumkin, masalan http://www.uzblogger.com)
Faylni saqlaymiz va yopamiz.
Windows hamda boshqa operatsion tizimlar boshqa DNS serverlardan oldin lokal kompyuterdagi hostlar ro‘yxatini tekshirib chiqadi. Shuning uchun yuqoridagi hostimizni ushbu ro‘yxatga kiritishimiz lozim. Fayl tahrirlash dasturi yordamida quyidagi faylni tahrirlaymiz:
C:\WINDOWS\system32\drivers\etc\hosts
Ushbu faylning ichida joylashgan Windows hostlari qatoriga quyidagi hostlarni ham qo‘shib qo‘yamiz:
127.0.0.1 wordpress.local
127.0.0.1 www.wordpress.local
Ya’ni, yuqorida yaratgan virtual hostimizni Windowsning hostlar ro‘yxatiga kiritib qo‘ydik. Endi XAMPP dasturini o‘chirib, qayta ishga tushiramiz va brauzerda http://wordpress.local manzilini ochamiz. Natijada C:/Program Files/xampp/htdocs/wordpress katalogida nima joylashtirilgan bo‘lsa(blog/sayt), o‘sha ochiladi.
Boshqa virtual hostlarni ham huddi shu tarzda, yuqoridagi hostlar ro‘yxati so‘nggidan kiritib qo‘yish yo‘li bilan yaratiladi.
Ushbu yo‘riqnoma asosan XAMPP dasturi yoki virtual host bilan ishlagan yoki bu haqda qisman bilimga ega bo‘lgan lekin Windows muhitida virtual host yaratmagan foydalanuvchilar uchun mo‘ljallangan. Bu mavzuga yangi kirib kelayotgan foydalanuvchilar esa to‘liqroq ma’lumotga ega bo‘lish uchun bu haqda ushbu maqolada sharh qoldirishlari mumkin.
Ushbu yo‘riqnomaning ingliz tilidagi asl nusxasi IndoDX saytida joylashgan.
Ikkinchi config faylda biroz xatolar bormi deyman…
Behzod Saidov,
“path”lar biroz chalkashib ketgan ekan, to‘g’irlab qo‘ydim. Agar boshqa xatoliklar bo‘lsa, ko‘rsatib o‘tishingiz mumkin.
Bu nima Denver yoki Topserver kabi narsami?
xattabych,
XAMPP huddi Denverga o‘xshagan narsa.
Bundan ham osonroq yo‘li bo‘lsa, link qoldirishingiz mumkin.
Mana bu yerda Topserver yordamida vhost yaratish xaqida yozilgan
Pingback: Recent URLs tagged Xampp - Urlrecorder
Menga serverda ish yuritish ish olib borish mujoz komplarga xizmat ko‘rsatish xaqida malumot yuboring amalda qilinadigan ishlar bo‘lsin