เพื่อให้สามารถสร้างโดเมนย่อยได้คุณจะต้องแน่ใจว่ามีหลายสิ่ง:
DNS
ดังนั้นคนอื่น ๆ สามารถเข้าถึงtest.my.address.com
พวกเขาต้องสามารถแก้ไขชื่อนั้นเป็นที่อยู่ IP ของเครื่องเสมือนของคุณ จะทำอย่างไร?
สิ่งที่เพื่อนของคุณทำไปแล้วคือการสร้างระเบียน Aในaddress.com
โซนซึ่งชี้my
ไปยังที่อยู่ IP ของ VM ของคุณ
จนถึงตอนนี้ดีมาก แต่เกี่ยวกับtest.my
อะไร มันอาจยังไม่มีรายการ
เพื่อนของคุณสามารถเพิ่ม*.my
ในโซนได้เช่นกัน (และชี้ไปที่ที่อยู่ IP เดียวกัน) จากนั้นคำขอทั้งหมดsomething.my.address.com
จะถูกส่งไปยัง VM ของคุณ ที่ดี!
Apache โฮสต์เสมือน
เมื่อถึง VM ของคุณ Apache ต้องรู้วิธีจัดการกับคำขอ นี่คือที่เราใช้คุณสมบัติโฮสต์เสมือนของเซิร์ฟเวอร์ Apache HTTP
ฉันมักจะทำงานบน Debian /etc/apache2/sites-available
ดังนั้นฉันจะอธิบายเรื่องนี้กับการกำหนดค่าเช่นใน มีไฟล์ที่เรียกว่าtest.my.address.com
และกรอกข้อมูล
<VirtualHost *:80>
ServerName test.my.address.com
ServerAdmin webmaster@my.address.com
DocumentRoot /var/www/test.my.address.com/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/test.my.address.com/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/test.my.address.com.error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/test.my.address.com.access.log combined
</VirtualHost>
การตั้งค่าที่สำคัญในแฟ้มนี้เป็นคำสั่งServerName
สิ่งนี้บอก Apache ภายใต้ชื่อเซิร์ฟเวอร์นี้ที่ควรใช้งานได้ ชื่อเพิ่มเติมจะได้รับกับคำสั่ง ServerAlias
ในกรณีที่คุณกำลังใช้ Debian เช่นกันไม่ลืมที่จะหลังจากที่คุณสร้างไฟล์และsudo a2ensite test.my.address.com
sudo invoke-rc.d apache2 restart
Listen
ไปดูโฮสต์เสมือน Apaches: httpd.apache.org/docs/2.2/vhosts