Verstädnisfrage Alias und Servername

Alles, was den Apache betrifft, kann hier besprochen werden.

Verstädnisfrage Alias und Servername

Postby sykerjoe » 10. March 2011 13:08

Moin leutz,

Hab mal ne frage zu dem Servername und einem Alias in der vhost Datei in bezug auf eine host config.

Muss ich, wenn ich den Servername in die Host datei eingetragen habe, noch die vom Alias mit hinzufügen? ... wäre doch blödsinn oder?

Desweiteren finde ich es seltsam, wenn der zugehörige Client die Auflösung des Domainnamens kennt, wozu brauch ich überhaupt noch eine ServerName Direktive?


grüße sykerjoe
sykerjoe
 
Posts: 29
Joined: 21. December 2010 11:39

Re: Verstädnisfrage Alias und Servername

Postby glitzi85 » 10. March 2011 15:27

Als erstes solltest du die richtigen Bezeichnungen verwenden. Ich geh mal stark davon aus, dass du ServerAlias anstelle von Alias meinst. Denn Alias ist eine eigenständige Direktive im Apachen die damit nichts zu tun hat.

Die hosts-Datei hat mit dem Apachen erstmal nicht viel zu tun. Die regelt nur, welcher Hostname zu welcher IP aufgelöst wird. Normalerweise macht das ein DNS-Server, aber die meisten dürften keinen eigenen Installiert haben.

Der Apache benötigt nicht unbedingt eine ServerName-Angabe. Allerdings erhält man dann beim starten eine Warnmeldung und er benutzt den Hostnamen. Das ist aber nicht immer gewünscht, denn dieser Name erscheint auch auf den Fehlerseiten (sofern nicht abgeschaltet).
In einer Named vHost Umgebung muss in jedem vHost ein ServerName stehen, damit der Apache weiß, welcher vHost zu welcher Domain gehört. Da ServerName aber nur einmal pro Host vorkommen darf und ein Host meist unter mehreren Domains ansprechbar sein soll (z.B. example.com und http://www.example.com), nutzt mal ServerAlias um die anderen Domains ebenfalls in den Host zu packen. Alle Domains die nicht explizit in einem vHost aufgeführt sind und dennoch auf den Server zeigen (per DNS) werden automatisch dem ersten vHost zugewiesen.

Ich hoffe das beantwortet deine Frage, ich hab nämlich nicht genau verstanden was du überhaupt wissen willst.

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Re: Verstädnisfrage Alias und Servername

Postby sykerjoe » 11. March 2011 13:50

@glitzi


Danke für deine Ausführungen :)

Nun zu meinem Problem ich benutze folgenden Namensbasierten Virtuellen Host:

Code: Select all
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName rt.example.local      #ist in der Hosts Datei des Clients eingetragen
        ServerAlias  rt3.example.local
        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

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

        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

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

Include /opt/rt3/apache2-modperl2.conf
RedirectMatch ^/$ /rt


</VirtualHost>





Den Servername kann ich gaz normal ansprechen, und es wird auch die richtige Seite angzeigt.
Bloß, wenn ich den Server Alias Aufrufe gibt es keine Redirection auf die richtige Seite.

Das vhost_alias Modul ist auch geladen


Woran könnte das liegen?


grüße sykerjoe
sykerjoe
 
Posts: 29
Joined: 21. December 2010 11:39

Re: Verstädnisfrage Alias und Servername

Postby Nobbie » 11. March 2011 15:51

>RedirectMatch ^/$ /rt

Das ist syntaktisch falsch, als Ziel eines Redirects wird eine URL erwartet, kein Pfad. Beispiel:

Code: Select all
RedirectMatch ^/$ http://www.domain.com/rt


>Das vhost_alias Modul ist auch geladen

Wozu das?
Nobbie
 
Posts: 13183
Joined: 09. March 2008 13:04

Re: Verstädnisfrage Alias und Servername

Postby sykerjoe » 11. March 2011 16:09

Code: Select all
Das ist syntaktisch falsch, als Ziel eines Redirects wird eine URL erwartet, kein Pfad.


Hm... das hab ich aus ner fertigen config

Das beeinflußt aber nicht den Serveralias ob er funktioniert oder nicht oder?


Code: Select all
Das vhost_alias Modul ist auch geladen


Dachte, das brauch ich dafür

grüße sykerjoe
sykerjoe
 
Posts: 29
Joined: 21. December 2010 11:39

Re: Verstädnisfrage Alias und Servername

Postby Nobbie » 11. March 2011 16:38

sykerjoe wrote:Dachte, das brauch ich dafür

grüße sykerjoe


Auf Basis welcher Dokumentation und für welchen Zweck denkst Du das?
Nobbie
 
Posts: 13183
Joined: 09. March 2008 13:04

Re: Verstädnisfrage Alias und Servername

Postby sykerjoe » 14. March 2011 08:31

Auf Basis welcher Dokumentation und für welchen Zweck denkst Du das?


Den Servername kann ich gaz normal ansprechen, und es wird auch die richtige Seite angzeigt.
Bloß, wenn ich den Server Alias Aufrufe gibt es keine Redirection auf die richtige Seite.


Natürlich auf dass, was ich in diesem Post gesagt habe .... der ServerAlias ....

das mit dem Redirect Match ist ne andere Geschichte .....

Edit zu dem Redirect:

Das ist syntaktisch falsch, als Ziel eines Redirects wird eine URL erwartet, kein Pfad.


Folgende Rewrite Rules sind noch in einer anderen conf mit angegeben:

RewriteRule ^/rt$ /rt/
RewriteRule ^/rt/(.*)$ /opt/rt3/share/html/$1
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(/opt/rt3/share/html.*)/$ $1/index.html

Weiß nicht ob das dann damit sinn ergibt... hat mich bis etz auch nicht gestört da es mir nie in die quere gekommen ist :)



grüße sykerjoe
sykerjoe
 
Posts: 29
Joined: 21. December 2010 11:39

Re: Verstädnisfrage Alias und Servername

Postby Nobbie » 14. March 2011 14:02

sykerjoe wrote:Natürlich auf dass, was ich in diesem Post gesagt habe .... der ServerAlias ....


Verstehe ich jetzt nicht so - welche Dokumentation hast Du gelesen, die "der ServerAlias" schreibt (oder so) und was das mit mod_vhost_alias zu tun haben soll?

Welche Dokumentation liest Du denn bzgl. Apache und Konfiguration? Weißt Du überhaupt, was Du dort in Deinen Konfigurationsdateien stehen hast?
Nobbie
 
Posts: 13183
Joined: 09. March 2008 13:04

Re: Verstädnisfrage Alias und Servername

Postby sykerjoe » 16. March 2011 10:07

Hallo nobbie


Ich habe es nach dieser Anleitung probiert: http://blog.ha-com.com/2010/09/23/einen-virtual-host-unter-apache-einrichten/

Es geht mir nur um den ServerAlias das der Funktioniert... alles andere Redirect etc. is mir im moment ziemlich egal ( außer es hängt irgendwie zusammen)


grüße sykerjroe
sykerjoe
 
Posts: 29
Joined: 21. December 2010 11:39

Re: Verstädnisfrage Alias und Servername

Postby Nobbie » 16. March 2011 10:54

sykerjoe wrote:Ich habe es nach dieser Anleitung probiert: http://blog.ha-com.com/2010/09/23/einen-virtual-host-unter-apache-einrichten/


Grauenhaft - da steht tatsächlich so ein Müll drin! Es ist wirklich unglaublich, was so Pseudo-Gurus für einen Mist verzapfen und dann auch noch ins Internet stellen. Dieses Modul tut etwas völlig anderes, das kannst Du auskommentieren. Das benötigt man für sog. "Massen-Hosting", wenn man sehr viele gleich strukturierte VirtualHosts anlegen will und will nicht jeden einzeln wieder spezifizieren und jedesmal das gleiche (bis auf DocumentRoot und ServerName) hinschreiben. Dann kann man mit Hilfe von mod_alias_vhost so eine Art "Template" VirtualHost anlegen, der quasi für alle gilt (und da wird der ServerName und DocumentRoot mit Variablennamen bestückt, die von Apache zur Laufzeit aufgelöst werden).

sykerjoe wrote:Es geht mir nur um den ServerAlias das der Funktioniert... alles andere Redirect etc. is mir im moment ziemlich egal ( außer es hängt irgendwie zusammen)


"Tun" wird er es in jedem Fall, denn die Direktive "ServerAlias" benötigt (wie auch der VirtualHost selbst) kein Apache Modul, das ist eine Funktion von Apache selbst (man nennt das dann "core", als Kern von Apache). So etwas kannst Du herausfinden, in dem Du einfach "ServerAlias" in Google eingibst, da kommt auch ziemlich weit oben das Tutorial von "Sasche Kersken" auf der Seite von buecher.lingoworld.de - das ist eine gute Dokumentation. Im konkreten Fall ist das diese Seite: http://buecher.lingoworld.de/apache2/sh ... =693&o=dir

Und da steht oben immer die grundsätzliche Übersicht, die zitiere ich jetzt mal und erkläre die Begriffe:

In Modul(en): core
Kontext: <VirtualHost>
Syntax: ServerAlias HOSTNAME [HOSTNAME ...]
Standardwert:
Automatisch gesetzt: nein


Also, zunächst wird das Modul genannt, aber da steht "core". D.h., wie oben schon gesagt, die Direktive ServerAlias wird direkt von Apache selbst ausgewertet. Dort müßte sonst "mod_alias_vhost" stattdessen stehen, wenn es benötigt würde - aber das ist nicht der Fall.

Kontext heißt, wo darf ich diese Direktive hinschreiben, das ist in diesem Fall auschließlich im <VirtualHost> Container. Da stehen manchmal auch andere Begriffe, beispielsweise "Server", das würde bedeuten, diese Direktive kann man überall in httpd.conf hinschreiben, sie gilt grundsätzlich für den ganzen Server. Das wäre beispielsweise die Direktive "ServerRoot". Dann folgt der Syntax, der ist klar, erst das das Schlüsselwort "ServerAlias" und dann kann man dort einen oder auch mehrere (mit Leerzeichen voneinander getrennte) Domainnamen (Hostnamen ist das gleiche) angeben. Zum Schluss folgt der "Standardwert" (auf Englisch wäre das der "Default"), d.h. der Wert, wenn man in einem VirtualHost diese Direktive gar nicht angibt und dieser ist hier logischerweise leer bzw. nicht gesetzt.

Der ServerAlias hat also prinzipiell keinen Grund "nicht" zu funktionieren, es sei denn, der damit verknüpfte Domainnamen hätte eine "falsche" IP, nämlich eine IP, die von diesem VirtualHost nicht bedient wird, denn das ist die grundsätzliche Voraussetzung. Das ist aber hier gar nicht möglich, denn dieser VirtualHost (aus Deiner Konfiguration) bedient alle IPs, weil Du dort eine Wildcard angegeben hast "*:80".

Wenn sich dieser VirtualHost im Falle des ServerAlias anders verhält, dann liegt das NICHT am ServerAlias selbst, sondern an der restlichen Konfiguration. Möglicherweise an den Rewrites oder Redirects oder vielleicht auch an etwas, was wir hier noch nicht zu sehen bekommen haben. Um das grundsätzlich mal zu testen, kannst Du ja mal den ganzen "Rest" auskommentieren, und nur ServerName mit ServerAlias und DocumentRoot drin lassen (und natürlich die Direktiven für das <Directory ...> für den DocumentRoot, dass Apache überhaupt zugreifen kann "Allow From All" o.ä., sonst bekommst Du einen 403er oder 404er Fehler (weiß ich jetzt nicht auswendig, welcher der richtige ist).

Und in Sachen Dokumentation und Konfiguration solltest Du in Zukunft vielleicht besser auf die original Apache Doku oder auch gerne die o.g. Doku von Sasche Kerskens zugreifen, da sind auch gute Beispiele drin, aber man erlebt dann nicht so seltsame Überraschungen, dass da totaler Quatsch drin steht.
Nobbie
 
Posts: 13183
Joined: 09. March 2008 13:04


Return to Apache

Who is online

Users browsing this forum: No registered users and 241 guests