[+] Apache2 (vhost) i Bind9

Konfiguracja serwerów, usług, itp.
Awatar użytkownika
skoorek
Posty: 13
Rejestracja: 30 sierpnia 2006, 08:27
Lokalizacja: od fEnIo

[+] Apache2 (vhost) i Bind9

Post autor: skoorek »

Witam wszystkich chciałbym zaznaczyc iz dlugo googlowalem nim postanowilem napisac tego posta. Mam problem z konfiguracja apache2 i bind9. Otoz postawilem sobie serwerek na debianie

Kod: Zaznacz cały

uname -a 
Linux rtr-buk14 2.6.18-5-686 #1 SMP Wed Oct 3 00:12:50 UTC 2007 i686 GNU/Linux
oraz wykupilem sobie domene w nazwa.pl i przekierowalem sob ie ja na moj zew. adres ip. Wszysko ok po wpisaniu skoorek.eu pokazuje mi sie vh glowny, ale gdy dodalem jeszcze jednego vh blog.skoorek.eu to tez dziala natomiast gdy wpisze sobie cosiktam.skoorek.eu to chcialbym by apache2 zwrocil mi blad w postaci 404 a nie robi tego w takiej postaci tylko gdy wpisze tak skoorek.eu/blog wowczas zwraca kod bledu. ponizej zamieszczam konfiguracje binda i apache2.

BIND
named.conf.option

Kod: Zaznacz cały

options {
        directory "/var/cache/bind";

         query-source address * port 53;

        version "Microsoft DNS Server 1.5 (WinME)";
        forwarders {
                194.204.152.34; 194.204.159.1;
        };

        auth-nxdomain yes;    # conform to RFC1035
        listen-on-v6 { any; };
};
skoorek.pl

Kod: Zaznacz cały

$TTL 86400 ;domyslny TTL dla strefy
$ORIGIN skoorek.pl.
;;rekordy SOA
@                       IN      SOA     dns.skoorek.pl. root.skoorek.pl. (
                                2007112223 ;SERIAL
                                3h         ;REFRESH
                                15m        ;RETRY
                                1w         ;EXPIRE
                                1d )       ;MINIMUM

;;serwery DNS dla skoorek.pl
@                       IN      NS      dns.skoorek.pl.
@                       IN      NS      ns1.netart.pl.

;;informacje o istnejacym sererach pocztowych
                        IN      MX      10      poczta.skoorek.pl.

;;Wpisy hostow, uslug
@                       IN      A      80.48.x.x    ;; skoorek.pl
dns                     IN      A      80.48.x.x    ;; dns.skoorek.pl
smail                   IN      A      80.48.x.x    ;; poczta.skoorek.pl
www                     IN      A      80.48.x.x    ;; [url]www.skoorek.pl[/url]
ftp                     IN      A       80.48.x.x    ;; ftp.skoorek.pl

;;Adresy konkretnych hostow (vh)
skoorek                 IN      A      80.48.x.x    ;; skoorek.pl
oliwka                  IN      A        80.48.x.x    ;; oliwka.skoorek.pl

www                     IN      CNAME   80.48.x.x    ;; [url]www.*[/url]
*                       IN      CNAME    80.48.x.x    ;; *.skoorek.pl
named.conf.local

Kod: Zaznacz cały

zone "skoorek.pl" {
    type master;
    file "/etc/bind/skoorek.pl";
    allow-transfer { any; };
    notify yes;
};
oraz zamieszczam konfiguracje apache2, plik z /etc/apache2/site-enabled - ma byc glownym vh

Kod: Zaznacz cały

<VirtualHost *:80>
	ServerAdmin [email]skoorek@gmail.com[/email]
	ServerName skoorek.pl
	ServerAlias [url]www.skoorek.pl[/url]

DocumentRoot /home/skoorek/www
<Directory /home/skoorek/www>
           SSLRequireSSL
           Options Indexes FollowSymLinks MultiViews
           AllowOverride all
           Order allow,deny
           Allow from all
           
</Directory>

ScriptAlias /cgi-bin/ /home/skoorek/www/
<Directory "/home/www/cgi-bin">
        AllowOverride None
        Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
</Directory>

        Alias /error/ "/usr/share/apache2/error/"

<Directory "/usr/share/apache2/error/">
        AllowOverride None
        Options IncludesNoExec
        AddOutputFilter Includes html
        AddHandler type-map var
        Order allow,deny
        Allow from all
        LanguagePriority pl en cs de es fr it nl sv pt-br ro
        ForceLanguagePriority Prefer Fallback
</Directory>

    ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
    ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
    ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
    ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
    ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
    ErrorDocument 410 /error/HTTP_GONE.html.var
    ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
    ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
    ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
    ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
    ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
    ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
    ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
    ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
    ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
    ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var

    ErrorLog /var/log/apache2/skoorek/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.

    LogLevel debug
    CustomLog /var/log/apache2/skoorek/access.log combined
    ServerSignature On

</VirtualHost>
i drugi vh ktory ma byc uzyty

Kod: Zaznacz cały

<VirtualHost *:80>
	ServerAdmin [email]skoorek@gmail.com[/email]
	ServerName oliwka.skoorek.pl

DocumentRoot /home/skoorek/www/oliwka/
<Directory /home/skoorek/www/oliwka/>
	    Options Indexes FollowSymLinks MultiViews
	    AllowOverride all
	    Order allow,deny
	    Allow from all
</Directory>
	
ScriptAlias /cgi-bin/ /home/skoorek/.www/oliwka/cgi-bin/
<Directory "/home/skoorek/.www/oliwka/cgi-bin">
        AllowOverride None
        Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
</Directory>

        Alias /error/ "/usr/share/apache2/error/"

<Directory "/usr/share/apache2/error/">
        AllowOverride None
        Options IncludesNoExec
        AddOutputFilter Includes html
        AddHandler type-map var
        Order allow,deny
        Allow from all
        LanguagePriority pl en cs de es fr it nl sv pt-br ro
        ForceLanguagePriority Prefer Fallback
</Directory>

    ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
    ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
    ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
    ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
    ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
    ErrorDocument 410 /error/HTTP_GONE.html.var
    ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
    ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
    ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
    ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
    ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
    ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
    ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
    ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
    ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
    ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var

    ErrorLog /var/log/apache2/oliwka/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.

    LogLevel debug
    CustomLog /var/log/apache2/oliwka/access.log combined
    ServerSignature On

</VirtualHost>
i vh default //po wpisaniu blednej subdomeny zostaje zwrocony ten vh

Kod: Zaznacz cały

NameVirtualHost *:80

<VirtualHost *:80>
	ServerAdmin [email]skoorek@gmail.com[/email]

DocumentRoot /usr/share/apache2/error/
<Directory /usr/share/apache2/error/>
	    Options Indexes FollowSymLinks MultiViews
	    AllowOverride all
	    Order allow,deny
	    Allow from all
</Directory>

	Alias /error/ "/usr/share/apache2/error/"

<Directory "/usr/share/apache2/error/">
        AllowOverride None
        Options IncludesNoExec
        AddOutputFilter Includes html
        AddHandler type-map var
        Order allow,deny
        Allow from all
        LanguagePriority pl en cs de es fr it nl sv pt-br ro
        ForceLanguagePriority Prefer Fallback
</Directory>

    ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
    ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
    ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
    ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
    ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
    ErrorDocument 410 /error/HTTP_GONE.html.var
    ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
    ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
    ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
    ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
    ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
    ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
    ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
    ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
    ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
    ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var

    ErrorLog /var/log/apache2/default/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.

    LogLevel debug
    CustomLog /var//log/apache2/default/access.log combined
    ServerSignature On

</VirtualHost>
Awatar użytkownika
Yampress
Administrator
Posty: 6426
Rejestracja: 09 sierpnia 2007, 21:41
Lokalizacja: PL

Post autor: Yampress »

żle masz skonfigurowana strefę
Awatar użytkownika
ShinnRa
Beginner
Posty: 457
Rejestracja: 05 marca 2007, 23:05
Lokalizacja: Gdynia

Post autor: ShinnRa »

ja ten problem rozwiązałem nieco inaczej:
mój ayanami.eu.zone:

Kod: Zaznacz cały

;; Zywotnosc domeny
$TTL 86400
;; Rekord SOA
@               IN      SOA     ayanami.eu.     shinnra.gmail.com. (
                                                2007122622      ; Serial
                                                10800           ; Refresh
                                                3600            ; Retry
                                                2419200         ; Expire
                                                10800 )         ; NXDOMAIN TTL

;; Wpiszy o serwerow nazw
                IN      NS                      fns1.sgh.waw.pl.
                IN      NS                      fns2.sgh.waw.pl.
                IN      NS                      ns.ayanami.eu.

;; Informacje o istniejacy serwerze pocztowym
                IN      MX              10      poczta.ayanami.eu.

;; Wpisy hostow uslug
@               IN      A               83.144.97.71    ;; ayanami.eu
www             IN      A               83.144.97.71    ;; [url]www.ayanami.eu[/url]
ns              IN      A               83.144.97.71    ;; ns.ayanami.eu
secure          IN      A               83.144.97.71    ;; secure.ayanami.eu
poczta          IN      A               83.144.97.71    ;; poczta.ayanami.eu
ftp             IN      A               83.144.97.71    ;; ftp.ayanami.eu
cvs             IN      A               83.144.97.71    ;; cvs.ayanami.eu
tmp             IN      A               83.144.97.71    ;; tmp.ayanami.eu
sysinfo         IN      A               83.144.97.71    ;; sysinfo.ayanami.eu

;; Adresy konkretnych hostow
rei             IN      A               83.144.97.71    ;; rei.ayanami.eu
dawid           IN      A               83.144.97.71    ;; dawid.ayanami.eu
*               IN      CNAME           ayanami.eu.
co do apache to mam tak:

Kod: Zaznacz cały

root@rei:/var/www# ll
drwxr-xr-x 6 root root 4096 2007-12-26 02:48 ayanami.eu
drwxr-xr-x 6 root root 4096 2007-12-26 02:48 default

Kod: Zaznacz cały

root@rei:/var/www# ll default/
drwxr-xr-x 2 root root 4096 2007-12-26 02:48 cgi-bin
drwxr-xr-x 3 root root 4096 2007-12-26 02:57 error
drwxr-xr-x 2 root root 4096 2007-12-26 03:01 logs
drwxr-xr-x 2 root root 4096 2007-12-27 21:30 public_html
/etc/apache2/sites-availble/default

Kod: Zaznacz cały

NameVirtualHost *:80
<VirtualHost *:80>
        ServerAdmin [email]shinnra@gmail.com[/email]
        ServerName 83.144.97.71

        DocumentRoot /var/www/default/public_html/
        <Directory /var/www/default/public_html/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride all
                Order allow,deny
                allow from all
                <IfModule mod_php5.c>
                        AddType application/x-httpd-php .php .phtml .php3
                        AddType application/x-httpd-php-source .phps
                </IfModule>
                DirectoryIndex index.php index.phtml index.html index htm index.xhtml
        </Directory>

        ScriptAlias /cgi-bin/ /var/www/default/cgi-bin/
        <Directory "/var/www/default/cgi-bin">
                AllowOverride None
                Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        Alias /error/ "/var/www/default/error/"

        <Directory "/var/www/default/error">
                AllowOverride None
                Options IncludesNoExec
                AddOutputFilter Includes html
                AddHandler type-map var
                Order allow,deny
                Allow from all
                LanguagePriority pl en cs de es fr it nl sv pt-br ro
                ForceLanguagePriority Prefer Fallback
        </Directory>

        ErrorDocument 401 /error/401.php
        ErrorDocument 403 /error/403.php
        ErrorDocument 404 /error/404.php
        ErrorDocument 405 /error/405.php
        ErrorDocument 408 /error/408.php
        ErrorDocument 410 /error/410.php
        ErrorDocument 500 /error/500.php
        ErrorDocument 501 /error/501.php
        ErrorDocument 503 /error/503.php

        ErrorLog /var/www/default/logs/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/www/default/logs/access.log combined
        ServerSignature On

</VirtualHost>
defaul to domyślny DocumentRoot dla adresu ip i nieistniejących domen sub-domen
a przykładowa domena wygląda tak:

Kod: Zaznacz cały

<VirtualHost *:80>
        ServerAdmin [email]shinnra@gmail.com[/email]
        ServerName ayanami.eu
        ServerAlias [url]www.ayanami.eu[/url]

        DocumentRoot /var/www/ayanami.eu/public_html/
        <Directory /var/www/ayanami.eu/public_html/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride all
                Order allow,deny
                allow from all
                <IfModule mod_php5.c>
                        AddType application/x-httpd-php .php .phtml .php3
                        AddType application/x-httpd-php-source .phps
                </IfModule>
                DirectoryIndex index.php index.phtml index.html index htm index.xhtml
        </Directory>

        ScriptAlias /cgi-bin/ /var/www/ayanami.eu/cgi-bin/
        <Directory "/var/www/ayanami.eu/cgi-bin">
                AllowOverride None
                Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        Alias /error/ "/var/www/ayanami.eu/error/"

        <Directory "/var/www/ayanami.eu/error">
                AllowOverride None
                Options IncludesNoExec
                AddOutputFilter Includes html
                AddHandler type-map var
                Order allow,deny
                Allow from all
                LanguagePriority pl en cs de es fr it nl sv pt-br ro
                ForceLanguagePriority Prefer Fallback
        </Directory>

        ErrorDocument 401 /error/401.php
        ErrorDocument 403 /error/403.php
        ErrorDocument 404 /error/404.php
        ErrorDocument 405 /error/405.php
        ErrorDocument 408 /error/408.php
        ErrorDocument 410 /error/410.php
        ErrorDocument 500 /error/500.php
        ErrorDocument 501 /error/501.php
        ErrorDocument 503 /error/503.php

        ErrorLog /var/www/ayanami.eu/logs/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/www/ayanami.eu/logs/access.log combined
        ServerSignature On

</VirtualHost>
subdomena wygląda tak samo tylko ServerName, ServerAlias, DocumentRoot, ScriptAlias (dla cgi) i Alias (dla error) i logi wskazują na odpowiednie katalogi i pliki.
jak wpiszesz
http://sysinfo.ayanami.eu - dostanies stronę a jak
http://coslo.ayanami.eu - info o braku strony/domeny (coś w stylu 404) - dokładniej zawartość /var/www/default/public_html

Dlaczego taki a nie inny układ katalogów? Bo taki łatwiej mi udostępnić w sieci lokalnej dla danego użytkownika (że widzi tylko swój katalog i ogólno dostępne)

============================================

Musiałem usunąć wpis CNAME bo mi dns wariowały, co pewien czas twierdziły, że nie ma czegoś takiego jak ayanami.eu nie mam pojęcia dlaczego...
ODPOWIEDZ