Domain in Apache2 Server hinzufügen – Virtual Host in Ubuntu

Wer lokal entwickelt, wird es kennen: localhost, localhost:8080, 127.0.0.1, 127.0.0.1:8000 usw. Wer ein wenig Abwechslung benötigt und seine lokalen Projekte über eine Domain im Browser aufrufen möchte kann es ganz einfach umsetzen. Ansonsten ist gegen localhost überhaupt nichts auszusetzen! Ich gehe wieder von unixoiden Betriebssystem aus. In diesem und meinem Fall Ubuntu 18.04.

Falls Ihr noch kein Apache2 am laufen habt, dann könnt Ihr mit folgenden Commands das tun:

sudo apt update
sudo apt upgrade
sudo apt install apache2

Ziel soll es sein ein lokalen Ordner über eine Domain (http://testshop.com) anzusprechen, statt zum Beispiel über http://localhost/testshop.com/public.

Wir legen den Ordner wie folgt an:

cd ~
sudo mkdir /var/www/testshop.dev

Jetzt ändern wir die Rechte mit chown:

sudo chown -R www-data:www-data /var/www/testshop.dev

Nun erstellen wir eine neue Apache Sites Konfigurationsdatei:

sudo nano /etc/apache2/sites-available/testshop.com.conf

In dieser kopieren wir folgenden Inhalt:

<VirtualHost testshop.dev:80>
    ServerAdmin admin@testshop.com
    ServerName testshop.com
    ServerAlias www.testshop.com
    DocumentRoot /var/www/testshop.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<Directory /var/www/testshop.com/>
    AllowOverride All
</Directory>

Die Einträge haben folgende Bedeutungen:

  • ServerAdmin: Hier legt man den Kontakt zum Seitenadmin fest, der bei einem Fehler mit dem Webserver dem Nutzer angezeigt wird. Somit können theoretisch Besucher den Fehler melden.
  • ServerName: Die Domain die wir ansprechen wollen. Mit dem Aufrufe von http://testshop.com werden dann die Date des DocumentRoot verwendet.
  • ServerAlias: Ist der alternative Domainnamen. Somit können wir unsere Seite auch mit www.testshop.com aufrufen.
  • DocumentRoot:  Verzeichnis, dass die Daten für diese Domain beinhaltet.
  • ErrorLog & CustomLog: Fehler-Log-Datei und Aufruf-Log-Datei für diese Domain.

Nun aktivieren wir unsere neue Domainkonfiguration mit:

sudo a2ensite testshop.com.conf

und starten den Server neu:

sudo systemctl reload apache2

Kleiner Tipp! Um die Domain wieder zu deaktivieren, dann folgenden Command nutzen:

sudo a2dissite testshop.com.conf

Falls das noch nicht funktioniert, dann kurz mal:

sudo nano /etc/hosts

aufrufen und testshop.com

127.0.0.1   localhost
111.111.111.111 testshop.com 

eintragen bzw. hinzufügen.

Und ab sofort könnt ihr mit testshop.com euer Projekt im Browser bestaunen und das auch noch offline. (ok, wenn ihr die Styles und Javascripte von einen CDN lädt, stimmt das nur so halb 😉

Greetz aus dem Sauerland


Leave a Comment

Your email address will not be published. Required fields are marked *

*

*

Empfholende Artikel


Count files via the CLI in a folder (also recursive)

December 5, 2022

For example, you want to know how many files are in your Laravel vendor folder. To do this, go to the project folder with your console. Now you can count the files with find. If you don’t want a recursion and just want to know how many folders and files a certain path has, you […]

Symlinks – Was sind symbolische Links

March 11, 2022

Bei einem aktuellen Projekt bin ich auf ein außergewöhnliches deployment gestoßen. Außergewöhnlich aber nicht negativ wertend gemeint. Halt nicht “state of the art”. Stack: Amazon EC2 Server mit einem NGINX Webserver. Der Ablauf ist wie folgt. Der Order html unter dem Pfad /usr/share/nginx/html war ein Symlink auf ein Verzeichnis im selben Pfad. Nennen wir den […]

Odt Dateien in ein PDF konvertieren

January 4, 2022

Möchte man über die Commandline aus einer odt Datei eine PDF machen, brinbt libre Office von Hause auch gleich ein Headless Tool mit. libreoffice –headless –convert-to pdf textdatei.odt und schubdiwup, da ist das neue PDF.

Mit sed Text in einer Datei ändern

November 20, 2021

Wer über die CLI in einer Textdatei etwas editieren möchte greift für gewöhnlich zu nano, vim etc. Aber es gibt auch eine andere Möglichkeit in einer Textdatei etwas zu ändern. Über eine Stream (Stream Edit). Das kann zum Beispiel bei einem Deploymentscript sinnvoll sein. Wenn man zum Beispiel ein Deploymentscript hat und mit Release Ordner […]

Verschlüsseltes Zip über die Kommandozeile erstellen

November 9, 2021

Folgendes Szenario. Ihr seid via SSH auf einem Server der nicht mehr ansprechbar ist. Um die Dateien zu sichern erstellt ihr rasch ein ZIP von den Dateien die gesichert werden müssen. Das geht schnell mit: zip -re outputfileName.zip input folder/file r = rekursive = encryption

What does the -p option stand for in mkdir?

November 4, 2021

If you want to create several directories with the command mkdir you use the -p option. But what does the -p stand for? One could assume it stands for “Path”. But no. It stands for “parent”. And the flag is needed to create a parent directory if it is required. If you try to create […]