Trädvy Permalänk
Medlem
Plats
Gävle
Registrerad
Sep 2009

VHost i Apache

Har lite problem med vhost i apache. Jag vill få all trafik som kommer från ett specifikt subdomän att pekas in i en speciell katalog på webservern. T.ex, allt från adressen test.exemple.com att pekas mot /www/randomsite/login/. Hur löser jag detta?

Har just nu en (A) pekare med test.exempel.com som pekar mot webserverns IP.

Trädvy Permalänk
Medlem
Plats
Stenungsund
Registrerad
Jan 2004

Editera bara /etc/apache2/sites-enabled/000-default

<VirtualHost *:80>
ServerAlias domän.se www.domän.se *.domän.se
DocumentRoot /var/www/randomsite/login
</VirtualHost>

Nintendofanboy
Corgiägare instagram.com/gizmocorgi
Legonörd
Amatörfotograf 35mm.se

Trädvy Permalänk
Medlem
Plats
Gävle
Registrerad
Sep 2009

Funkar, dock dirigerar den om all trafik till den katalogen, vill bara att den ska dirigera dit trafik som kommer från test.example.com, går detta?

Trädvy Permalänk
Medlem
Registrerad
Feb 2009

Lägg till en till host om du vill ha flera:

<VirtualHost *:80> ServerName sida1.se ServerAlias www.sida1.se DocumentRoot "/var/www/sida1" </VirtualHost> <VirtualHost *:80> ServerName sida2.se ServerAlias www.sida2.se DocumentRoot "/var/www/sida2" </VirtualHost>

Trädvy Permalänk
Medlem
Plats
Stenungsund
Registrerad
Jan 2004
Skrivet av HenrikssonMedia:

Funkar, dock dirigerar den om all trafik till den katalogen, vill bara att den ska dirigera dit trafik som kommer från test.example.com, går detta?

Javisst. *.domän.se betyder ju att den tar alla subdomäner. Ändra till subdomän.domän.se så ska det fungera utmärkt.

<VirtualHost *:80> ServerAlias subdomän.domän.se DocumentRoot /var/www/randomsite/login </VirtualHost>

Borde fungera i ditt fall.

Nintendofanboy
Corgiägare instagram.com/gizmocorgi
Legonörd
Amatörfotograf 35mm.se

Trädvy Permalänk
Medlem
Plats
Gävle
Registrerad
Sep 2009

Tror jag krånglat till det lite med Vhost, funkade prima att köra en mod_rewrite på

RewriteEngine On
RewriteCond %{HTTP_HOST} ^test\.example\.se
RewriteRule ^(.*)$ /randomfolder/login/$1 [L]

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Mar 2008

<edit: aha - ser att du redan kör rewrite-approachen :-)>

mod_rewrite

http://httpd.apache.org/docs/2.3/rewrite/
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

Men - som några visa män sa....

The great thing about mod_rewrite is it gives you all the configurability and flexibility of Sendmail. The downside to mod_rewrite is that it gives you all the configurability and flexibility of Sendmail.''

-- Brian Behlendorf
Apache Group

Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo.

-- Brian Moore
bem@news.cmc.net

Welcome to mod_rewrite, the Swiss Army Knife of URL manipulation!

Trädvy Permalänk
Medlem
Plats
Mariestad
Registrerad
Nov 2006
Skrivet av HenrikssonMedia:

Har lite problem med vhost i apache. Jag vill få all trafik som kommer från ett specifikt subdomän att pekas in i en speciell katalog på webservern. T.ex, allt från adressen test.exemple.com att pekas mot /www/randomsite/login/. Hur löser jag detta?

Har just nu en (A) pekare med test.exempel.com som pekar mot webserverns IP.

/etc/apache2/sites-available

gör en kopia på default till test tex.

ändra

<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName test.dindomän.se
DocumentRoot /var/www/test
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/test>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

kör sedan a2ensite test(ska vara namnet du väljer på konf filen)

kör en reload på apache /etc/init.d/apache2 reload

Så kör jag iaf vhost i apache

Server|2st Xeon E5620 2.4Ghz|Intel S5520HCR|48GB DDR3|150GBx2 RAID1 WD VelociRaptor | 18TB RAID6 |9280-24ie
Laptop
Lenovo T430, i7-3520 | 16GB RAM | 2x 512GB SSD | Nvidia 5400M
MacBook Air - Mid 2013

Trädvy Permalänk
Medlem
Plats
Björnlunda eller Södertälje
Registrerad
Feb 2005

Är inte säker på om det gäller alla Apache men på huvuddomänen skulle jag nog köra:
<VirtualHost _default_:80>

</VirtualHost>
Så om du mot all förmodan går emot något som inte är plockat av dina andra vhosts så fångar du dem emot den siten.

One shall not shout when there is a forum!

Trädvy Permalänk
Medlem
Plats
/root
Registrerad
Jul 2001

Lägg din standard DocumentRoot som första vhost, så kommer den ta allt som inte matchar någon vhost. Lägg sedan de andra efteråt.

Exempel:

<VirtualHost *:80> DocumentRoot /usr/local/www/apache22/data ServerName minvanligadoman.se ServerAlias www.minvanligadoman.se foobar.se etc.se </VirtualHost> <VirtualHost *:80> DocumentRoot /usr/home/a_webserver_user/public_html ServerName a_webserver_user.se ServerAlias www.a_webserver_user.se ServerAdmin webmaster@a_webserver_user.se </VirtualHost> <VirtualHost *:80> DocumentRoot /usr/home/another_user/public_html ServerName another_user.se ServerAlias www.another_user.se ServerAdmin webmaster@another_user.se </VirtualHost>

Om bar.se pekar mot servern så kommer den skickas in på första vhosten fast den inte matchar någonting.

"to conquer others is to have power, to conquer yourself is to know the way"
Blogg / Browser/OS-sniffer

Trädvy Permalänk
Medlem
Plats
Gävle
Registrerad
Dec 2012

Jag tänkte låna tråden lite. Jag har precis börjat prova mig på webbservrar genom min raspberry pi.
Kör debian-versionen och har installerat apache2 och mysql.

Allt har gått som smort tills jag skulle installera ett CMS-system. Då visade det sig att jag inte kunde ändra filattribut på www-mappen och jag skapade en ny mapp (/cms) (vilket var lika bra eftersom jag har några domäner på lager, som jag vill köra samtidigt).

Jag började då kika på vhost. Var inne i /etc/apache2/sites-available/default och lattjade. Försökte ändra "DocumentRoot /var/www/" till "DocumentRoot /var/www/cms" men icke.

När jag skriver "service apache2 reload" genom min SSH-klient så står det "Reloading web server config: apache2 failed!". Återställer jag filen till originalutförande funkar det igen.

Hittade en guide om att man kan skriva "a2dissite default" och sedan skapa filer med <VirtualHost *:80>[...]</VirtualHost> för varje domän och sedan köra "a2ensite" på dessa filer. "Det här hjälper säkert" tänkte jag. Men resultatet blir att apache2 dör och enda sättet att starta upp apache igen verkar vara genom att ta bort de nya filerna i "/etc/apache2/sites-available/"-mappen.

Har inte gjort någonting alls med apache2 mer än att installera det. Någon som har någon idé om vad som ställer till det för mig?

Tack på förhand,
B.

Trädvy Permalänk
Medlem
Plats
Gävle
Registrerad
Dec 2012

Allting löste sig till sist (vilken fredagkväll ). Hade missat att ändra en grej i ports.conf tror jag. Har läst säkert fem olika guider på engelska så vet knappt vad jag håller på med längre.
Men den här tråden var till god hjälp från föregående inlägg så jag får tacka för det och be om ursäkt för att jag bumpade en gammal tråd.

Trevlig helg!
B.