Fórum Ubuntu CZ/SK
Ostatní => Ubuntu Server => Téma založeno: Etigo 11 Prosince 2011, 00:31:37
-
Ahoj,
mám problém s jednou školní úlohou a chtěl bych Vás poprosit o pomoc. Všechny části jsem víceméně bezproblému zvládl, až na tu poslední:
- zprovozněte virtuální servery Apache s různým obsahem (DNS:4iz110-v{1-4})
Zde mám zprovoznit virtuální servery a vůbec mi to nejde. Zkoušel jsem hledat na netu, též jsem vyzkoušel pár příkladu, co jsem našel, ale ani zatím jedna věc nefungovala správně. Na školním linuxovém serveru mám nainstalovaný Apache a dostal jsem port 40026, na kterém mi běží jednoduchá webstránka. A zatím v httpd.conf mám:
NameVirtualHost 146.102.18.43:40062
<VirtualHost 146.102.18.43:40062>
DocumentRoot /home/xaudv00/apache/htdocs/v1
ServerName 4iz110-v1.vse.cz
</VirtualHost>
<VirtualHost 146.102.18.43:40062>
DocumentRoot /home/xaudv00/apache/htdocs/v2
ServerName 4iz110-v2.vse.cz
</VirtualHost>
<VirtualHost 146.102.18.43:40062>
DocumentRoot /home/xaudv00/apache/htdocs/v3
ServerName 4iz110-v3.vse.cz
</VirtualHost>
<VirtualHost 146.102.18.43:40062>
DocumentRoot /home/xaudv00/apache/htdocs/v4
ServerName 4iz110-v4.vse.cz
</VirtualHost>
Ta 146.102.18.43 by měla být adresa toho serveru a celá prezentace běží na http://4iz110.vse.cz:40062/ . V tom aktuálním nastavení mi index.html ve složce v1 přebije index.html, který mám v htdocs.
-
Pokud jsem problém pochopil správně, stačí jen vytvořit nového virtuální hostitele, tak aby se načetl jako první a jeho DocumentRoot bude směřovat na htdocs.
NameVirtualHost 146.102.18.43:40062
<VirtualHost 146.102.18.43:40062>
DocumentRoot /home/xaudv00/apache/htdocs/
</VirtualHost>
<VirtualHost 146.102.18.43:40062>
DocumentRoot /home/xaudv00/apache/htdocs/v1
ServerName 4iz110-v1.vse.cz
</VirtualHost>
..... (další virtualhost) .....
</VirtualHost>
od teďka by všechny domény (které nejsou explicitně (neplatní u wildcard,...) vyjmenované v seznamu virtuálních hostitelů) i přesné zadaní adresy měli směřovat do složky /home/xaudv00/apache/htdocs/
tedy zkuste http://146.102.18.43:40062 a http://4iz110.vse.cz:40062/ a mělo by to být ok :-)
-
Toto řešení nefunguje. Stále to ukazuje jenom tu jednu stránku. Dle popisu to má to fungovat následovně:
mám doménu 4iz110.vse.cz:40062 a tam se má ukazovat prezentace z adresáře /home/xaudv00/apache/htdocs/
a pak k tomu máme přidat 4 virtuální servery 4iz110-v1.vse.cz až 4iz110-v4.vse.cz, na kterých mají běžet prezentace z /home/xaudv00/apache/htdocs/v1/ až /home/xaudv00/apache/htdocs/v4/ .
Zkoušel jsem toho hodně, ale nic nefunguje. Dokonce i cvičíci mi nebyl schopen poradit, ale on celkově je takový hudlář.
-
Tak jsem si to vyzkoušel praxi, do VB jsem si nainstalovat cerstvej debian vesměs takto
apt-get install apache2 php5 curl
a2enmod vhost_alias
cat /etc/apache2/sites-enabled/000-default
#NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/test-1
ServerName test-1.lc
</VirtualHost>
(poznámka direktiva NameVirtualHost *:80 je zakomentovaná, protože se v debianím konfigu již nachází a to v /etc/apache2/ports.conf)
cat /etc/hosts
127.0.0.1 localhost test-1.lc
127.0.1.1 debian
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
cat /var/www/index.php
<?php
echo "toto je defalutni stranka";
?>
cat /var/www/test-1/index.php
<?php
echo "TestovacĂ subdomena 1";
?>
a výsledek
curl http://localhost
toto je defalutni stranka
curl http://127.0.0.1
toto je defalutni stranka
curl http://test-1.lc
TestovacĂ subdomena 1
Tedy funkčnost by měla být OK
-
V kazdym pripade je to prasecina /etc/apache2/sites-available ma obsahovat jednotlivy vhosty a pomoci symlinku nebo a2ensite se nahazujou. bastlit je do jednoho konfiguraku je ....
virtualhost muze vypadat treba nasledovne
kosmik2:~# cat /etc/apache2/sites-available/comicscreator.cz
<VirtualHost *:8080>
ServerName comicscreator.cz
ServerAlias www.comicscreator.cz
ServerAdmin "starenka"
DocumentRoot /www/comicscreator.cz
ErrorLog /www/comicscreator.cz/error_log
LogFormat "%v %l %u %t \"%r\" %>s %b" comonvhost
CustomLog /www/comicscreator.cz/access_log comonvhost
</VirtualHost>