Apache2 - Multipla "hemsidor"

Konfiguration av nätverk, hur man använder Ubuntu som server, och håller sin dator säker
Guttasej
Inlägg: 150
Blev medlem: 03 jun 2006, 20:05

Apache2 - Multipla "hemsidor"

Inlägg av Guttasej »

Hej

jo nu är det såhär att jag köpt mig en ny domän som jag tänkte ha till en sida,

grejen är såhär att jag nu har en gratis domän, som jag vill behålla för allting annat,
och sen vill jag att om jag skriver in min nya domän i webläsarn så kommer man till en specifik sida och har inte tillgång till allt annat på server

hursomhelst menar jag typ såhär

gratisdomän.nu = oförändrad /var/www ska dock inte visa det som ligger på min nya domän..
nydomän.nu =  /var/www/nydomän 

nånting åt det hållet är jag ute efter, just nu så pekar båda domänerna till bara till mitt IPnr,  måste ju gå att hosta flera sidor på samma webserver?

tack på förahnd :)
Användarvisningsbild
Rag3Rac3r
Inlägg: 594
Blev medlem: 05 jul 2007, 03:06
OS: Windows
Utgåva: Vet inte/ingen utgåva passar
Ort: Uppsala/Stockholm
Kontakt:

SV: Apache2 - Multipla "hemsidor"

Inlägg av Rag3Rac3r »

Jajamensan, det går genom s.k. VirtualHosts i Apache.

Du hittar configen längst ner i httpd.conf filen iaf. ;)

Ett exempel i ditt fall kan vara detta:

Kod: Markera allt

NameVirtualHost *

<VirtualHost *>
    ServerAdmin user@domain.tld
    DocumentRoot /var/www
    ServerName *.gratisdomän.nu
    ServerAlias *.gratisdomän.nu
</VirtualHost>

<VirtualHost *>
    ServerAdmin user@domain.tld
    DocumentRoot /var/www/nydomän
    ServerName *.nydomän.nu
    ServerAlias *.nydomän.nu
</VirtualHost>
Det går att bygga upp på många olika sätt, den första "VirtualHosten" är den som blir standard, dvs matar man bara in IP-nummer, eller en nåt.nydomän.nu som inte är pekad mot en specifik mapp kommer den att fånga upp och visa det innehållet.

Att skriva *.gratisdomän.nu och *.nydomän.nu betyder att vhostarna kommer att ta alla former av underdomäner. :)

Apache's hemsida och dokumentation erbjuder mera info om just virtual hosts: http://httpd.apache.org/docs/2.0/vhosts/
Natural laws have no pity ~~ Quis custodiet ipsos custodes?
Guttasej
Inlägg: 150
Blev medlem: 03 jun 2006, 20:05

SV: Apache2 - Multipla "hemsidor"

Inlägg av Guttasej »

hmmm hade dock inte det där i min httpd.conf fil :S

hittade däremot nåt i  sites-available/default    där hitta jag <VirtualHost*>
kan det vara rätt måntro?
Användarvisningsbild
Rag3Rac3r
Inlägg: 594
Blev medlem: 05 jul 2007, 03:06
OS: Windows
Utgåva: Vet inte/ingen utgåva passar
Ort: Uppsala/Stockholm
Kontakt:

SV: Apache2 - Multipla "hemsidor"

Inlägg av Rag3Rac3r »

Guttasej skrev: hmmm hade dock inte det där i min httpd.conf fil :S

hittade däremot nåt i  sites-available/default    där hitta jag <VirtualHost*>
kan det vara rätt måntro?
Ja eftersom det är sättet att tala om för apache var den ska leta, har en egenkompilerad Apache2 på min burk så märker redan nu att det diffar lite hur det ser ut mellan våra.

Ubuntu's engelska Wiki erbjuder lite mera hjälp på området, under 'Basic settings' på https://help.ubuntu.com/7.04/server/C/httpd.html hittar du det du letar efter :)
Natural laws have no pity ~~ Quis custodiet ipsos custodes?
Användarvisningsbild
Rag3Rac3r
Inlägg: 594
Blev medlem: 05 jul 2007, 03:06
OS: Windows
Utgåva: Vet inte/ingen utgåva passar
Ort: Uppsala/Stockholm
Kontakt:

SV: Apache2 - Multipla "hemsidor"

Inlägg av Rag3Rac3r »

Som jag förstod så kopierar du bara default-filen, ändrar efter dina behov och spar.
Och gör sen likadant för varje domän och det ska funka därefter. :)

dvs, detta bör funka för dig (kan tyvärr inte prova själv och se på grund av min egenkompilerade):

Kod: Markera allt

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/nydomän
sudo nano /etc/apache2/sites-available/nydomän
Och i nydomän fyller du i detta:

Kod: Markera allt

<VirtualHost *>
    ServerAdmin user@domain.tld
    DocumentRoot /var/www/nydomän
    ServerName *.nydomän.nu
    ServerAlias *.nydomän.nu
</VirtualHost>
Och när du spart så ska detta göras:

Kod: Markera allt

sudo a2ensite nydomän
sudo /etc/init.d/apache2 restart
Ursäkta om jag är lite oklar i min förklaring, men sitter och läser hur Ubuntu har tänkt att Apache2 ska funka och det diffar lite ifrån hur jag har det fungerande, men eftersom jag är van vid apache går det fort iaf :)
Senast redigerad av 1 Rag3Rac3r, redigerad totalt 12 gånger.
Natural laws have no pity ~~ Quis custodiet ipsos custodes?
mattiash
Inlägg: 287
Blev medlem: 11 maj 2006, 11:10

SV: Apache2 - Multipla "hemsidor"

Inlägg av mattiash »

Tjena !!

Jag har testat båda först la jag alla sidor i egna filer i sites-avalabel och gjorde en egen fil för varje sub domän.
Och akivera dom sedan med a2enable.

Men jag hade en jävla massa strul med det så tillslut la jag bara alla i http.conf och då funkar det i alla fall strålande för mig.

En sak att tänka på som jag inte har fixat än är att man måste ha alla subdämner som virtuella också.
jag har tex mail.domän.se och den mekar till www/mail

Sedan har jag domänen sys.domän.se och den har jag inte angett som virtuell men den pekar också till www/mail varför vet jag inte.

// matte
Användarvisningsbild
Rag3Rac3r
Inlägg: 594
Blev medlem: 05 jul 2007, 03:06
OS: Windows
Utgåva: Vet inte/ingen utgåva passar
Ort: Uppsala/Stockholm
Kontakt:

SV: Apache2 - Multipla "hemsidor"

Inlägg av Rag3Rac3r »

Första <VirtualHost *> som anges i httpd.conf är den som tolkas som default/standard av Apache2, så alla "okända" underdomäner den hittar kommer automatiskt att gå till den...
Eller om man har angett *.mindomän.se i nån virtualhost kommer den att svara på alla anrop för underdomäner till den domänen (har dock inte testat vad som händer om man lägger en *.mindomän.se längst ner i en fil, men logiskt borde den fungera som skräpkorg och ta allting som tidigare inte tar).

Har min httpd.conf uppbyggd med hjälp av ca 10 st olika filer för virtualhost, allt beroende på vad dom är till för och sen i dom filerna ligger det även mera konfiguration med tillåtelser för mappar och annat. :)
Går att lägga ganska mkt "målriktad" konfiguration i <VirtualHost>/</VirtualHost> om man nu känner för det.
Natural laws have no pity ~~ Quis custodiet ipsos custodes?
Användarvisningsbild
Pinky
Inlägg: 1258
Blev medlem: 30 jan 2007, 15:59
OS: Fedora
Ort: Kristianstad/Sverige
Kontakt:

SV: Apache2 - Multipla "hemsidor"

Inlägg av Pinky »

Ursäkta att jag lyfter en så gammal tråd, men jag vill fortsätta lite på den :)
jag har fått ovanstående att fungera, dvs man kommer till olika sidor beroende på adressen, fastän allt ligge rpå samma server. Vad jag undrar nu är, låt säga att jag har server-1 med en hemsida, och server-2 med en annan. Bägge ligger bakom min router, och jag har bara en ip-adress utåt. Om jag då routar port 80 till server 1, kan jag ange i virtualhosts att den ena av sidorna hanteras av server-2??

Hoppas att ni förstår vad jag menar :)

Edit: Och så undrar jag om det finns ett kommando för att ta bort domäner, precis som man lägger till dem med a2ensite?
Senast redigerad av 1 Pinky, redigerad totalt 22 gånger.
Användarvisningsbild
bax
Inlägg: 108
Blev medlem: 10 maj 2007, 18:31

SV: Apache2 - Multipla "hemsidor"

Inlägg av bax »

Hej!

Det är något sånt här du menar kanske?

http://httpd.apache.org/docs/2.2/mod/mo ... #proxypass
Senast redigerad av 1 bax, redigerad totalt 23 gånger.
Användarvisningsbild
Pinky
Inlägg: 1258
Blev medlem: 30 jan 2007, 15:59
OS: Fedora
Ort: Kristianstad/Sverige
Kontakt:

SV: Apache2 - Multipla "hemsidor"

Inlägg av Pinky »

Öuhm jag är inte säker :P
om jag fattat din länk rätt, så används proxypass för att göra så här: om jag har en proxypass som säger  ProxyPass /tjosan/ http://annanserver.com, så kommer sida annansida.com att visas när jag går in på minsida.com/tjosan? typ?

Jag vill ju ha så att om man går in på annansida.com så kommer man till den ena servern, och om man går in på minsida.com så hamnar man på den andra? Fastän de är bakom samma router. (Ponera då såklart att annansida.com och minsida.com är mina domäner, kopplade till samma IP)

Blev lite rörigt där, men ni förstår kanske?
Användarvisningsbild
bax
Inlägg: 108
Blev medlem: 10 maj 2007, 18:31

SV: Apache2 - Multipla "hemsidor"

Inlägg av bax »

Njoo..testa.

Kod: Markera allt

NameVirtualHost *:80
    <VirtualHost *:80>
    ServerName www.pinky_1.com
    DocumentRoot /var/www/html
    </VirtualHost>

    <VirtualHost *:80>
    ServerName www.pinky_2.com
    ProxyPass / http://192.168.0.10/
    ProxyPassReverse /  http://192.168.0.10/
    </VirtualHost>
Kollade som hastigast, och det funka....delvis....
Testade mot en webserver som inte kör port 80 och det finns ingen portforward i routern, där av "delvis".
Men webservern svarade iaf :)

Kom ihåg att du måste lägga till "pinky_1" också.
Användarvisningsbild
Pinky
Inlägg: 1258
Blev medlem: 30 jan 2007, 15:59
OS: Fedora
Ort: Kristianstad/Sverige
Kontakt:

SV: Apache2 - Multipla "hemsidor"

Inlägg av Pinky »

Det ser ju lite lovande ut :)
Hur aktiverar jag mod_prxy förresten? Apache tycker att "nån sån har jag inte, vad är det här för skumma kommandon?"
Användarvisningsbild
Pinky
Inlägg: 1258
Blev medlem: 30 jan 2007, 15:59
OS: Fedora
Ort: Kristianstad/Sverige
Kontakt:

SV: Apache2 - Multipla "hemsidor"

Inlägg av Pinky »

Ah, a2enmod proxy var det såklart som behövdes :P Nu klagar den inte på det iaf.
Nästa problem på vägen:
när jag går in på den adress som ska ligga på server2 då, så får jag 403 Forbidden, You don't have permission to access / on this server.
???
Skriv svar

Återgå till "Nätverk, säkerhet och servrar"