Portál AbcLinuxu, 5. května 2025 09:14

Dotaz: Struktura konfiguračních souborů Apache 2 v Debianu

9.1.2009 18:12 Ripper | skóre: 31
Struktura konfiguračních souborů Apache 2 v Debianu
Přečteno: 1208×
Odpovědět | Admin

Zdravím,

Mám prosbu na někoho, komu funguje správně Apache 2 v Debianu s virtuálními hosty, jestli by mi mohl poskytnout jak vypadá jeho stroktura konfiguráků v /etc/apache2, zajímá mě toto:
 
Soubor httpd.conf
Pokud máte, tak v adresáři sites-available soubor default
Alespoň dva soubory s virtuálními hosty z adresáře sites-available (jedná se mi pouze o případ hosta aaa.domain.tld, bbb.domain.tld)
 
Určitě si zkryjte citlivé informace, nezajímá mě např SSL certifikát a tak podobně, jde mi jen o strukturu a základní direktivy, protože dle mého názoru nemám nic špatně, přezto mi to nefunguje. Takže určitě nechci nikoho špehovat nebo tak něco, jen jestli jsem to při konfiguraci u sebe nějak někde neprohodil nebo tak něco, protože třeba případ virtuálního serveru domain1.tld a domain2.tld mi funguje normálně.
 
Předem díky za ochotu.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

frEon avatar 9.1.2009 18:36 frEon | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu
Odpovědět | | Sbalit | Link | Blokovat | Admin

ahoj, svoji konfiguraci ti neposlu, protoze si nemyslim, ze je to treba.

Na debianu je httpd.conf prazdny. Globalni konfigurace je v souboru apache2.conf, kde na poslednich radcich uvidis Include /etcapache2/sites-enabled/* a Include /etc/apache2/mods-enabled/*. V adresari sites-enabled jsou symlinky do na jednotlive konfiguraky v sites-available. S konfiguraci modulu je to udelane stejne. Predpokladam ze ti prave chybeji ty symlinky, ktere muzes vyrabet bud rucne, nebo pomoci programu a2ensite (pro vytvoreni) a a2dissite (pro zruseni). S moduly je to opet stejne, akorat programy se jmenuji a2enmod a a2dismod.

Talking about music is like dancing to architecture.
9.1.2009 19:23 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

Ne, symlinky mi nechybí, jak jsem psal, třeba dvě různé domény mi fungujou, nefungujou mi pouze subdomény jedné domény.

frEon avatar 9.1.2009 19:48 frEon | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

ajo, ted na to koukam. Posles ten nefunkcni virtualhost? Ja to mam zhruba takhle

sitest-available/default

NameVirtualHost *:80
NameVirtualHost *:443

ServerAdmin xxx@example.cz

<VirtualHost *:80>
        ServerName smrt.example.com
        DocumentRoot /var/www
</VirtualHost>

<VirtualHost *:443>
    ServerName hotsanic.smrt.example.com
    DocumentRoot /var/www/hotsanic

    # ssl veci + htpasswd
</VirtualHost>

jiny virtualhost:
<VirtualHost *:80>
        ServerName differentexample.org
        ServerAlias www.diferentexample.org
        DocumentRoot /var/www2/differentexample.org/web/

        SuexecUserGroup webster webster

        <Directory /var/www2/differentexample.org/web/>
                AllowOverride All
                Options -Indexes +SymLinksIfOwnerMatch -MultiViews
                Order allow,deny
                Allow from all
        </Directory>

        CustomLog /var/www/neotronic.org/log/access.log combined
</VirtualHost>

a domena 3.radu

<VirtualHost *:80>
        ServerName zlo.differententexample.org
        DocumentRoot /var/www2/zlo.differentexample/web/

        SuexecUserGroup zlo zlo

        <Directory /var/www2/zlo.differentexample.org/web/>
                Options -Indexes +SymLinksIfOwnerMatch -MultiViews
                AllowOverride all
                Order allow,deny
                Allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /var/www/zlo.differentexample.org/cgi-bin/

        <Directory "/var/www2/zlo.differentexample.org/cgi-bin/">
                AllowOverride None
                Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        AddHandler php-fastcgi .php
        AddType application/x-httpd-php .php
        DirectoryIndex index.html index.php
        Action php-fastcgi /cgi-bin/php.fcgi

        CustomLog /var/www/zlo.differentexample/log/access.log combined
</VirtualHost>
Talking about music is like dancing to architecture.
frEon avatar 9.1.2009 19:49 frEon | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu
ah, tech fcgid veci v poslednim vhostu si nevsimej, nejsou podstatne. zapomel sem je umazat
Talking about music is like dancing to architecture.
9.1.2009 20:57 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

/etc/apache2/sites-available/default a symlink v sites-enabled 000-default - defaultní server:

 

NameVirtualHost *:80

<VirtualHost *:80>
ServerAdmin webmaster@domena.tld
ServerName domena.tld   
DocumentRoot /var/www/domena.tld
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
LanguagePriority
AddCharset us-ascii .ascii .us-ascii
AddCharset ISO-8859-1 .iso8859-1  .latin1
AddCharset ISO-8859-2 .iso8859-2  .latin2 .cen
AddCharset ISO-8859-3 .iso8859-1  .latin3
AddCharset ISO-8859-4 .iso8859-4  .latin4
AddCharset ISO-8859-5 .iso8859-5  .cyr .iso-ru
AddCharset ISO-8859-6 .iso8859-6  .arb .arabic
AddCharset ISO-8859-7 .iso8859-7  .grk .greek
AddCharset ISO-8859-8 .iso8859-8  .heb .hebrew
AddCharset ISO-8859-9 .iso8859-9  .latin5 .trk
AddCharset ISO-8859-10 .iso8859-10  .latin6
AddCharset ISO-8859-13 .iso8859-13
AddCharset ISO-8859-14 .iso8859-14  .latin8
AddCharset ISO-8859-15 .iso8859-15  .latin9
AddCharset ISO-8859-16 .iso8859-16  .latin10
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5 .Big5       .big5 .b5
AddCharset cn-Big5 .cn-big5
AddCharset WINDOWS 1251 .cp-1251   .win-1251
AddCharset CP866 .cp866
AddCharset KOI8 .koi8
AddCharset KOI8-E .koi8-e
AddCharset KOI8-r .koi8-r .koi8-ru
AddCharset KOI8-U .koi8-u
AddCharset KOI8-ru .koi8-uk .ua
</VirtualHost>

 

/etc/apache2/sites-available/neco.domena.tld a symlink v sites-enabled neco.domena.tld - je subdoména která mi nefunguje:

 

<VirtualHost *:80>
DocumentRoot "/var/www/neco"
ServerName neco.domena.tld
<Directory "/var/www/neco">
allow from all
Options +Indexes
</Directory>
</VirtualHost>

10.1.2009 13:05 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

Když tak na to koukám, tak bych to měl mít dobře, napadá mě snad, že mi chbí nějaký modul, jinak nevím.

frEon avatar 10.1.2009 16:07 frEon | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu
take v tom nic spatneho nevidim, chyba bude nekde jinde. jak presne se to nefungovani projevuje?
Talking about music is like dancing to architecture.
10.1.2009 16:51 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

Funguje pouze doména druhého řádu tedy domain.tld. Když ale zadám neco.domain.tld, tak to vypadá, jako by tam vůbec žádný server neběžel, nehodí ani třeba chybu 404. DNS záname neco.domain.tld samozřejmě mám a je v pořádku. koukám teď na dokumentaci Apache, ale moc moudrý z toho nejsem, moc toho o subdoménách tady není. Nevím, třeba potřebuju modul rewrite nebo tak něco.

10.1.2009 17:56 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu
A co DNS? Máte ho dobře nastavené?
10.1.2009 18:44 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

Ano, napsal jsem to o řádek výš. Dokonce jsem přehodil i původní CNAME za A záznam, ale to nezabralo.

frEon avatar 10.1.2009 18:28 frEon | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

Takze prohlizec se tvari jako by nacital a nikdy nic nenacte? Kdyz se podivas do netstatu (-nalp), navaze se spojeni? V jakem je stavu? Nebo rovnou hodi connection refused?

V dokumentaci apache primo o domenach vyssiho radu nic moc nebude, protoze se to dela stejne jako u jakychkoliv jinych domen (ja osobne pouzivam na vyvoj domeny prvniho radu a rozdil v konfiguraci neni). Proste se nadefinuje vhost, a podle ServerName (pripadne ServerAlias) apache pozna do ktereho virtualhostu to spadne.

Talking about music is like dancing to architecture.
10.1.2009 18:48 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

Spojení to nenaváže, ani log Apache nic neříká. Už ze zoufalství zkouším i modul vhost-alias, ale to taky nejde.

frEon avatar 10.1.2009 20:23 frEon | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

Jestli nenavaze spojeni, pak to asi nebude v konfiguraci apache, protoze k ni se to nedostane. To by opravdu ukazovalo na chybu v dns... Neni na ceste mezi tebou a tim serverem nejaka proxy, nebo neco co by mohlo ty pakety zahazovat? Zkus si pustit na tom stroji misto apache netcat v listen modu na osmdesatym portu (doporucuji parametr -v). Uvidis, jestli se to vubec k apachovi dostane.

Jinak vhost_alias je fajn pokud nepotrebujes pro kazdou domenu vyssiho radu jinou konfiguraci a nechces to cpat do htaccessu.

<VirtualHost *:80>
        ServerName subdomain.domena.tld
        ServerAlias *.domena.tld

        VirtualDocumentRoot /home/www/domena.tld/%1
</VirtualHost>
Talking about music is like dancing to architecture.
10.1.2009 21:22 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

Proxy určitě ne, je za NATem, ale port 80 i 443 jsou forwardované na vnitřní adresu serveru, to by jinak nešla ani doména samotná bez subdomény. No a co se DNS týče, tak nslookup je v pohodě:

nslookup neco.domain.tld
Server: 127.0.0.1
Address: 127.0.0.1#53

neco.domain.tld canonical name = domain.tld.
Name: domain.tld
Address: aa.bb.cc.ddd

Název domény a IP adresa sedí.

10.1.2009 21:41 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

A ten netcat při vypnutém Apachovi:

 

domain.tld [aa.bb.cc.ddd] 80 (www) : Connection refused

frEon avatar 10.1.2009 22:11 frEon | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu
a pustil si misto toho apache nc -l -p 80 ? Nechci te podcenovat, ale to vypada jako by tam nic neposlouchalo a os ti poslal RST.
Talking about music is like dancing to architecture.
10.1.2009 22:37 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

Jo i s -v

10.1.2009 22:41 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

A teď se mi nerozběhne zase Apache, píše:

 

Starting web server (apache2)...(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
 failed!
10.1.2009 22:46 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

TAk teď ale nevím, jestli má Apache nějaký socket v adresáři /var/run/apache2 totiž nic nemám

frEon avatar 11.1.2009 01:25 frEon | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu
maluvi o sitovem socketu, proto ta 0.0.0.0 a portu 80. Pravdepodobne budes mit nejakou chybu v konfiguraci, podivej se do logu, pravdepodobne tam bude duvod. apache2ctl -t
Talking about music is like dancing to architecture.
11.1.2009 13:29 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

Tohle jsem vyřešil, musel jsem zabít proces netcat a už zas jede.

11.1.2009 14:42 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

 

apache2ctl -t
Syntax OK

 

11.1.2009 20:29 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

Faktem je, že se ta subdoména k apachovi vůbec nedostane, v logu o ní není ani zmínky, jak jsem ale psal, třeba úplně jiná doména funguje jak má, jak přez můj DNS server, tak i přez doménu, která má zónové záznamy na jiném DNS serveru. TA subodéma, která mi nejde, je CNAME záznam na doménu. Mám nastaveno nejříve bind a potom /etc/hosts. Server je za NATem, ale jak port 80, tak 443 TCP jsou směrovány z veřejné IP na vnitřní adresu serveru. rndc checkzone zona nenajde žádnou chybu, stejně tak jako kontrola konfigurace v Apache. Já už nevím, asi je těch CNAME záznamů snad moc nebo mě nic normálního nenapdá a je mi to záhadou. Připadám si trochu jak blb. :D

frEon avatar 12.1.2009 12:43 frEon | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu
je to divny, v apachovi chyba tedy neni, nat stim nic delat nemuze, a cname zaznam by mela bejt prace resolveru na stroji, ze ktereho to testujes, takze i ten bych vyloucil. Pak uz jenom zbyva sit a mozna chyba v dns zaznamu.
Talking about music is like dancing to architecture.
DjAARA avatar 12.1.2009 11:28 DjAARA | skóre: 32 | Praha|Náklo|Olomouc
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu
Hoďte sem výsledek traceroute domena.tld a traceroute neco.domena.tld.
12.1.2009 16:57 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

traceroute domena.tld
traceroute to domena.tld (aa.bb.cc.ddd), 30 hops max, 40 byte packets
1  ns1.domena.tld (aa.bb.cc.ddd)  0.460 ms  0.315 ms  0.226 ms
 

traceroute neco.domena.tld
traceroute to domena.tld (aa.bb.cc.ddd), 30 hops max, 40 byte packets
1  jinadomena.tld (aa.bb.cc.ddd)  0.478 ms  0.304 ms  0.226 ms
 

IP adresy jsou správně a doména je ta moje, jen nechápu, proč je u toho neco.domena.tld ta jinadomena.tld, tu sice v NS mám, ale je mi to podezřelé.

10.1.2009 21:24 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Osobne kazdemu, kto nema aspon priemerne administratorske skusenosti s Apacom, odporucam [odzalohovat a] vymazat akukolvek wannabe-smart konfiguraciu dodavanu out-of-the-box, vytvorit si prazdny subor httpd.conf a postupne donho pridavat konfiguracne volby podla potreby. Nauci sa tak, ktora volba k comu sluzi, ziska dokonaly prehlad vo svojom konfiguraku, server bude nastaveny presne podla jeho poziadaviek. V konecnom dosledku pravdepodobne zisti, ze jeho httpd.conf ma 10% velkost toho povodneho a beziaci httpd proces potrebuje len 30% pamate. Je to mozno trochu dlhsia cesta k vysledku, ale rozhodne stoji za to. Apache je velmi dobre zdokumentovany, a zatial vzdy, ked som mal z jeho konfiguraciou problemy, boli tieto problemy medzi klavesnicou a operadlom stolicky.

Btw, na virtualnych serveroch v apaci nie je nic virtualneho. Best practice je konfigurovat aj jedinu beziacu instanciu pomocou direktivy <VirtualHost>.
10.1.2009 21:47 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

Tak já tu určitě netvrdím, že je chyba u tvůrců Apache, nepopírám, že můžu mít něco špatně, proto jsem sem taky hodil ty konfiguráky. Vím, co kterou direktivou konfiguruju, ale někde je prostě chyba a sám nevím kde. Je jedno jestli to nacpu celé do httpd nebo je to jako include souborů s virtualhosty. To co mi tu doporučujete jsem udělal, proto je taky můj dotaz pojmenovaný struktura konfiguráků v Debianu, protože sem si to zase chtěl po neúspěchu vrátit zpět.

12.1.2009 07:40 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu
Asi vznikol spatny dojem, ze utocim na opravnenost Tvojho dotazu. Ak to tak vyznelo, ospravedlnujem sa; v ziadnom to pripade nebolo mojim cielom. Chcel som len pridat vseobecny navod na riesenie konfiguracie Apaca, ktory mam mnohokrat odskusany.
12.1.2009 10:41 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

To je v pohodě, taky jsem to vysvětlit a nic se neděje.

10.1.2009 21:51 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Struktura konfiguračních souborů Apache 2 v Debianu

To co mi tu píšete, sem udělal, proto se taky můj dotaz jmenuje tak jak se jmenuje, po neúspěchu jsem si to zase chtěl hodit, tak jak to je v Debianu. Nepopírám, že může být chyba mezi klávesnicí a židlí, proto tu jsou taky ty konfiguráky a proto taky neposílám nějaký bugreport, protože to prostě fungovat má, mě to ale z nějakého mě zatím neznámého důvodu nejde, tak se ptám. A překvapivě vím, co v těch direktivách konfiguruju.

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.