1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Software und Anwendungen
  3. Tools und Produktivität

Apache Virtual Hosts Unklarheit

  • digital_doom
  • 12. Januar 2009 um 22:45
  • digital_doom
    5
    digital_doom
    Mitglied
    Reaktionen
    1
    Punkte
    191
    Beiträge
    31
    • 12. Januar 2009 um 22:45
    • #1

    Hi leute. Habe momentan ein riesiges Verständnisproblem:

    Vorweg ich bin noch relativ frisch auf dem gebiet also bitte nicht auslachen wenns was simpes is:
    Ich betreue 2 Websites. Diese liegen auf einem Linux Server zu dem ich keinen physischen Zugriff habe und der von jemand anderem betreut wird.
    Das Routing zwischen beiden Webseiten wurde dort mithilfe von VirtualHosts geregelt. Das habe ich vor ca 2 Monaten mit demjenigen der den Server betreut gemeinsam gemacht. Jedenfalls funktioniert momentan das Routing zwischen beiden Seiten fast problemlos. mit http://www.site1.at kommt man auf die erste seite und mit http://www.site2.at auf die zweite. Bei world4you sind sowohl site1.at und http://www.site1.at als auch site2.at und http://www.site2.at auf die ip von diesem server registriert. (bevor ihr euch wunderts, ich bin noch nicht dazugekommen die homepage zu übersiedeln auf die world4you server)

    Und vor kurzem ist dann mein chef zu mir gekommen und hat gesagt wenn er site2.at in den browser eingibt landet er auf der site1. mit http://www.site2.at landet er aber wirklich auf der site2.

    er gab mir die anweisung dieses problem zu beheben. meine erste intention: sicher ein problem mit den VirtualHosts. ich also per putty schnell die datei default im ordner /etc/apache2/sites-available/ geöffnet und nachgesehen. und was sehe ich da. folgendes:

    Apache Configuration
    NameVirtualHost *:80
    NameVirtualHost *:443
    
    
    #<VirtualHost *>
    #	ServerAdmin webmaster@localhost
    #	
    #	DocumentRoot /var/www
    #	<Directory />
    #		Options FollowSymLinks
    #		AllowOverride None
    #	</Directory>
    #	<Directory /var/www/>
    #		Options Indexes FollowSymLinks MultiViews
    #		AllowOverride None
    #		Order allow,deny
    #		allow from all
    #		# Uncomment this directive is you want to see apache2's
    #		# default start page (in /apache2-default) when you go to /
    #		RedirectMatch ^/$ /apache2-default/
    #	</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
    #	ServerSignature On
    #
    #    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>
    #
    #</VirtualHost>
    
    
    <VirtualHost *:80>
    	ServerName www.site1.at
    	ServerAlias www.site2.at
    	ServerAdmin webmaster@localhost
    	DocumentRoot /var/www/www.site1.at
    	Options -Indexes FollowSymLinks
    	ErrorLog /var/log/apache2/error.log
    	<Location /sqlAdmin>
    		AuthType Basic
    		AuthName "MySQL Administration"
    		AuthUserFile /usr/local/apache2/.htusers
    		Require user site1
    	</Location>
    </VirtualHost>
    
    
    <VirtualHost *:443>
    	ServerName www.site1.at
    	DocumentRoot /var/www/site1mod/public
    
    
    	ErrorLog /var/log/apache2/site1mod.error.log
    	SSLEngine On
    	SSLCertificateFile /etc/apache2/ssl/apache.pem
    
    
    	<Directory /var/www/site1mod/public>
    		Options FollowSymLinks
    		AllowOverride None
    		Order allow,deny
    		Allow from all
    	</Directory>
    
    
    	<Location />
    		AuthType Basic
    		AuthName "site1auth"
    		AuthUserFile /usr/local/apache2/.htusers
    		Require user site1admin
    	</Location>
    
    
    	RewriteEngine On
    
    	RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f
    	RewriteRule (.*) $1 [L]
    
    
    	ProxyRequests Off
    
    
    	<Proxy *>
    		Order allow,deny
    		Allow from all
    	</Proxy>
    
    
    	ProxyPass / http://127.0.0.1:3000/
    	ProxyPassReverse / http://127.0.0.1:3000/
    </VirtualHost>
    Alles anzeigen

    so und ab da scheiterts bei mir. wo findet überhaupt das routing zwischen http://www.site1.at und http://www.site2.at statt? und wie könnte ich das ändern das er bei eingabe von site2.at anstelle von http://www.site2.at trotzdem auf der site2 landet?

    so danke im voraus jedem guru der das liest.
    lg

  • Sandybutt
    8
    Sandybutt
    Mitglied
    Reaktionen
    4
    Punkte
    554
    Beiträge
    99
    • 13. Januar 2009 um 04:48
    • #2

    Hallo!

    Aus der Konfigurationsdatei geht leider nicht hervor, in welchem Ordner site2.at enthalten ist, aber grundsätzlich sind die Direktiven ServerName und ServerAlias hier maßgeblich.

    Das wäre eine Minimalkonfiguration für deine Bedürfnisse:

    Code
    <VirtualHost *>
        ServerName www.site1.at
        ServerAlias site1.at
        DocumentRoot /var/www/www.site1.at
    </VirtualHost>
    
    
    <VirtualHost *>
        ServerName www.site2.at
        ServerAlias site2.at
        DocumentRoot /var/www/www.site2.at
    </VirtualHost>
    Alles anzeigen

    Mehr Info gibts hier.

    "I don't think that Debian can really compete with Gentoo. Sure it might be okay, but when it comes to dependencies, you probably are still going to have to get them all on your own. Or is there something like portage in the Debian world as well?"

  • digital_doom
    5
    digital_doom
    Mitglied
    Reaktionen
    1
    Punkte
    191
    Beiträge
    31
    • 13. Januar 2009 um 16:53
    • #3

    also von der dateisystemlogik her liegt

    site1 in /var/www/http://www.site1.at und
    site2 in /var/www/http://www.site2.at

    doch leider weiss ich nicht wo das grundsätzliche roouting stattfindet. denn momentan landet man mit http://www.site1.at wirklich auf der site1 und mit http://www.site2.at auf der site2.

    rein theoretisch müsste das doch in dieser datei festlegen oder? zumindest habe ich in den anderen apache konfigurationsdateien nichts gefunden das mir das erklären könnte.
    lg

    //EDIT//

    habs jetzt so geändert:(Hier nur der relevante ausschnitt, rest is wie oben)

    Apache Configuration
    <VirtualHost *:80>
    	ServerName www.site1.at
    	ServerAlias site1.at
    	ServerAdmin webmaster@localhost
    	DocumentRoot /var/www/www.site1.at
    	Options -Indexes FollowSymLinks
    	ErrorLog /var/log/apache2/error.log
    	<Location /sqlAdmin>
    		AuthType Basic
    		AuthName "MySQL Administration"
    		AuthUserFile /usr/local/apache2/.htusers
    		Require user site1
    	</Location>
    </VirtualHost>
    
    
    <VirtualHost *:80>
    	ServerName www.site2.at
    	ServerAlias site2.at
    	ServerAdmin webmaster@localhost
    	DocumentRoot /var/www/www.site2.at
    	Options -Indexes FollowSymLinks
    	ErrorLog /var/log/apache2/error.log
    #	<Location /sqlAdmin>
    #		AuthType Basic
    #		AuthName "MySQL Administration"
    #		AuthUserFile /usr/local/apache2/.htusers
    #		Require user site1
    #	</Location>
    </VirtualHost>
    Alles anzeigen

    doch leider noch immer ohne ergebnis.
    lg

    Einmal editiert, zuletzt von digital_doom (13. Januar 2009 um 17:02)

  • Blutsturz
    12
    Blutsturz
    Mitglied
    Reaktionen
    21
    Punkte
    1.351
    Beiträge
    261
    • 13. Januar 2009 um 17:13
    • #4
    Zitat von digital_doom

    also von der dateisystemlogik her liegt

    site1 in /var/www/http://www.site1.at und
    site2 in /var/www/http://www.site2.at

    doch leider weiss ich nicht wo das grundsätzliche roouting stattfindet. denn momentan landet man mit http://www.site1.at wirklich auf der site1 und mit http://www.site2.at auf der site2.

    rein theoretisch müsste das doch in dieser datei festlegen oder? zumindest habe ich in den anderen apache konfigurationsdateien nichts gefunden das mir das erklären könnte.
    lg

    //EDIT//

    habs jetzt so geändert:(Hier nur der relevante ausschnitt, rest is wie oben)

    Apache Configuration
    <VirtualHost *:80>
        ServerName www.site1.at
        ServerAlias site1.at
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/www.site1.at
        Options -Indexes FollowSymLinks
        ErrorLog /var/log/apache2/error.log
        <Location /sqlAdmin>
            AuthType Basic
            AuthName "MySQL Administration"
            AuthUserFile /usr/local/apache2/.htusers
            Require user site1
        </Location>
    </VirtualHost>
    
    
    <VirtualHost *:80>
        ServerName www.site2.at
        ServerAlias site2.at
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/www.site2.at
        Options -Indexes FollowSymLinks
        ErrorLog /var/log/apache2/error.log
    #    <Location /sqlAdmin>
    #        AuthType Basic
    #        AuthName "MySQL Administration"
    #        AuthUserFile /usr/local/apache2/.htusers
    #        Require user site1
    #    </Location>
    </VirtualHost>
    Alles anzeigen

    doch leider noch immer ohne ergebnis.
    lg

    Alles anzeigen

    hast du die änderungen auch geschrieben? unter /etc/apache2 solltest du die beiden ordner sites-available und sites-enabled finden, änderungen führst du unter /etc/apache2/sites-available/<vhostfile> durch, dissablest den vhost mit a2dissite <vhostfile>, führst ein /etc/init.d/apache2 reload aus, dann führst du ein a2ensite <vhostfile> aus und wieder ein /etc/init.d/apache2 reload, jetzt sollte die (geänderte) vhost-datei auf jeden fall auch unter /etc/apache2/sites-enabled zur Verfügung stehen...

    achtung das trifft alles auf debian zu, pfade, etc... können natürlich unter einer anderen distribution anders sein...

    "There's no such thing as Computer Science-it's witchcraft", math department of MIT, 1961

    You are all children of a worthless god!

  • digital_doom
    5
    digital_doom
    Mitglied
    Reaktionen
    1
    Punkte
    191
    Beiträge
    31
    • 13. Januar 2009 um 17:51
    • #5
    Zitat von Blutsturz

    hast du die änderungen auch geschrieben? unter /etc/apache2 solltest du die beiden ordner sites-available und sites-enabled finden, änderungen führst du unter /etc/apache2/sites-available/<vhostfile> durch, dissablest den vhost mit a2dissite <vhostfile>, führst ein /etc/init.d/apache2 reload aus, dann führst du ein a2ensite <vhostfile> aus und wieder ein /etc/init.d/apache2 reload, jetzt sollte die (geänderte) vhost-datei auf jeden fall auch unter /etc/apache2/sites-enabled zur Verfügung stehen...

    achtung das trifft alles auf debian zu, pfade, etc... können natürlich unter einer anderen distribution anders sein...

    dazu fehlen mir leider die rechte.
    bei a2dissite default:

    Code
    rm: cannot remove `/etc/apache2/sites-enabled/000-default': Permission denied

    und bei reload bekomm ich eine ganze litanei an fehlern. ich nehme mal an das mir deswegen nichts weiter übrig bleibt als auf eine antwort von dem server besitzer zu warten damit er entweder mir die notewndigen rechte gibt oder das problem selbst löst, oder?

    auf jeden fall schonmal danke für die mithilfe.
    lg

  • Blutsturz
    12
    Blutsturz
    Mitglied
    Reaktionen
    21
    Punkte
    1.351
    Beiträge
    261
    • 13. Januar 2009 um 18:02
    • #6
    Zitat von digital_doom

    dazu fehlen mir leider die rechte.
    bei a2dissite default:

    Code
    rm: cannot remove `/etc/apache2/sites-enabled/000-default': Permission denied



    und bei reload bekomm ich eine ganze litanei an fehlern. ich nehme mal an das mir deswegen nichts weiter übrig bleibt als auf eine antwort von dem server besitzer zu warten damit er entweder mir die notewndigen rechte gibt oder das problem selbst löst, oder?

    auf jeden fall schonmal danke für die mithilfe.
    lg

    Alles anzeigen



    ja dafür solltest du natürlich schon die notwendigen rechte besitzen...

    "There's no such thing as Computer Science-it's witchcraft", math department of MIT, 1961

    You are all children of a worthless god!

  • digital_doom
    5
    digital_doom
    Mitglied
    Reaktionen
    1
    Punkte
    191
    Beiträge
    31
    • 13. Januar 2009 um 23:15
    • #7

    danke auf jeden fall für eure antworten.
    lg

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung