Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno config apache pro danou doménu

Jak mohu v configu nastavit abych se dostal na danou doménu jak s www tak i bez něj a zároveň pokud nenalezne konfiguraci pro danou subdoménu, tak najede na obsah domény?

Následně se snažím tak aby fungoval i port 443 .. hledal jsem již i na netu ale neúspěšně.. nemám s tímto moc zkušenostím tudíž proto asi neúspěšné :(

NameVirtualHost *:80
<VirtualHost *:80>
        ServerAdmin webmaster@neco.cz
        DocumentRoot /var/www/roundcubemail-0.7.1
        ServerName webmail.neco.cz
        ErrorLog logs/neco.cz-error_log
        CustomLog logs/neco.cz-access_log common
</VirtualHost>

<VirtualHost *:80>
        ServerAdmin webmaster@neco.cz
        DocumentRoot /usr/share/phpmyadmin
        ServerName mysql.neco.cz
        ErrorLog logs/neco.cz-error_log
        CustomLog logs/neco.cz-access_log common
</VirtualHost>

<VirtualHost *:80>
        ServerAdmin webmaster@neco.cz
        DocumentRoot /var/www/postfixadmin-2.3.4
        ServerName postfix.neco.cz
        ErrorLog logs/neco.cz-error_log
        CustomLog logs/neco.cz-access_log common
</VirtualHost>

<VirtualHost *:80>
        ServerAdmin webmaster@neco.cz
        DocumentRoot /var/www/neco.cz/
        ServerName www.neco.cz
        ServerAlias     *.neco.cz
        ErrorLog logs/neco.cz-error_log
        CustomLog logs/neco.cz-access_log common
</VirtualHost>            
Předmět Autor Datum
1. problém "defaultního webu" Running several name-based web sites on a single IP address. http://ht…
touchwood 12.02.2012 21:17
touchwood
z toho prvního odkazu nejsem nijak moudrý :(
tomas.kulhanek 12.02.2012 21:31
tomas.kulhanek
Píše se tam, že pokud máš vše směrované do virtualhostů (pomocí té *:80), pak se v případě, že dle s…
touchwood 12.02.2012 21:44
touchwood
počkej, ale asi si nerozumíme... potřebuju aby domény 3. řádu když nebude nalezen pro ně virtual hos…
tomas.kulhanek 12.02.2012 21:49
tomas.kulhanek
ale vždyť ti to píšu: 1. jako první VH bude záznam bez wildcard aliasů, jen samotný server pro 2nd…
touchwood 12.02.2012 22:03
touchwood
Zda jsem alespoň něco pochopil správně tak to bude vypadat nějak takto default.conf NameVirtualHost…
tomas.kulhanek 13.02.2012 13:20
tomas.kulhanek
ano, ale SSL weby se většinou nastavují separátně.. jinak to máš zbytečně komplikované. Server con…
touchwood 13.02.2012 13:29
touchwood
jediný rozdíl co v tom vidím je to, že já mám subdomény definovány mezi default a doménama... a násl…
tomas.kulhanek 13.02.2012 13:34
tomas.kulhanek
já vidím dost zásadní rozdíl v použití _default_
touchwood 13.02.2012 13:36
touchwood
ten tam teoreticky nemusí být... stačí když VH pro xxx.cz bude nacten jako prvni ne?
tomas.kulhanek 13.02.2012 13:38
tomas.kulhanek
no právě ;-) poslední
touchwood 13.02.2012 14:41
touchwood

1. problém "defaultního webu" Running several name-based web sites on a single IP address.
http://httpd.apache.org/docs/2.0/vhosts/examples.h tml

citace:

The asterisks match all addresses, so the main server serves no requests. Due to the fact that www.example1.com is first in the configuration file, it has the highest priority and can be seen as the default or primary server. That means that if a request is received that does not match one of the specified ServerName directives, it will be served by this first VirtualHost.

pokud se ti jedná o možnost uvést více FQDN v jednom virtualhostu, použij direktivu ServerAlias

2. ad SSL https.html

Píše se tam, že pokud máš vše směrované do virtualhostů (pomocí té *:80), pak se v případě, že dle servername nebo serveralias nevyhoví ŽÁDNÝ z těchto názvů vůči zaslanému požadavku, bude pro vyřízaní takového požadavku použit PRVNÍ virtualhost, který se tak označuje jako "default" nebo "primární"

edit:

nejlepší je příklad:

VH1:
SName www.foo1.org
SAlias foo1.org

VH2:
SName www.foo2.org
SAlias foo2.org

VH3:
SName www.foo3.org
SAlias foo3.org

Pokud přijde požadavek na foo4.org (nebo třeba foo.com), bude vrácen web VH1.

P.S.: důležité samozřejmě je, aby správně fungovalo DNS, které zajistí, že požadavky budou směrovány na náš server.

ale vždyť ti to píšu:

1. jako první VH bude záznam bez wildcard aliasů, jen samotný server pro 2nd level TLD plus alias bez www
2. další budou následovat jednotlivé definované poddomény 3. řádu

tedy docílíš toho, že všechny poddomény, i když nebudou explicitně definovány wildcardem v serveralias, budou ošetřeny prvním VH s webem DNS jména druhé úrovně

Zda jsem alespoň něco pochopil správně tak to bude vypadat nějak takto

default.conf
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost _default_:*>
    ServerAdmin admin@xxx.cz
    DocumentRoot /var/www/xxx.cz
    ErrorLog logs/xxx.cz-error_log
    CustomLog logs/xxx.cz-access_log common
</VirtualHost>

<VirtualHost *:*>
        ServerAdmin admin@xxx.cz
        DocumentRoot /var/www/roundcubemail-0.7.1
        ServerName webmail.xxx.cz
        ServerAlias webmail.yyy.cz
        ErrorLog logs/webmail-error_log
        CustomLog logs/webmail-access_log common
</VirtualHost>

<VirtualHost *:*>
        ServerAdmin admin@xxx.cz
        DocumentRoot /var/www/postfixadmin-2.3.4
        ServerName postadmin.xxx.cz
        ServerAlias postadmin.yyy.cz
        ErrorLog logs/postfix-error_log
        CustomLog logs/postfix-access_log common
</VirtualHost>

<VirtualHost *:80>
        ServerAdmin admin@xxx.cz
        DocumentRoot /usr/share/phpmyadmin
        ServerName phpmyadmin.xxx.cz
        ServerAlias phpmyadmin.yyy.cz
        ErrorLog logs/phpmyadmin-error_log
        CustomLog logs/phpmyadmin-access_log common
</VirtualHost>

yyy.cz.conf
NameVirtualHost *:80
<VirtualHost *:80>
        ServerAdmin admin@yyy.cz
        DocumentRoot /var/www/yyy.cz
        ServerName www.yyy.cz
        ServerAlias *.yyy.cz
        ErrorLog logs/yyy.cz-error_log
        CustomLog logs/yyy.cz-access_log common
</VirtualHost>

xxx.cz.conf
NameVirtualHost *:80
<VirtualHost *:80>
        ServerAdmin admin@xxx.cz
        DocumentRoot /var/www/xxx.cz
        ServerName www.xxx.cz
        ServerAlias *.xxx.cz
        ErrorLog logs/xxx.cz-error_log
        CustomLog logs/xxx.cz-access_log common
</VirtualHost>

ano, ale SSL weby se většinou nastavují separátně..

jinak to máš zbytečně komplikované.

Server configuration

# Ensure that Apache listens on port 80
Listen 80

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.example1.com

# Other directives here

</VirtualHost>

<VirtualHost *:80>
DocumentRoot /www/example2
ServerName www.example2.org

# Other directives here

</VirtualHost>

The asterisks match all addresses, so the main server serves no requests. Due to the fact that www.example1.com is first in the configuration file, it has the highest priority and can be seen as the default or primary server. That means that if a request is received that does not match one of the specified ServerName directives, it will be served by this first VirtualHost.

Zpět do poradny Odpovědět na původní otázku Nahoru