[6] Apache – hosty wirtualne

3 lutego 2023 Wyłączono przez Adam [zicherka] Nogły

Skonfigurujemy teraz wirtualne hosty, które pozwolą na jednym serwerze (jednym IP) publikować wiele serwisów z różnymi nazwami domenowymi.
Przykładowo dodamy nowe ustawienia hosta dla domeny [virtualbsd.zicher.lab], zaś katalogiem, gdzie będą pliki dla tej witryny będzie katalog [/usr/local/www/apache24/virtualbsd].
Nie możemy zapomnieć, aby stworzyć odpowiedni wpis w pliku [hosts] lub dodać odpowiedni alias do serwera DNS, który będzie kierował zapytania do odpowiedniego serwera. Czyli w pliku [hosts] musi znajdować się wpis:

192.168.100.106 virtualbsd virtualbsd.zicher.lab

Zaś w pliku stref serwera DNS należy dodać alias:

virtualbsd IN CNAME vfbsd01.zicher.lab.

Przystępujemy do konfiguracji :

root@vfbsd01:~ # cd /usr/local/etc/apache24/extra/
root@vfbsd01:/usr/local/etc/apache24/extra # cp httpd-vhosts.conf httpd-vhosts.conf.old
root@vfbsd01:/usr/local/etc/apache24/extra # mcedit httpd-vhosts.conf
# jako, że mamy skopiowany oryginalny plik vhosts.conf
to zalecam w aktualnym wykasowanie wszystkiego i stworzenie konfiguracji od nowa w pustym pliku
<VirtualHost *:80>
DocumentRoot /usr/local/www/apache24/data
ServerName vfbsd01.zicher.lab
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /usr/local/www/apache24/data/virtualbsd
ServerName virtualbsd.zicher.lab
ServerAdmin root@virtualbsd.zicher.lab
ErrorLog /var/log/virtualbsd.host_error_log
CustomLog /var/log/virtualbsd.host-custom_log combined
</VirtualHost>

<Directory "/usr/local/www/apache24/data/virtualbsd">
Options FollowSymLinks
AllowOverride All
</Directory>

Konfigurujemy teraz główny plik konfiguracyjny Apache [httpd.conf]

root@vfbsd01:/usr/local/etc/apache24/extra # cd ..
root@vfbsd01:/usr/local/etc/apache24 # mcedit httpd.conf
# linia 115: sprawdź i/lub odkomentuj
LoadModule log_config_module libexec/apache24/mod_log_config.so
# linia 510: odkomentuj
Include etc/apache24/extra/httpd-vhosts.conf

Tworzymy katalog dla wirtualnego hosta i umieszczamy w nim testową stronę:

root@vfbsd01:~ # mkdir –p /usr/local/www/apache24/data/virtualbsd
root@vfbsd01:~ # chmod –R 755 /usr/local/www/apache24/data/virtualbsd/
root@vfbsd01:~ # mcedit /usr/local/www/apache24/data/virtualbsd/index.html
# stwórz nowy
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
Virtual Host Test Page @ FreeBSD 13 !!!
</div>
</body>
</html>

Zrestartuj Apache:

root@vfbsd01:~ # apachectl restart

Sprawdzamy poprawność działania i wyświetlania strony z wirtualnego hosta: