Virtuell host med Apache2 och Linux
Har ett tag nu kört min interna utvecklingsmiljö med en standarduppsättning av Apache2 utan några större ändringar i konfigurationen. Kände nu att jag behövde mer av min miljö och att den helst ska vara så lik den externa servern som möjligt. Meckade därför upp en virtuell host internt som ska vara mer lik den på webbhotellet.
Fördelen jag ville åt med detta är länkningen. Kör man via http://localhost/mapp1/index.php så kan man tydligen inte använda relativ länkning såsom /css/css.css utan måste använda css/css.css. Skillnaden är egentligen inte stor om man bara läser direkt – men praktiskt är den gigantisk! ett / i början av länkningen betyder att den ska hämta informationen från rooten och sedan vidare med länkningen. Att man inte kan använda relativ länkning med det första sättet handlar om att / vill gå tillbaka till den absoluta wwwrooten istället för mappens root, vilket egentligen är ganska logiskt.
Ett exempel:
[code language="css"]<link rel="stylesheet" href="styles/css.css" type="text/css" />
Kommer alltid att länka till http://dindomän.com/mappenduharfileni/style/css.css
Medans:
[code language="css"]<link rel="stylesheet" href="/styles/css.css" type="text/css" />
Alltid kommer länka till http://dindomän.com/styles/css.css
Via den här lilla ändringen kan man ha större kontroll över sin kod samt strukturera filerna på ett bättre sätt.
Hur gjorde jag då?
Det finns säkert 50 olika lösningar som passar olika ändamål - men det enklaste för mig blev så här:
[code language="html"]sudo nano /etc/apache2/sites-enabled/dindoman.local.conf
Klistra in:
[code language="html"]
ServerName dindoman.local
ServerAlias dindoman.local
DocumentRoot /var/www/dindoman.local/
CustomLog /var/log/apache2/dindoman.local-access-int.log combined
Spara och stäng. Detta skapar din virtuella host hos apache, nu måste vi bara lägga till den i din hosts fil.
[code language="html"]sudo nano /etc/hosts
Klistra in:
[code language="html"]127.0.0.2 dindoman.local
Spara och stäng. Slutligen måste vi skapa en symbolisk länk till din nyskapade konfiguration i sites-availible/ mappen och starta om apacheservern.
[code language="html"]sudo ln -s /etc/apache2/sites-enabled/dindoman.local.conf /etc/apache2/sites-availible/dindoman.local.conf
sudo apachect1 restart
Nu är det dags att surfa in via din webbläsare till "mindoman.local". Notera att mindoman.local är enbart ett exempelnamn - ändra där du ser det mot ditt namn. Enkelt och smidigt eller hur?
