#Skapa en namnbaserad virtuell host
Låt oss nu skapa en Apache Name-based Virtual Host. Ponera att vi har en kund och vi skall skapa deras webbplats linux.dbwebb.se. Men, vi vill först testa den i vår egen utvecklingsmiljö, genom att köra samma domän via en namnbaserad virtuell host i Apache.
#Skapa en konfigfil för den virtuella hosten
Det finns en katalog /etc/apache2/sites-available
där man lägger konfigfilerna för de virtuella hostar man har. Sedan enablar man de virtuella hostar som Apache skall använda. Då länkas filerna i katalogen sites-enabled
.
I katalogen sites-available
ligger en konfigfil som man kan utgå ifrån.
Följ dessa steg för att enabla en virtuell namnbaserad host för linux.dbwebb.se
. Jag använder nano som editor.
cd /etc/apache2/sites-available
sudo cp 000-default.conf linux.dbwebb.se.conf
sudo nano linux.dbwebb.se.conf
Den färdiga filen linux.dbwebb.se.conf
kan se ut så här för min egen användare mos. Du kan behöva ändra sökvägarna så de passar till din användare.
<VirtualHost *:80>
ServerAdmin mos@linux.dbwebb.se
ServerName linux.dbwebb.se
ServerAlias www.linux.dbwebb.se
DocumentRoot /home/mos/vhosts/linux.dbwebb.se/htdocs
ErrorLog /home/mos/vhosts/linux.dbwebb.se/error.log
CustomLog /home/mos/vhosts/linux.dbwebb.se/access.log combined
<Directory />
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
Jag tänker mig alltså att min virtuella host skall ligga i min hemmakatalog /home/mos
under en katalogstruktur om vhosts/linux.dbwebb.se
. I den mappen sätter jag webrooten till htdocs
och loggfilerna hamnar direkt i katalogen.
Så här fullföljer jag.
mkdir $HOME/vhosts
mkdir $HOME/vhosts/linux.dbwebb.se
mkdir $HOME/vhosts/linux.dbwebb.se/htdocs
Nu är det bara att enabla den virtuella hosten och låta Apache ladda om konfigurationen.
sudo a2ensite linux.dbwebb.se sudo service apache2 reload
#Felsök konfigfilen
Om du får problem med konfigfilen så kan du titta i error-loggen för felutskrifter. Titta både i var/log/apache2
och i loggilerna för den virtuella hosten.
sudo tail -f /var/log/apache2/error.log
tail -f $HOME/vhosts/linux.dbwebb.se/error.log
Du kan också köra följande kommandon för att se status på apache och dess konfigfil.
# Check status of apache
sudo service apache2 status
# Check configuration file for errors
apachectl configtest
apachectl -t
# List virtual hosts with settings
apachectl -S
# Stop and start the service
sudo service apache2 start
sudo apachectl start
sudo service apache2 stop
sudo apachectl stop
#Revision history
- 2020-03-11: (A, lew) Första versionen.