Portál AbcLinuxu, 14. května 2025 01:49

Dotaz: Prečo VirtualHost nebeží

19.5.2008 13:10 Coosom
Prečo VirtualHost nebeží
Přečteno: 696×
Odpovědět | Admin
Ahojte,

preštudoval som si ďalšiu pasáž okolo DNS, podarilo sa mi rozbehať jednu doménu a tak som si zaregistroval ďalšiu s nazvom dalsia.sk. Na internete som našiel veľmi veľa pekných tém okolo Virtualhost, ale všetky sa začínali ale aj končili konfiguráciou httpd.conf

VirtualHost *:80> /VistualHost>

Samozréjme, že som to vyskúšal aj ja dúfajuc, že ďalší a pre mňa posledný problém mam vyriešený. Chcem si na 1 servry totiž prevádzkovať 3 domény a nechcem byť "škrtený" veľkosťou priestoru alebo MySQL databáz.

v httpd.conf som teda podľa návodu nastavil VisrualHost takto:

NameVirtualHost *:80

VirtualHost *:80> ServerName dalsia.sk ServerAlias dalsia.sk DocumentRoot "/var/www/html/hlavna.sk/dalsia.sk" /VirtualHost>

Hrajem sa s tým už 3 dni, samozrejme, že som skúšal ďalšie množstvo nastavení,ale nič nepomohlo. Moje HTTPD jednoducho ignoruje domény a adresáre odkiaľ má www obsah čítať a defaultne mi zobrazí stále len obsah /var/www/html/index.php

Popravde už neviem, o čo sa mám oprieť. Neviete mi poradiť, čo můžem ešte skontrolovať, prípadne nejakým príkazom overiť funkcnosť a pod.

Za všetky aj jednoslovné odpovede vopred ďakujem.

*< Virtualhost = (nechcelo mi to zobrať)
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

19.5.2008 13:26 V3lbl^^d | skóre: 5 | Praha
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zobrazuje se ti pravdepodobne defaultni VHost (ta co je uvedena v configu jako prvni). ServerAlias nema smysl pokud je shodna se ServerName a s DocumentRoot bych doporucil definici adresare, mohou zlobit prava. Fungujici priklad:
Listen 80
NameVirtualHost *:80

<VirtualHost *:80>
        ServerName localhost

        DocumentRoot "/var/www/localhost/htdocs"

        <Directory "/var/www/localhost/htdocs">
                Options Indexes FollowSymLinks
                AllowOverride All

                Order allow,deny
                Allow from all
        </Directory>

        <IfModule mpm_peruser_module>
                ServerEnvironment apache apache
        </IfModule>
</VirtualHost>

<VirtualHost *:80>
        ServerName host2

        DocumentRoot "/var/www/host2/htdocs"

        <Directory "/var/www/host2/htdocs">
                Options Indexes FollowSymLinks
                AllowOverride All

                Order allow,deny
                Allow from all
        </Directory>

        <IfModule mpm_peruser_module>
                ServerEnvironment apache apache
        </IfModule>
</VirtualHost>
19.5.2008 16:57 Coosom
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Ďakujem za rýchlu reakciu.

Dal som tvoj kód, samozréjme, názvy som si upravil, ale ostalo to bez odozvy. Stále načítava web z úvodneho adresára. Cesta je správna, lebo keď dam nesprávnu, po reštarte named ma na to upozorní.

Napadá ešte niekoho niečo ? Nie je nejaký príkaz, ktorým sa to overí, alebo neviem.
19.5.2008 17:08 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Jen pro jistotu

1. Funguje ping na www.vase_domena.sk (jde vůbec DNS byl restartovan po změně)

2. V názvu servru musí být celý název ServerName www.vase_domena.sk

3. Restartoval reloadnul jste váš httpd server.
19.5.2008 17:17 Coosom
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Hore som sa sekol, reštart httpd. dával som aj nazov.sk aj www.nazov.sk Ping funguje, aj načítanie www.nazov.sk funguje ale stále načíta default priestor.
19.5.2008 17:23 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Ještě mne napadá nemáte pouze IP virtual host. Máte v konfiguraci uveden následující parametr.
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
19.5.2008 17:55 Coosom
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Příloha:
Áno, áno , to tam samozrejme je takto zapísané. Venujem sa tomu už dlho, takže som povyskúšaval aj s * aj s IP a podobne.

Teraz ma napadá, či netreba vypnúť default Documentroot, možno sa to spamätá nakoniec. Pripájam pre istotu httpd.conf, keby mal niekto čas a chuť sa pozrieť, na môj problém.
19.5.2008 18:08 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
S mým configem prakticky totožné tak nevím.
19.5.2008 18:14 Coosom
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Veď to, že všade sa to píše rovnako, skúšal som všetkými spôsobmi a stále nič.

Myslel som si, že to pôjde jednoduchšie, alebo že aspoň toto nebude problém. Ešte rozmýšľam, či nemôže byť problém niekde v DNS.
19.5.2008 22:25 Coosom
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Odpovědět | | Sbalit | Link | Blokovat | Admin
Napadá ešte niekoho niečo ? To všetko pri konfigurácií nefunguje a je potrebné toľko riešiť ?
19.5.2008 23:57 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
tak sorry ale v tom konfigu, ktory si zaslal, je chyba uplne zjavna:
...
ServerName www.etlas.sk
DocumentRoot "/var/www/html/etlas.sk"
...
...
ServerName vlastnyinternetovyobchod.sk
DocumentRoot "/var/www/html/etlas.sk/"
...
20.5.2008 08:08 Coosom
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Tak to neviem čo máš na mysli. Len doplním, že či už www.etlas.sk alebo vlastnyinternetovyobchod.sk (www.vlastny.. - ešte nie je funkčné) načítavajú web z adresára "/var/www/html/ - to je aj defaut adresár.

Pokiaľ myslíš, že obe domeny su nasmerované na /etlas.sk/ tak to je naschval, aby som zistil, či aspoň jedna pri rôznych zmenách nebude čítať z daného adresára. Ale zatiaľ sa mi to nepodarilo, stale web načítavaju z /var/www/html/ a nie /var/www/html/etlas.sk/ do ktorého som umiestnil index.php s informáciou o subdoméne, aby som to vedel rozlíšiť.
20.5.2008 09:42 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
tak sorry, z toho tvojho popisu som pochopil, ze obe domeny sa (chybne) nacitavaju z toho isteho adresara.

mimochodom, neviem preco, ale mne nikdy poriadne nefungovala ta * miesto IP. skus tam dat priamo IPcku (ale nezabudni upravit aj direktivu NameVirtualHost)
20.5.2008 10:54 Coosom
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Nič sa nedeje, aj tak ďakujem za záujem. Skúšal som aj IP aj bez IP ale stále nič.

Z toho usudzujem, že bude problém v nastavení DNS, ale vzhľadom na to, že som začaitočník, aj banálna a viditeľná chyba môže byť pre mňa veľká chyba.

Neviem, či to nie je proti pravidlám, ale nevieme sa dohodnúť, že mi za Fin. odmenu sa pripojíš vzdialene na Linux server a pozrieš nastavenie DNS a Named ?

Ja sa tomu venujem už veľmi dlho a popravde ma to aj zdržuje, už dávno som chcel mať na servry 3 vlastné stránky - domeny.

Mám rozbehané VNC, a nastavenia robím cez MC.

Jedinou podmienkou by bolo, že by si mi potom povedal, kde bol problém. Ak by si mal záujem, napíš mi na coosom@post.sk a ja ti odpoviem zo skutočnej adresy a dohodneme sa bližšie.
20.5.2008 11:12 V3lbl^^d | skóre: 5 | Praha
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Pokud si pingnes na obe domenove jmena a hodi to to spravnou adresu, problem v DNS nehledej. Muzes poslat upraveny konfigurak, podle toho, co jsem ti posilal vyse? Jestli si neudelal chybu v zadani adresaru. Je treba dat si pozor na koncova lomitka, uvozovky atd. Nekdy se v tom delaji hloupe chyby. Napis to do PRE prosim te, at se v tom vyzname :-)
20.5.2008 11:15 V3lbl^^d | skóre: 5 | Praha
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Jeste me napada... pises to primo do httpd.conf? Nektere distribuce (Napr. gentoo) maji VHosty ve vlastnim adresari a soubory se includuji. Zkus se podivat primo do httpd.conf, jestli to nejaka pozdejsi direktiva neprepisuje, napr. direktiva NameVirtualHost.
20.5.2008 11:24 Coosom
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Příloha:
Píšem priamo do httpd.conf (/etc/httpd/conf/httpd.conf) Aj keď zadám zlú cestu pre Virtualhost, tak mi pri reštarte httpd vypíše, že je to ignorovane.

V prílohe zasielam aktuálny httpd.conf, upravil som to podľa teba, skúšal som aj s / aj bez. Problém je, že mi to stále načítava len z /var/www/html a VirtualHost mi doslovne ignoruje.

Skúšal som aj nastaviť iný default adresár, ale načítavalo to potom práve z toho a Virtualhost aj tak nebežal.

PRE= platí aj pre teba, resp. hlavne pre tých, čo mi tu napísali.
20.5.2008 11:45 V3lbl^^d | skóre: 5 | Praha
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Aha, takze

1) veskere direktivy typu DocumentRoot, Directory atd, by meli byt v prvnim (defaultnim) VHostu, jinak ti ty VHosty bude porad ignorovat.

2) kdyz definujes 2 vhosty s se stejnym DocumentRootem, tak to neni uplne spravny pristup, mel bys definovat jeden se ServerName www.etlas.sk a pridat do nej direktivu ServerAlias vlastnyinternetovyobchod.sk, tohle nemusi delat dobrotu

Snad to pomuze..
20.5.2008 12:04 Coosom
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Áno, mám to tak ako píšeš. Default adresár je cesta /var/www/html Vhosty mám na ceste /var/www/html/etlas.sk Už som skúšal len jeden vhost, aj ten druhý som teraz nasmeroval na iný adresár a nepohmolo.

Takto mi to ide: www.etlas.sk , www.etlas.sk/etlas.sk/ Podobne mi to ide aj takto: vlastnyinternetovyobchod.sk, vlastnyinternetovyobchod.sk/etlas.sk/

Či dám jednu alebo druhú doménu, stále mi to načíta údaje z default adresára, nie a nie z toho,čo mu hovorí Virtualhost.

Skúsil som už aj .htaccess, ale neúspešne. stačilo by mi aj keby mi w www.nieco.sk urobilo www.nieco.sk/nieco.sk/ prípadne www.etlas.sk/nieco/ hlavne, aby mi to čítalo z iného adresára.

Len či nebude chyba inde, či nie predsa len v Bind-e že on neberie domeny ako domény,ale ja neviem ako len localhost a tým padom apache spracuváva požiadavku pre Localhost. Ale to je len úvaha, nie som v tom profík,ale asi sa už pomaly stanem :)
20.5.2008 12:25 V3lbl^^d | skóre: 5 | Praha
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Bind je v poradku, jinak by se ti nezobrazila stranka ani v tom stavu, jak rikas. A direktivy tam mas mimo VHost (v tom co jsi posilal pred chvili). Radky: 280, 290, 305 a mozna jeste nekde dal. Vsechno tohle je potreba narvat do prnvi VHost direktivy, jinak se to bude pouzivat pro vsechny.
20.5.2008 13:02 Coosom
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
V3lbl^^d ďakujem ti za tvoje príspevky a snahu pomôcť mi, podobne ďakujem aj ostatným.

Ešte som sa s tým hral, pozrel som si "direktivy" dal som ich na rovnaký názov "/var/www/html" bez lomítka na konci. Upravil som riadky:

NameVirtualHost *:80 na NameVirtualHost adresa_servra:80

VirtualHost *:80 na VirtualHost adresa_servra:80

Po reštarte httpd ma čakalo prekvapenie, Virtualhost mi začal pracovať !

A za to můžete Vy, Vaše snaha, pripominky a táto stránka. Ešte raz Vám ďakujem, som rád, že sa mi podarilo tento problem vyriešiť.
20.5.2008 13:19 badla
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
direktiva UseCanonicalName Off

... a mas to vychytany ;)
20.5.2008 13:15 badla
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
zapnout podporu virtualhostu :)
20.5.2008 16:03 Coosom
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Odpovědět | | Sbalit | Link | Blokovat | Admin
Už keď ste tak ochotní pomůcť,

ako riešite subdomeny cez httpd.conf v časti Virtualhost ?

Skúšam cez

ServerName www.nazov.sk

ServerAlias *.nazov.sk¨

VirtualDocumentRoot /var/www/html/nazov.sk/_sub/%-3.0+

Ale nejak to nechce bežať.

Presnejšie nieco.nazov.sk je stale neznámy web a hodí ma na vyhľadávač..
20.5.2008 16:32 Coosom
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Keď dam napríklad www.nazov.sk

a použijem toto:

VirtualDocumentRoot /var/www/html/nazov.sk/%-2.0+

tak mi pekne nacita data z /var/www/html/nazov.sk/nazov/

Ale 3tiu domenu, coz by mala byt nieco (3.2.1 = nieco.nazov.sk)

mi pri zápise VirtualDocumentRoot /var/www/html/nazov.sk/%-3.0+ nenačíta.

Skúšal som napríklad aj

VirtualDocumentRoot /var/www/html/%-2.0+.sk/%-3.0+

ale tiež bez úspechu.
21.5.2008 13:41 V3lbl^^d | skóre: 5 | Praha
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Priklad z intranetu:
<VirtualHost *:80>
    ServerName www.dev.v3net.cz
    ServerAlias *.dev.v3net.cz

    VirtualDocumentRoot /var/www/dev/%1

    <IfModule peruser.c>
        ServerEnvironment apache apache
        MinSpareProcessors 4
        MaxProcessors 20
    </IfModule>

    <IfModule itk.c>
        AssignUserID apache apache
        MaxClientsVHost 50
    </IfModule>
</VirtualHost>
Btw. vyzaduje to modul vhost_alias, takze si jeste pridej do httpd.conf (cesty si kdyztak uprav):
LoadModule vhost_alias_module            modules/mod_vhost_alias.so
21.5.2008 14:34 Sinuhet | skóre: 31
Rozbalit Rozbalit vše Re: Prečo VirtualHost nebeží
Presnejšie nieco.nazov.sk je stale neznámy web a hodí ma na vyhľadávač..
To vypada, ze vam nefunguje dns preklad pro neco.nazev.sk.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.