Để có thể tạo tên miền phụ, bạn sẽ phải đảm bảo một số điều:
DNS
Để người khác có thể tiếp cận test.my.address.com
, trước tiên họ phải có thể phân giải tên đó thành địa chỉ IP của máy ảo của bạn. Làm thế nào có thể được thực hiện?
Những gì bạn của bạn rất có thể đã làm, là tạo một bản ghi A trong address.com
vùng, trỏ my
đến địa chỉ IP của VM của bạn.
Càng xa càng tốt. Nhưng còn cái gì test.my
? Nó có thể không có một mục nào.
Bạn của bạn chỉ đơn giản có thể thêm *.my
vào khu vực đó (và trỏ nó đến cùng một địa chỉ IP). Sau đó, tất cả yêu cầu something.my.address.com
sẽ được gửi đến VM của bạn. Tuyệt quá!
Máy chủ ảo Apache
Khi VM của bạn có thể đạt được, Apache phải biết cách xử lý yêu cầu. Đây là nơi chúng tôi sử dụng tính năng Máy chủ ảo của máy chủ HTTP Apache.
Tôi thường chạy trên Debian, vì vậy tôi sẽ giải thích điều này với một cấu hình ví dụ trong /etc/apache2/sites-available
. Chúng ta hãy có một tập tin được gọi test.my.address.com
và điền thông tin vào đó.
<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>
Các thiết lập quan trọng bên trong tập tin này là ServerName
chỉ thị . Điều này cho Apache biết tên máy chủ này sẽ có sẵn. Tên bổ sung có thể được cung cấp với chỉ thị ServerAlias .
Trong trường hợp bạn cũng đang sử dụng Debian, đừng quên sudo a2ensite test.my.address.com
sau khi bạn tạo tệp và sudo invoke-rc.d apache2 restart
.
Listen
, hãy xem máy chủ ảo Apaches: httpd.apache.org/docs/2.2/vhosts