Uživatelské nástroje

Nástroje pro tento web


drak:apache

index

Apache1

:!: DELETEME :!: – zrušit ho tak rychle jak to půjde

Apache1 poslouchá již jen na :80. A všechny virtualhosty co nezná redirektí na :8080 (tam je Apache2). Takže mažte virtualhosty co v 'Apache1' nejsou potřeba.

Apache2

Poznámky k jednotlivým virtualhostům

  • '*.drak.ucw.cz' a '*.omyl.net' se překládají

Souborová struktura

Konfigurace apache2 nyní vypadá následovně:

  • /etc/apache2/sites-available/0README
    • sem pište dokumentaci
  • /etc/apache2/sites-available/AAA-default-setting
  • /etc/apache2/sites-available/AAB-default-host
  • /etc/apache2/sites-available/com.banzaiinteractive.zz

  • /etc/apache2/sites-available/cz.ucw.drak.lvonca
    • tady se definuje doména lvonca.drak.ucw.cz
  • /etc/apache2/sites-available/cz.ucw.drak.zz
    • tady se definuje domena drak.ucw.cz ale i *.drak.ucw.cz

Pojmenovani je zvoleno tak, aby se virtualhosty spravne radily. Apache totiz prochazi adresar abecedne a prvni namatchovany virtualhost pouzije. Proto musi apache videt nejdriv lvonca.drak.ucw.cz a potom *.drak.ucw.cz.

V /etc/apache2/httpd.conf je v soucasne dobe nejake bezpecnostni nastaveni. Ja myslim, ze by melo byt uvedeno jinde, ale pokud vse bude obaleno <Directory> </Directory> tak je to nastaveni jeste celkem v poradku.

V /etc/apache2/conf.d/* si debiani baliky instaluji svoje veci. Maji ale nesvar pridavat Aliasy a Redirecty. Vse co neni obaleno <Directory> </Directory> tedy zabalte do <Macro> </Macro> a pak to pouzijte ve spravnem virtualhostu.

konfigurace jednoho virtualhosta

Do apache2 jsem nainstaloval mod_makro. Do AAA-default-setting jsem dal makra, ktera se budou pouzivat ve vetsine virtualhostu.

Kdyz pisete novy virtualhost udelejte soubor /etc/apache2/sites-available/name.domain.the

<Macro TheDomainName>
        ServerName the.domain.name
        ServerAlias another.domain.name *.multiplematch.domain.name

        documentroot ....
        CustomLog ...
        ErrorLog ...
</Macro>

<VirtualHost *:8080>
        Use TheDomainName
</VirtualHost>

<VirtualHost *:443 *:8081>
        Use SetupSSL
        Use TheDomainName
</VirtualHost>

Stavajici virtualhosty jsem prevedl na vyse uvedeny zpusob, nicmene zachoval jsem rozdily http oproti https verzi, pokud nejake byly. Pokud si myslite, ze v dannem virtualhostu byt rozdily nemaji, tak to opravte.

POSTREHY A PRAVIDLA

:!: U zadneho virtualhostu *:8080 nikdy nezapinejte SSL

:!: Ve vsech virtualhostech *:443 a *:8081 vzdy uvdete Use SetupSSL - to zapne ssl a uvede certifikaty. Ty musi byt pro vsechny hosty stejne!

:!: Nikdy nepouzijte <VirtualHost the.domain.name:8080>, rozbije to stavajici konfiguraci a apache bude matchovat hosty zvlastnim zpusobem. Pozor, na tohle apache NEUPOZORNI (on upozornuje jen na * versus *:port), nebo alespon neupozorni na to na konzoli. the.domain.name se matchuje pres ServerName a ServerAlias

:!: Pokud apache nechce nastartovat, projdete errorlogy jednotlivych virtualhostu. Nicmene pravdepodobne mate SSL mismatch - vsechny virtualhosty na jednom portu MUSI mit SSL nastavene STEJNE! (Delal jsem experimenty se 'SSLEngine optional', ale nenarval jsem mu tam to co jsem chtel, takze pouzivame 'SSLEngine on'.)

drak/apache.txt · Poslední úprava: j.n.Y H:i (upraveno mimo DokuWiki)