Portál AbcLinuxu, 7. května 2025 07:27

Dotaz: Apache + Virtuální servery

22.1.2010 18:45 exilim | skóre: 5
Apache + Virtuální servery
Přečteno: 2071×
Odpovědět | Admin
Zdravim, mám registrovanou doménu řekněme www.dom.cz. Mám doma stroj na kterym běžá linux ubuntu a na něm LAMP (apache+mysql+php) a já potřebuju, že když mi na tu doménu nasměrujou IPadresu toho serveru (i subdomény) tak aby se zobrazovalo na každé sub něco jinýho?

Řekněme www.dom.cz - /var/www/www abc.dom.cz - /var/www/abc efg.dom.cz - /var/www/efg

Jestli mě chápete... :) Je nějaký zajímavý seriál? Musím řešit DNS záznamy nebo mi na serveru postačí apache?

Díky moc
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.1.2010 19:10 NN
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
Odpovědět | | Sbalit | Link | Blokovat | Admin
Bud rucne:


VirtualHost:80
ServerName www.dom.cz
directory /var/www/www
/directory
/VirtulaHost

VirtualHost:80
ServerName abc.dom.cz
directory /var/www/abc
/directory
/VirtulaHost

VirtualHost:80
ServerName efg.dom.cz
directory /var/www/efg
/directory
/VirtulaHost

+ DNS zaznamy pro jednotlive subdomeny.

Nebo "dynamicky" pres mod_rewrite prsmerovanim podle subdomeny do adresare:
www.domena.cz/www
www.domena.cz/abc
www.domena.cz/efg
NN
22.1.2010 19:47 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
Dobrý popis je (v angličtině) přímo v dokumentaci Apache: Apache Virtual Host documentation. Pro každou adresu webu (doménu) potřebujete nastavit DNS záznam. Někdy se to dá udělat i hvězdičkovým záznam (kterým nastavíte adresu pro všechny jinde nezadané adresy v doméně), ale to je potřeba si nastudovat pořádně, protože to má spoustu vedlejších efektů.
22.1.2010 19:56 exilim | skóre: 5
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
Asi by vyhovovalo ale co máte na mysli těmi DNS záznamy?
22.1.2010 21:48 Opičák
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
no bez těch nebude klient vědět, na jaké adrese vás hledat. Vcelku blbost, ale setsakra důležitá.
23.1.2010 11:48 exilim | skóre: 5
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
Ano ale jak to mám udělat? Mohl by jste mi sem hodit prosím kontakt? Třeba ICQ/Skype... Díky
23.1.2010 12:14 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
Nechat si to nastavit od toho, kdo vám spravuje DNS.
23.1.2010 19:04 exilim | skóre: 5
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
Takže od registrátora domény. Nechal sem si u nic nastavit záznamy:
ip1 A x.x.x.x
ip2 A x.x.x.x
ip3 A x.x.x.x
Ted už jen stačí nakonfigurovat soubor s apache?
24.1.2010 10:23 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
Pokud to ip1, ip2 a ip3 jsou názvy těch virtuálních hostů a x.x.x.x je veřejná IP adresa vašeho serveru, pak ano, teď už stačí jen nakonfigurovat Apache (a počkat, než vyprší platnost záznamů o neexistující adrese v DNS cache, pokud jste ty adresy zkoušel už předtím).

PS: upravil jsem formátování příspěvku, aby ty záznamy byly každý na novém řádku – tak jste to asi chtěl. Doporučuju před odesláním komentáře se podívat na náhled komentáře, který se vám zobrazí.
24.1.2010 12:07 exilim | skóre: 5
Rozbalit Rozbalit vše Re: Apache + Virtuální servery

ip1 - ip3 jsou názvy subdomén, ano x.x.x.x je IP. +- Mi to funguje ale mám tu pár problémů... Jedna věc že sem si zkusil udělat 2Vhosty na ip1 a ip2... Funguje ale když sem dal ip3 (nebyl nastaven vhost) tak se mi ukázala stránka ip1... Já potřebuju aby ty daný stránky se zobrazili pouze z daných domén který jim příslušej.

Další otázka je, že mi registrátor domény musí každou subdoménu nastavovat DNS sám (i samotnou doménu 2. urovně). Ale p=ak z nich vypadlo todle:

pokud si spravne nastavite DNS zaznamy (zonovy soubor), muzete pomoci virtual
hostu nastavovat subdomeny v ramci vaseho serveru

Co tím mají namysli???

 

Díky

Exik

24.1.2010 14:20 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
Funguje ale když sem dal ip3 (nebyl nastaven vhost) tak se mi ukázala stránka ip1... Já potřebuju aby ty daný stránky se zobrazili pouze z daných domén který jim příslušej.
Musíte tam vždy správně uvést jméno virtualhosta, bez toho to samozřejmě fungovat nebude.

Další otázka je, že mi registrátor domény musí každou subdoménu nastavovat DNS sám (i samotnou doménu 2. urovně). Ale p=ak z nich vypadlo todle:

pokud si spravne nastavite DNS zaznamy (zonovy soubor), muzete pomoci virtual
hostu nastavovat subdomeny v ramci vaseho serveru

Co tím mají namysli???

Buď že si zprovozníte svůj vlastní DNS server, nebo že u nich použijete hvězdičkový záznam. V obou případech je ale potřeba rozumět fungování DNS, jinak to snadno nastavíte špatně.
24.1.2010 16:30 exilim | skóre: 5
Rozbalit Rozbalit vše Re: Apache + Virtuální servery

takže stačí když mi registrátor nastaví:

* A x.x.x.x ?

A kdybych to chtěl dělat přes vlastní DNS server? Co to obnáší? Díky

24.1.2010 16:45 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
takže stačí když mi registrátor nastaví: * A x.x.x.x ?
To bych rozhodně nedělal, pokud nevíte, co všechno to doopravdy udělá.
A kdybych to chtěl dělat přes vlastní DNS server? Co to obnáší?
Naučit se, jak funguje DNS, nainstalovat si nějaký DNS server, naučit se jej spravovat a u registrátora pak nastavit tento server jako autoritativní pro danou doménu. Je dobré pro každou doménu mít DNS serverů víc (spousta registrátorů vám ani neumožní doménu nastavit jinak, než že tam máte aspoň dva DNS servery) – pak potřebujete provozovat DNS server alespoň na dvou místech, nebo použít jako záložní server server vašeho registrátora, pokud takovou službu nabízí. Pokud vás to opravdu zajímá, podívete se třeba na knížku Velký průvodce protokoly TCP/IP a systémem DNS (vyšlo už 5. aktualizované vydání).
24.1.2010 17:57 exilim | skóre: 5
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
Díky moc ;)
23.1.2010 12:27 apache
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
Odpovědět | | Sbalit | Link | Blokovat | Admin
Da se nejak udelat ze domeny budou ve /var/www a budou se automaticky vytvarat aj ve configech v apache? T.z. ze nebudu muset rucne pridavat kazdou domenu samostatne.

Dekuji.
23.1.2010 14:17 NN
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
No dase to nadefinovat v apache dynamicky,nejak takto:

DocumentRoot /var/www

RewriteEngine on 
	RewriteCond %{HTTP_HOST} !^www.* [NC] 
	RewriteCond %{HTTP_HOST} ^(.*)\.servername.tld
	RewriteCond /var/www/%1 -d 
	RewriteRule ^(.*) /%1/$1 [L]
A pak budes mit adresarovou strukturu:
/var/www/abc/index1.html
/var/www/efg/index2.html
/var/www/hij/index3.html
a budes odkazovat takto:
sub1.domena.cz/abc/
sub2.domena.cz/efg/
sub3.domena.cz/hij/
s tim ze vsechny DNS ka apalis na jedno IPcko.

Ale adresare se stejne mudou muset vytvaret rucne, pokud na to nezavolas pres apache externi script, ale to by bylo zbytecne slozite.

NN
23.1.2010 14:21 apache
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
Nechci subdomeny ale priamo domeny - 2. urovne.
Max avatar 23.1.2010 14:34 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
Myslím si, že to nejde, ani přes VirtulDocumentRoot. Já to tak mám nastaveno pro domény třetího řádu. Ovšem zamyslel bych se nad takovým počinem ;-). Takto dynamiky vytvářené jakoby domény třetího řádu přispívají ke komfortnosti nastavení a flexibilitě ze strany uživatele.
Co by ti přineslo takovéto nastavení pro domény druhého řádu? Pro uživatele nic. Pro tebe možná tak zhoršení přehlednosti nastavení. Dřív nebo později budeš muset mít nějaké specifické nastavení pro nějakou doménu a jak by jsi ho udělal? Stejně by jsi musel pro tu konkrétní doménu vytvořit spešl nastavení a výsledek? Doména by byla nastavena na více místech.
Navíc, pokud chceš hosting pro více domén a mít nějaké klienty, tak dřív nebo později začneš řešit provoz php pod konkrétními uživateli. V tebou navrhovaném řešení by to byl nemyslitelný čin, musel by jsi to nakonec stejně předělat na konkrétní domény ;-).
Když se ti zdá vytváření hostingu složité, tak si vytvoř bashácký skript, který to všechno udělá místo tebe ;-)
Zdar Max
Měl jsem sen ... :(
25.1.2010 00:08 vrx
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
odp. pozrieť na: http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html sú tam funkčné návrhy na subdomény aj domény, stačí len správne pouívať % ...

priklad mojho konfigu, jednoduchý ale ide to - len na localhoste
NameVirtualHost 192.168.23.2:80

< VirtualHost 192.168.23.2:80>
//medzera pred V je kvoli redakčnému systemu
    VirtualDocumentRoot "/var/www/html/virtual/%-3"

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^([^.]*)\.([^.]*)$
    RewriteRule (.*) http://www.%{HTTP_HOST}
    
    ServerName www.test.sk
    ServerAlias *test.sk
< /VirtualHost>
a na dns servery mam * notaciu na DNS test.sk ďalšími nastaveniami som sa nezaoberal ale verím, že to trošku pomôže pri dalsom hladaní
25.1.2010 12:27 NN
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
Dobre.

NN
Max avatar 27.1.2010 18:54 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
Ahoj, vhost alias samozřejmě znám, ale ten tvůj příklad neřeší tazatelův dotaz ;-). On chce dynamicky vytvářet domény druhého řádu, jen vytvořením adresáře a zapsáním dnska. Což podle mně nejde, protože musíš nějak definovat "ServerName" v apache ;-).
Zdar Max
Měl jsem sen ... :(
27.1.2010 16:10 Martin H. | skóre: 27 | blog: linservis | Brno
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
Odpovědět | | Sbalit | Link | Blokovat | Admin
NameVirtualHost *:80

< VirtualHost *:80>   //bez mezery na zacatku
    DocumentRoot "/var/www/html/domena1.cz"
    ServerName www.domena1.cz
< /VirtualHost>
< VirtualHost *:80>   //bez mezery na zacatku
    DocumentRoot "/var/www/html/domena2.cz"
    ServerName www.domena2.cz
< /VirtualHost>
< VirtualHost *:80>   //bez mezery na zacatku
    DocumentRoot "/var/www/html/domena3.cz"
    ServerName www.domena3.cz
< /VirtualHost>
... atd... kolik zvládne server ...
Nastavení DNS:
Záznam pro mojedomena.cz
mujserver  IN A xx.xx.xx.xx   (přidělená IP adresa - veřejná, pokud je to veřejný Web)

a ostatní domény budou mít jen CNAME

www    CNAME mujserver.mojedomena.cz.

Pokud nerozumíš DNS, pak opravdu raději využij služeb jiných firem, doporučuji třeba IGNUM (domena.cz), vedení DNS je u nich zadarmo, mám tam DNS všech domén, co mám na serveru ve virtuálu (cca 25 domén 2. řádu).
--- Kapitalismus je lepší, než socialismus ... ale horší, než jsem čekal. (Jiří Suchý) ---
Max avatar 27.1.2010 18:51 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
Je vidět, že jsi nepochopil dotaz ;-)
Zdar Max
Měl jsem sen ... :(
Max avatar 27.1.2010 18:57 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Apache + Virtuální servery
Resp. tady myslím pokračuje svým dotazem : http://www.abclinuxu.cz/poradna/linux/show/291609#7
Zdar Max
Měl jsem sen ... :(

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.