Apache – Virtual Hosts 2

Skrevet af: Patrick Kerwood

Hvis din webserver skal hoste flere hjemmesider, med forskellige domæner, skal du bruge Virtual Hosts. At lave virtual hosts, i Apache2 er super nemt og tager ikke lang tid, hvis man har mappe strukturen på plads. Man kan eventuelt lave et script til at gøre det nemmere.

Normalt ligger Apache document root i /var/www, men i denne guide vil jeg ligge de forskellige rod mapper i /var/sites, og i hver deres mappe. Fx. vil rod mappen til domænet test.eksempel.dk, vil være /var/sites/test.eksempel.dk

I denne guide bruger jeg et subdomæne som eksempel (test.eksempel.dk), men guide kan selvfølgelig også bruges til flere “normale” domæner, fx. eksempel1.com, et-andet-eksempel.dk osv.

Start med at lave mappe strukturen.
mkdir /var/sitesmkdir /var/sites/test.eksempel.dk

Ændre rettighederne på mapperne.
chown -R www-data.www-data /var/sites

Dupliker Apache standard konfiguration og kald den det samme som domænet.
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/test.eksempel.dk

Åben filen og rediger/tilføj linjer som vist nedenunder, markeret med gult.
nano /etc/apache2/sites-available/test.eksempel.dk

Gem og luk.

For at tage denne konfiguration i brug, skal den enables.
a2ensite test.eksempel.dk

Smid et test dokument i rod mappen. Kopier nedenstående og sæt det ind i index.html.
nano /var/sites/test.eksempel.dk/index.html

Gem og luk.

Reload Apache.
service apache2 reload

Dit virtuelle domæne skulle nu være oppe og kører.

Script dig ud af det

Hvis du regner med at skulle lave flere Virtual Hosts, i tide og utide. Kan man nemt lave et script der gør alt arbejdet for dig.

Lav en fil og indsæt det nedenstående script.
nano create-vh

Ændre rettighederne.
chmod +x create-vh

Kør scriptet.
sudo ./create-vh

Efterfølgende vil du blive spurgt efter domænet. Bemærk at det skal skrives uden “www”. Scriptet gør efterfølgende alt arbejdet for dig. Ændre evt. i den, for at tilpasse mappe strukturen.
Please write the URL of the Virtual Host: test.eksempel.dk

De første 7 linjer, sørger for at scriptet ikke kan kører uden root privilegier.


13 sep 2013   | Alle · Programmer · Scripts

2 thoughts on “Apache – Virtual Hosts

  1. Reply Jan aug 5,2014 03:22

    Super fin gennemgang og endda på Dansk. :-)

Leave a Reply