One place for hosting & domains

      richten

      So installieren Sie Tinc und richten ein einfaches VPN unter Ubuntu 18.04 ein


      Einführung

      Tinc ist ein Open-Source Virtual Private Network (VPN)-Daemon mit nützlichen Funktionen wie Verschlüsselung, optionaler Komprimierung und automatischem Mesh-Routing, der VPN-Verkehr opportunistisch direkt zwischen Servern routen kann. Diese Funktionen unterscheiden tinc von anderen VPN-Lösungen und machen es zu einer guten Wahl für die Erstellung eines VPN aus vielen kleinen, geografisch verteilten Netzwerken.

      In diesem Tutorial gehen wir darauf ein, wie Sie mit tinc ein sicheres VPN erstellen, in dem Ihre Server kommunizieren können, als ob sie sich in einem lokalen Netzwerk befinden würden. Wir werden auch demonstrieren, wie man mit tinc einen sicheren Tunnel in einem privaten Netzwerk einrichtet. Wir verwenden Ubuntu-18.04-Server, aber die Konfigurationen können für die Verwendung mit jedem anderen Betriebssystem angepasst werden.

      Ziele

      Um mehrere Anwendungsfälle abzudecken, beschreibt dieses Tutorial die Verbindung eines Client-Knotens mit dem VPN über eine private Netzwerkschnittstelle und eines anderen über eine öffentliche. Sie können diese Einrichtung jedoch an Ihre eigenen Bedürfnisse anpassen. Sie müssen nur planen, wie Ihre Server aufeinander zugreifen sollen, und die in diesem Tutorial vorgestellten Beispiele an Ihre eigenen Bedürfnisse anpassen. Achten Sie darauf, die in den Beispielen hervorgehobenen Werte durch Ihre eigenen Werte zu ersetzen, wenn Sie eine Anpassung an Ihre eigene Einrichtung vornehmen. Es könnte jedoch in Ihrem Interesse sein, zunächst dem Tutorial in der vorliegenden Form zu folgen, um sicherzustellen, dass Sie die beteiligten Komponenten und Prozesse verstehen, bevor Sie diese Anleitung modifizieren.

      Um die Übersichtlichkeit zu wahren, wird in diesem Tutorial wie folgt auf die Server verwiesen:

      • server-01: Alle VPN-Knoten stellen eine Verbindung mit diesem Rechner her und die Verbindung muss für die einwandfreie VPN-Funktionalität aufrechterhalten werden. Weitere Server können auf die gleiche Weise wie dieser konfiguriert werden, um, falls gewünscht, Redundanz bereitzustellen.
      • client-01: Verbindet sich mit dem VPN-Knoten von server-01 über dessen private Netzwerkschnittstelle
      • client-02: Verbindet sich mit dem VPN-Knoten von server-01 über dessen öffentliche Netzwerkschnittstelle

      Anmerkung: Tinc selbst unterscheidet nicht zwischen Servern (Rechnern, die VPN-Dienste hosten und bereitstellen) und Clients (Rechnern, die sich mit dem sicheren privaten Netzwerk verbinden und es verwenden). Es kann jedoch hilfreich sein, die Funktionsweise von tinc zu verstehen und zu visualisieren, indem Sie sich Ihre Server so vorstellen.

      Hier ist eine Darstellung des VPN, das wir einrichten möchten:

      Tinc VPN-Einrichtung

      Das blaue Feld steht für unser VPN und das rosa Feld für das zugrunde liegende private Netzwerk. Alle drei Server können über das VPN kommunizieren, obwohl das private Netzwerk ansonsten für client-02 nicht zugänglich ist.

      Voraussetzungen

      Wenn Sie diesem Tutorial genau folgen möchten, stellen Sie zwei Ubuntu-18.04-Server (server-01 und client-01) in demselben Datencenter bereit und aktivieren Sie auf jedem das private Netzwerk. Erstellen Sie dann einen weiteren Ubuntu-18.04-Server (client-02) in einem separaten Datencenter. Jeder Server sollte über einen administrativen Benutzer und eine mit ufw konfigurierte Firewall verfügen. Um dies einzurichten, folgen Sie unserem Leitfaden für die Ersteinrichtung des Servers für Ubuntu 18.04.

      Zusätzlich müssen wir später in diesem Tutorial einige Dateien zwischen den einzelnen Rechnern mit scp übertragen. Aus diesem Grund müssen Sie auf jedem Ihrer Server SSH-Schlüssel generieren, die SSH-Schlüssel von client-01 und client-02 zu der Datei authorized_keys von server-01 und dann den SSH-Schlüssel von server-01 zu den Dateien authorized_keys von client-01 und client-02 hinzufügen. Hilfe für das Einrichten finden Sie in unserem Leitfaden So richten Sie SSH-Schlüssel unter Ubuntu 18.04 ein.

      Schritt 1 – Installieren von Tinc

      Tinc ist aus den Standard-APT-Repositorys von Ubuntu verfügbar, d. h., wir können es mit nur wenigen Befehlen installieren.

      Sofern Sie dies nicht kürzlich getan haben, führen Sie auf jedem Server den folgenden Befehl aus, um die jeweiligen Paketindizes zu aktualisieren:

      All servers

      Installieren Sie dann tinc auf jedem Server, indem Sie den folgenden Befehl ausführen:

      All servers

      Damit haben Sie tinc auf jedem Ihrer Server installiert. Sie müssen jedoch einige Änderungen an der Konfiguration von tinc auf jedem Rechner vornehmen, damit Ihr VPN ausgeführt werden kann. Beginnen wir mit der Aktualisierung von server-01.

      Schritt 2 – Konfigurieren des Tinc-Servers

      Tinc erfordert, dass jeder Rechner, der Teil des VPN sein wird, die folgenden drei Konfigurationskomponenten aufweist:

      • Tinc-Konfigurationsdateien: Es gibt drei verschiedene Dateien, die den tinc-Daemon konfigurieren:
        • tinc.conf, die den Netznamen, das Netzwerkgerät, über das VPN ausgeführt wird, und andere VPN-Optionen definiert;
        • tinc-up, ein Skript, das das in tinc.conf definierte Netzwerkgerät nach dem Start von tinc aktiviert;
        • tinc-down, die das Netzwerkgerät deaktiviert, wenn tinc stoppt.
      • Öffentliche/private Schlüsselpaare: Tinc verwendet öffentliche/private Schlüsselpaare, damit nur Benutzer mit gültigen Schlüsseln auf das VPN zugreifen können.
      • Host-Konfigurationsdateien: Jeder Rechner (oder Host) im VPN hat seine eigene Konfigurationsdatei, die die tatsächliche IP-Adresse des Hosts und das Subnetz, in dem tinc ihn bedient, enthält.

      Tinc verwendet einen Netznamen, um ein tinc-VPN von einem anderen zu unterscheiden. Dies ist hilfreich, wenn Sie mehrere VPNs einrichten möchten. Es wird jedoch empfohlen, einen Netznamen selbst dann zu verwenden, wenn Sie nur ein VPN konfigurieren wollen. Sie können Ihrem VPN einen beliebigen Netznamen geben, aber der Einfachheit halber nennen wir unser VPN netname.

      Erstellen Sie auf server-01 die Konfigurationsverzeichnisstruktur für das VPN:

      server-01

      • sudo mkdir -p /etc/tinc/netname/hosts

      Verwenden Sie Ihren bevorzugten Texteditor, um eine Datei tinc.conf zu erstellen. Wir verwenden hier nano:

      server-01

      • sudo nano /etc/tinc/netname/tinc.conf

      Fügen Sie der leeren Datei die folgenden Zeilen hinzu. Diese konfigurieren einen tinc-Knoten namens server_01​​​ mit einer Netzwerkschnittstelle namens tun0, die IPv4 verwenden wird:

      server-01:/etc/tinc/netname/tinc.conf

      Name = server_01
      AddressFamily = ipv4
      Interface = tun0
      

      Warnung: Beachten Sie, dass der Wert nach der Anweisung Name einen Unterstrich (_) anstatt eines Bindestrichs (-) enthält. Dies ist wichtig, da tinc verlangt, dass der Wert Name nur alphanumerische oder Unterstrich-Zeichen enthält. Wenn Sie hier einen Bindestrich verwenden, werden Sie bei dem Versuch, das VPN später in diesem Leitfaden zu starten, auf einen Fehler stoßen.

      Speichern und schließen Sie die Datei nach dem Hinzufügen dieser Zeilen. Wenn Sie nano verwendet haben, drücken Sie STRG+X, Y, dann die EINGABETASTE.

      Erstellen Sie als Nächstes eine Host-Konfigurationsdatei namens server_01 im Unterverzeichnis hosts. Letztendlich werden die Client-Knoten diese Datei zur Kommunikation mit server-01 verwenden:

      server-01

      • sudo nano /etc/tinc/netname/hosts/server_01

      Auch hier ist zu beachten, dass der Name dieser Datei einen Unterstrich und keinen Bindestrich enthält. Auf diese Weise entspricht er der Anweisung Name in der Datei tinc.conf, was es tinc ermöglicht, den öffentlichen RSA-Schlüssel des Servers automatisch an diese Datei anzuhängen, wenn wir die Datei später generieren.

      Fügen Sie die folgenden Zeilen in die Datei ein und stellen Sie sicher, dass die öffentliche IP-Adresse von server-01 enthalten ist:

      server-01:/etc/tinc/netname/hosts/server_01

      Address = server-01_public_IP_address
      Subnet = 10.0.0.1/32
      

      Das Feld Address gibt an, wie sich andere Knoten mit diesem Server verbinden werden, und Subnet gibt an, welches Subnetz dieser Daemon bedienen wird. Speichern und schließen Sie die Datei.

      Erzeugen Sie als Nächstes mit dem folgenden Befehl ein Paar öffentlicher und privater RSA-Schlüssel für diesen Host:

      server-01

      • sudo tincd -n netname -K4096

      Nach Ausführung dieses Befehls werden Sie dazu aufgefordert, die Dateinamen einzugeben, unter denen tinc die öffentlichen und privaten RSA-Schlüssel speichern wird:

      Output

      . . . Please enter a file to save private RSA key to [/etc/tinc/netname/rsa_key.priv]: Please enter a file to save public RSA key to [/etc/tinc/netname/hosts/server_01]:

      Drücken Sie die EINGABETASTE, um bei jeder Eingabeaufforderung die Standardspeicherorte zu akzeptieren; dadurch wird tinc angewiesen, den privaten Schlüssel in einer Datei namens rsa_key.priv zu speichern und den öffentlichen Schlüssel an die Host-Konfigurationsdatei server_01 anzuhängen.

      Als Nächstes erstellen Sie tinc-up, das Skript, das bei jedem Start des VPNs netname ausgeführt wird:

      server-01

      • sudo nano /etc/tinc/netname/tinc-up

      Fügen Sie die folgenden Zeilen hinzu:

      server-01:/etc/tinc/netname/tinc-up

      #!/bin/sh
      ip link set $INTERFACE up
      ip addr add 10.0.0.1/32 dev $INTERFACE
      ip route add 10.0.0.0/24 dev $INTERFACE
      

      Im Folgenden wird erläutert, was jede dieser Zeilen bewirkt:

      • ip link …: setzt den Status der virtuellen Netzwerkschnittstelle von tinc auf up
      • ip addr …: fügt der virtuellen Netzwerkschnittstelle von tinc die IP-Adresse 10.0.0.1 mit einer Netzmaske von 32 hinzu, wodurch die anderen Rechner im VPN die IP-Adressse von server-01 als 10.0.0.1 sehen.
      • ip route …: fügt eine Route (10.0.0.0/24) hinzu, die über die virtuelle Netzwerkschnittstelle von tinc erreicht werden kann.

      Speichern und schließen Sie die Datei nach dem Hinzufügen dieser Zeilen.

      Als Nächstes erstellen Sie ein Skript, um die virtuelle Netzwerkschnittstelle zu entfernen, wenn Ihr VPN gestoppt wird:

      server-01

      • sudo nano /etc/tinc/netname/tinc-down

      Fügen Sie die folgenden Zeilen hinzu:

      server-01:/etc/tinc/netname/tinc-down

      #!/bin/sh
      ip route del 10.0.0.0/24 dev $INTERFACE
      ip addr del 10.0.0.1/32 dev $INTERFACE
      ip link set $INTERFACE down
      

      Diese Zeilen haben die entgegengesetzte Wirkung wie die des Skripts tinc-up:

      • ip route …: Löscht die Route 10.0.0.0/24
      • ip addr …: löscht die IP-Adresse 10.0.0.1 aus der virtuellen Netzwerkschnittstelle von tinc
      • ip link …: setzt den Status der virtuellen Netzwerkschnittstelle von tinc auf down

      Speichern und schließen Sie die Datei und machen Sie dann diese beiden neuen Netzwerkskripte ausführbar:

      server-01

      • sudo chmod 755 /etc/tinc/netname/tinc-*

      Fügen Sie als letzten Schritt der Konfiguration von server-01 eine Firewall-Regel hinzu, die den Datenverkehr über Port 655, den Standardport von tinc, zulässt:

      server-01

      server-01 ist nun vollständig konfiguriert und Sie können mit der Einrichtung Ihrer Client-Knoten fortfahren.

      Schritt 3 – Konfigurieren der Client-Knoten

      Ihre beiden Client-Rechner benötigen eine etwas andere Konfiguration als der Server, obwohl der Prozess im Allgemeinen recht ähnlich ist.

      Aufgrund der Einrichtung, die wir in diesem Leitfaden anstreben, werden wir client-01 und client-02 fast identisch, mit nur wenigen kleinen Unterschieden zwischen ihnen, konfigurieren. Daher müssen viele der in diesem Schritt gegebenen Befehle auf beiden Rechnern ausgeführt werden. Beachten Sie jedoch, dass, wenn client-01 oder client-02 einen bestimmten Befehl oder eine spezielle Konfiguration erfordern, diese Anweisungen in einem blauen bzw. roten Befehlsblock angezeigt werden.

      Replizieren Sie sowohl auf client-01 als auch auf client-02 die auf server-01 erstellte Verzeichnisstruktur:

      client-01 & client-02

      • sudo mkdir -p /etc/tinc/netname/hosts

      Erstellen Sie dann eine Datei tinc.conf:

      client-01 & client-02

      • sudo nano /etc/tinc/netname/tinc.conf

      Fügen Sie auf beiden Rechnern die folgenden Zeilen in die Datei ein:

      client-01 & client-02 /etc/tinc/netname/tinc.conf

      Name = node_name
      AddressFamily = ipv4
      Interface = tun0
      ConnectTo = server_01
      

      Stellen Sie sicher, dass Sie node_name durch den Namen des jeweiligen Client-Knotens ersetzen. Auch hier ist darauf zu achten, dass dieser Name einen Unterstrich (_) und keinen Bindestrich verwendet.

      Beachten Sie, dass diese Datei eine Anweisung ConnectTo enthält, die auf server_01 verweist, während die Datei tinc.conf von server-01 diese Anweisung nicht enthält. Indem Sie keine Anweisung ConnectTo auf server-01 einbinden, bedeutet dies, dass server-01 nur auf eingehende Verbindungen lauscht. Dies funktioniert für unsere Einrichtung, da es keine Verbindung mit anderen Rechnern herstellt.

      Speichern und schließen Sie die Datei.

      Erstellen Sie als Nächstes auf jedem Client-Knoten eine Host-Konfigurationsdatei. Achten Sie auch hier darauf, dass der Dateinamen mit einem Unterstrich statt eines Bindestrichs geschrieben wird:

      client-01 & client-02

      • sudo nano /etc/tinc/netname/hosts/node_name

      Fügen Sie für client-01 diese Zeile hinzu:

      client-01:/etc/tinc/netname/hosts/client_01

      Subnet = 10.0.0.2/32
      

      Fügen Sie für client-02 diese Zeile hinzu:

      client-02:/etc/tinc/netname/hosts/client_02

      Subnet = 10.0.0.3/32
      

      Beachten Sie, dass jeder Client ein anderes Subnetz hat, das tinc bedienen wird. Speichern und schließen Sie die Datei.

      Erzeugen Sie als Nächstes auf jedem Client-Rechner die Schlüsselpaare:

      client-01 & client-02

      • sudo tincd -n netname -K4096

      Wie auch bei server-01 drücken Sie bei der Aufforderung zur Dateiauswahl zum Speichern der RSA-Schlüssel die EINGABETASTE, um die Standardauswahl zu akzeptieren.

      Erstellen Sie anschließend das Startskript für die Netzwerkschnittstelle auf jedem Client:

      client-01 & client-02

      • sudo nano /etc/tinc/netname/tinc-up

      Fügen Sie für client-01 diese Zeilen hinzu:

      client-01:/etc/tinc/netname/tinc-up

      #!/bin/sh
      ip link set $INTERFACE up
      ip addr add 10.0.0.2/32 dev $INTERFACE
      ip route add 10.0.0.0/24 dev $INTERFACE
      

      Fügen Sie für client-02 Folgendes hinzu:

      client-02:/etc/tinc/netname/tinc-up

      #!/bin/sh
      ip link set $INTERFACE up
      ip addr add 10.0.0.3/32 dev $INTERFACE
      ip route add 10.0.0.0/24 dev $INTERFACE
      

      Speichern und schließen Sie jede Datei.

      Erstellen Sie als Nächstes auf jedem Client das Stoppskript für die Netzwerkschnittstelle:

      client-01 & client-02

      • sudo nano /etc/tinc/netname/tinc-down

      Fügen Sie auf client-01 den folgenden Inhalt in die leere Datei ein:

      client-01:/etc/tinc/netname/tinc-down

      #!/bin/sh
      ip route del 10.0.0.0/24 dev $INTERFACE
      ip addr del 10.0.0.2/32 dev $INTERFACE
      ip link set $INTERFACE down
      

      Fügen Sie auf client-02 Folgendes hinzu:

      client-02:/etc/tinc/netname/tinc-down

      #!/bin/sh
      ip route del 10.0.0.0/24 dev $INTERFACE
      ip addr del 10.0.0.3/32 dev $INTERFACE
      ip link set $INTERFACE down
      

      Speichern und schließen Sie die Dateien.

      Machen Sie Netzwerkskripte ausführbar, indem Sie auf jedem Client-Rechner den folgenden Befehl ausführen:

      client-01 & client-02

      • sudo chmod 755 /etc/tinc/netname/tinc-*

      Öffnen Sie zum Schluss Port 655 auf jedem Client:

      client-01 & client-02

      Zu diesem Zeitpunkt sind die Client-Knoten fast, wenn auch nicht ganz, eingerichtet. Sie benötigen noch den öffentlichen Schlüssel, den wir im vorherigen Schritt auf server-01 erstellt haben, um die Verbindung zum VPN zu authentifizieren.

      Schritt 4 – Verteilen der Schlüssel

      Jeder Knoten, der direkt mit einem anderen Knoten kommunizieren möchte, muss öffentliche Schlüssel ausgetauscht haben, die sich innerhalb der Host-Konfigurationsdateien befinden. In unserem Fall muss server-01 öffentliche Schlüssel mit den anderen Knoten austauschen.

      Austauschen von Schlüsseln zwischen server-01 und client-01

      Kopieren Sie auf client-01 seine Host-Konfigurationsdatei auf server-01. Da sich sowohl client-01 als auch server-01 im selben Datencenter befinden und beide über ein aktiviertes privates Netzwerk verfügen, können Sie hier die private IP-Adresse von server01 verwenden:

      client-01

      • scp /etc/tinc/netname/hosts/client_01 sammy@server-01_private_IP:/tmp

      Kopieren Sie dann auf server-01 die Host-Konfigurationsdatei von client-01 in das Verzeichnis /etc/tinc/netname/hosts/:

      server-01

      • sudo cp /tmp/client_01 /etc/tinc/netname/hosts/

      Kopieren Sie dann, während Sie sich noch auf server-01 befinden, dessen Host-Konfigurationsdatei nach client-01:

      server-01

      • scp /etc/tinc/netname/hosts/server_01 user@client-01_private_IP:/tmp

      Kopieren Sie auf client-01 die Datei von server-01 an den entsprechenden Ort:

      client-01

      • sudo cp /tmp/server_01 /etc/tinc/netname/hosts/

      Bearbeiten Sie auf client-01 die Host-Konfigurationsdatei von server-01, damit das Feld Address auf die private IP-Adresse von server-01 gesetzt wird. Auf diese Weise verbindet sich client-01 über das private Netzwerk mit dem VPN:

      client-01

      • sudo nano /etc/tinc/netname/hosts/server_01

      Ändern Sie die Anweisung Address so, dass sie auf die private IP-Adresse von server-01 verweist:

      client-01:/etc/tinc/netname/hosts/server_01

      Address = server-01_private_IP
      Subnet = 10.0.0.1/32
      

      Speichern und beenden. Gehen wir jetzt zu unserem verbleibenden Knoten, client-02.

      Austauschen von Schlüsseln zwischen server-01 und client-02

      Kopieren Sie auf client-02 seine Host-Konfigurationsdatei auf server-01:

      client-02

      • scp /etc/tinc/netname/hosts/client_02 sammy@server-01_public_IP:/tmp

      Kopieren Sie dann auf server-01 die Host-Konfigurationsdatei von client_02 an den entsprechenden Ort:

      server-01

      • sudo cp /tmp/client_02 /etc/tinc/netname/hosts/

      Kopieren Sie dann die Host-Konfigurationsdatei von server-01 nach client-02:

      server-01

      • scp /etc/tinc/netname/hosts/server_01 user@client-02_public_IP:/tmp

      Kopieren Sie auf client-02 die Datei von server-01 an den entsprechenden Ort:

      client-02

      • sudo cp /tmp/server_01 /etc/tinc/netname/hosts/

      Angenommen, Sie richten nur zwei Client-Knoten ein, dann sind Sie mit der Verteilung der öffentlichen Schlüssel fertig. Wenn Sie jedoch ein größeres VPN erstellen, ist jetzt ein guter Zeitpunkt, um die Schlüssel zwischen diesen anderen Knoten auszutauschen. Denken Sie daran, dass, wenn zwei Knoten direkt miteinander kommunizieren sollen (ohne einen Weiterleitungsserver dazwischen), sie ihre Schlüssel/Host-Konfigurationsdateien ausgetauscht haben müssen und auf die realen Netzwerkschnittstellen des jeweils anderen zugreifen können müssen. Es ist außerdem in Ordnung, die Konfigurationsdatei jedes Hosts einfach auf jeden Knoten im VPN zu kopieren.

      Schritt 5 – Testen der Konfiguration

      Starten Sie tinc auf jedem Knoten, beginnend mit server-01, mit dem folgenden Befehl:

      All servers

      • sudo tincd -n netname -D -d3

      Dieser Befehl enthält das Flag -n, das auf den Netznamen für unser VPN netname verweist. Dies ist nützlich, wenn Sie mehr als ein VPN eingerichtet haben und Sie angeben müssen, welches Sie starten möchten. Es enthält auch das Flag -D, das die Gabelung und Trennung von tinc verhindert sowie den automatischen Neustartmechanismus von tinc deaktiviert. Schließlich enthält es das Flag -d, das tinc anweist, im Debug-Modus mit einem Debug-Level von 3 zu laufen.

      Anmerkung: Wenn es um den tinc-Daemon geht, zeigt ein Debug-Level von 3 jede zwischen zwei beliebigen Servern ausgetauschte Anfrage, einschließlich Authentifizierungsanforderungen, Schlüsselaustausch und Aktualisierungen von Verbindungslisten. Höhere Debug-Level zeigen mehr Informationen über den Netzwerkverkehr an, aber im Moment geht es nur darum, ob die Knoten miteinander kommunizieren können. Daher ist ein Level von 3 ausreichend. In einem Produktivszenario würden Sie jedoch zu einem niedrigeren Debug-Level wechseln wollen, um die Festplatten nicht mit Protokolldateien zu füllen.

      Sie können mehr über die Debug-Level von tinc erfahren, indem Sie die offizielle Dokumentation durchsehen.

      Nachdem der Daemon auf jedem Knoten gestartet wurde, sollten Sie eine Ausgabe mit den Namen der einzelnen Knoten sehen, wenn sie sich mit server-01 verbinden. Testen wir jetzt die Verbindung über das VPN.

      Pingen Sie in einem separaten Fenster auf client-02 die VPN IP-Adresse von client-01 an. Dieser haben wir zuvor 10.0.0.2 zugewiesen:

      client-02

      Der Ping sollte korrekt funktionieren und Sie sollten in den anderen Fenstern einige Debug-Ausgaben über die Verbindung im VPN sehen. Dies zeigt an, dass client-02 über das VPN über server-01 mit client-01 kommunizieren kann. Drücken Sie STRG+C, um den Ping zu beenden.

      Sie können die VPN-Schnittstellen auch für jede andere Netzwerkkommunikation verwenden, z. B. für Anwendungsverbindungen, das Kopieren von Dateien und SSH.

      Beenden Sie in jedem Debug-Fenster des tinc-Daemons den Daemon durch drücken von STRG+.

      Schritt 6 – Konfigurieren von Tinc zum Starten beim Booten

      Ubuntu-Server verwenden systemd als standardmäßigen Systemmangager, um das Starten und Ausführen von Prozessen zu steuern. Aus diesem Grund können wir das VPN netname so aktivieren, dass es beim Booten mit einem einzigen systemctl-Befehl automatisch gestartet wird.

      Führen Sie den folgenden Befehl auf jedem Knoten aus, um das tinc-VPN so einzustellen, dass es bei jedem Booten des Rechners startet:

      All servers

      • sudo systemctl enable tinc@netname

      Tinc ist so konfiguriert, dass es auf jedem Rechner beim Booten startet, und Sie können es mit dem Befehl systemctl steuern. Wenn Sie es jetzt starten möchten, führen Sie den folgenden Befehl auf jedem Ihrer Knoten aus:

      All servers

      • sudo systemctl start tinc@netname

      Anmerkung: Wenn Sie mehrere VPN haben, aktivieren oder starten jedes sofort, so wie hier:

      All servers

      • sudo systemctl start tinc@natename_01 tinc@netname_02 … tinc@netname_n

      Damit ist Ihr tinc-VPN vollständig konfiguriert und wird auf jedem Ihrer Knoten ausgeführt.

      Zusammenfassung

      Nachdem Sie dieses Tutorial durchgearbeitet haben, sollten Sie nun eine gute Grundlage haben, um Ihr VPN entsprechend Ihren Bedürfnissen auszubauen. Tinc ist sehr flexibel und jeder Knoten kann so konfiguriert werden, dass er sich mit jedem anderen Knoten (auf den er über das Netzwerk zugreifen kann) verbindet, sodass er als Mesh-VPN fungieren kann, ohne sich auf einen einzelnen Knoten zu verlassen.



      Source link

      So richten Sie Apache Virtual Hosts unter Ubuntu 18.04 ein [Schnellstart]


      Einführung

      Dieses Tutorial führt Sie durch das Einrichten mehrerer Domänen und Websites mit virtuellen Apache-Hosts auf einem Ubuntu 18.04-Server. Bei diesem Prozess lernen Sie, wie Sie je nach Art der angeforderten Domäne verschiedenen Benutzern unterschiedlichen Inhalt bereitstellen können.

      Eine ausführlichere Version dieses Tutorials mit besseren Erklärungen zu den einzelnen Schritten finden Sie unter So installieren Sie Apache Virtual Hosts unter Ubuntu 18.04.

      Voraussetzungen

      Um diesem Tutorial zu folgen, benötigen Sie Zugriff auf Folgendes auf einem Ubuntu-18.04-Server:

      • Einen Sudo-Benutzer auf Ihrem Server
      • Einen Apache2-Webserver, den Sie mit sudo apt install apache2 installieren können

      Schritt 1 – Verzeichnisstruktur erstellen

      Zunächst erstellen wir eine Verzeichnisstruktur, in der die Site-Daten gespeichert werden, die wir den Besuchern in unserem Top-Level-Apache-Verzeichnis bereitstellen können. Wir verwenden Beispiele von Domänennamen, die nachstehend hervorgehoben sind. Sie müssen diese durch Ihre tatsächlichen Domänennamen ersetzen.

      • sudo mkdir -p /var/www/example.com/public_html
      • sudo mkdir -p /var/www/test.com/public_html

      Schritt 2 – Berechtigungen erteilen

      Jetzt müssen wir die Berechtigungen auf unseren aktuellen Benutzer ohne Rootberechtigung ändern, um diese Dateien ändern zu können.

      • sudo chown -R $USER:$USER /var/www/example.com/public_html
      • sudo chown -R $USER:$USER /var/www/test.com/public_html

      Außerdem stellen wir sicher, dass der schreibgeschützte Zugriff auf das allgemeine Webverzeichnis und alle darin enthaltenen Dateien und Ordner gestattet ist, damit Seiten richtig bereitgestellt werden können.

      • sudo chmod -R 755 /var/www

      Schritt 3 – Demo-Seiten für jeden virtuellen Host erstellen

      Erstellen wir jetzt Inhalt, den wir bereitstellen können. Dazu erstellen wir eine index.html-Demo-Seite für jede Site. Wir können eine index.html-Datei in einem Textbearbeitungsprogramm für unsere erste Site öffnen, beispielsweise nano.

      • nano /var/www/example.com/public_html/index.html

      In dieser Datei erstellen wir dann ein domänenspezifisches HTML-Dokument wie das folgende:

      /var/www/example.com/public_html/index.html

      <html>
        <head>
          <title>Welcome to Example.com!</title>
        </head>
        <body>
          <h1>Success! The example.com virtual host is working!</h1>
        </body>
      </html>
      

      Speichern und schließen Sie die Datei und kopieren Sie dann diese Datei als Grundlage für unsere zweite Site:

      • cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html

      Öffnen Sie die Datei und ändern Sie die relevanten Informationen:

      • nano /var/www/test.com/public_html/index.html

      /var/www/test.com/public_html/index.html

      <html>
        <head>
          <title>Welcome to Test.com!</title>
        </head>
        <body> <h1>Success! The test.com virtual host is working!</h1>
        </body>
      </html>
      

      Speichern und schließen Sie auch diese Datei.

      Schritt 4 – Neue virtuelle Host-Dateien erstellen

      Apache wird mit einer virtuellen Standard-Host-Datei namens 000-default.conf geliefert, die wir als Vorlage verwenden. Wir kopieren sie, um eine virtuelle Host-Datei für jede unserer Domänen zu erstellen.

      Erste virtuelle Host-Datei erstellen

      Kopieren Sie als Erstes die Datei für die erste Domäne:

      • sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf

      Öffnen Sie die neue Datei in Ihrem Textbearbeitungsprogramm (wir verwenden nano) mit Rootberechtigungen:

      • sudo nano /etc/apache2/sites-available/example.com.conf

      Wir werden diese Datei für unsere eigene Domäne anpassen. Ändern Sie den nachstehend hervorgehobenen Text je nach Bedarf.

      /etc/apache2/sites-available/example.com.conf

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

      Speichern und schließen Sie dann die Datei.

      Ersten virtuellen Host kopieren und für die zweite Domäne anpassen

      Jetzt haben wir unsere erste virtuelle Host-Datei eingerichtet und können dann unsere zweite Datei erstellen, indem wir diese Datei kopieren und je nach Bedarf anpassen.

      Kopieren Sie zu diesem Zweck die Datei:

      • sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf

      Öffnen Sie die neue Datei mit Rootberechtigungen in Ihrem Textbearbeitungsprogramm:

      • sudo nano /etc/apache2/sites-available/test.com.conf

      Jetzt müssen Sie alle Informationen so ändern, dass sie auf Ihre zweite Domäne verweisen. Die endgültige Datei sollte in etwa wie folgt aussehen, wobei der hervorgehobene Text Ihren eigenen Domäneninformationen entsprechen sollte.

      /etc/apache2/sites-available/test.com.conf

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

      Wenn Sie fertig sind, speichern und schließen Sie die Datei.

      Schritt 5 – Neue virtuelle Host-Dateien aktivieren

      Nach Erstellung unserer virtuellen Host-Dateien müssen diese aktiviert werden. Dazu verwenden wir das a2ensite-Tool.

      • sudo a2ensite example.com.conf
      • sudo a2ensite test.com.conf

      Deaktivieren Sie als Nächstes die unter 000-default.conf definierte Standard-Site:

      • sudo a2dissite 000-default.conf

      Wenn Sie fertig sind, müssen Sie Apache neu starten, damit diese Änderungen wirksam werden, und systemctl status verwenden, um den Erfolg des Neustarts zu verifizieren.

      • sudo systemctl restart apache2

      Ihr Server sollte jetzt für zwei Websites eingerichtet sein.

      Schritt 6 – Lokale Hosts-Datei einrichten (optional)

      Wenn Sie keine tatsächlichen Domänen verwenden, die ihnen gehören, um dieses Verfahren zu testen, und stattdessen Beispielsdomänen benutzen, können Sie Ihre Arbeit testen, indem Sie die hosts-Datei auf Ihrem lokalen Computer kurzzeitig ändern.

      Geben Sie auf einem lokalen Mac- oder Linux-Rechner Folgendes ein:

      Für einen lokalen Windows-Rechner finden Sie Anweisungen zur Änderung Ihrer Hosts-Datei hier.

      Nach Verwenden der in diesem Leitfaden verwendeten Domänen und Ersetzen Ihrer Server IP im Text your_server_IP sollte Ihre Datei wie folgt aussehen:

      /etc/hosts

      127.0.0.1   localhost
      127.0.1.1   guest-desktop
      your_server_IP example.com
      your_server_IP test.com
      

      Speichern und schließen Sie die Datei. Damit werden alle Anfragen z. B. example.com und test.com auf unseren Rechner weitergeleitet und auf unseren Server übertragen.

      Schritt 7 – Ergebnisse testen

      Nach der Konfiguration Ihrer virtuellen Hosts können Sie Ihr Setup testen, indem Sie zu den Domänen gehen, die Sie in Ihrem Web-Browser konfiguriert haben.

      http://example.com
      

      Sie sollten eine Seite sehen, die so aussieht:

      Beispiel für einen virtuellen Apache-Host

      Sie können auch Ihre zweite Seite besuchen und die Datei sehen, die Sie für Ihre zweite Site erstellt haben.

      http://test.com
      

      Test für einen virtuellen Apache-Host

      Wenn beide Sites wie erwartet funktionieren, haben Sie zwei virtuelle Hosts auf ein und demselben Server konfiguriert.

      Wenn Sie die Host-Datei Ihres eigenen Rechners angepasst haben, löschen Sie die von Ihnen hinzugefügte Zeilen.

      Relevante Tutorials

      Hier sehen Sie Links zu detaillierteren Leitfäden, die im Zusammenhang zu diesem Tutorial stehen:



      Source link

      So richten Sie Apache Virtual Hosts unter Ubuntu 18.04 ein


      Einführung

      Der Apache-Webserver ist eine beliebte Methode zur Bereitstellung von Websites im Internet. Ab 2019 wird er schätzungsweise 29 % aller aktiven Websites bereitstellen und bietet Entwicklern Robustheit und Flexibilität. Mit Apache kann ein Administrator einen Server einrichten, um mehrere Domänen oder Websites über eine einzige Schnittstelle oder IP zu hosten, indem er ein übereinstimmendes System verwendet.

      Jede mit Apache konfigurierte Domäne oder individuelle Site – bekannt als „virtueller Host“ – leitet den Besucher zu einem bestimmten Verzeichnis, das die Informationen dieser Website enthält. Dies geschieht, ohne anzugeben, dass derselbe Server auch für andere Sites verantwortlich ist. Dieses Schema ist ohne jegliche Softwarebeschränkung erweiterbar, solange Ihr Server die Last bewältigen kann. Die Basiseinheit, die eine individuelle Website oder Domäne beschreibt, wird als virtueller Host bezeichnet.

      In diesem Leitfaden führen wir Sie durch die Einrichtung von virtuellen Apache-Hosts auf einem Ubuntu 18.04-Server. Bei diesem Prozess lernen Sie, wie Sie je nach Art der angeforderten Domäne verschiedenen Benutzern unterschiedlichen Inhalt bereitstellen können.

      Voraussetzungen

      Bevor Sie mit diesem Tutorial beginnen, sollten Sie einen Benutzer ohne Rootberechtigung erstellen.

      Sie müssen auch Apache installiert haben, um diese Schritte durcharbeiten zu können. Falls Sie dies noch nicht getan haben, können Sie Apache mit der Paketmethode apt auf Ihrem Server installieren lassen.

      • sudo apt update
      • sudo apt install apache2

      Wenn Sie genauere Anweisungen sowie die Einrichtung einer Firewall wünschen, lesen Sie bitte unseren Leitfaden So installieren Sie den Apache-Webserver unter Ubuntu 18.04.

      Für die Zwecke dieses Leitfadens wird unsere Konfiguration einen virtuellen Host für example.com und einen weiteren für test.com erstellen. Auf diese wird im gesamten Leitfaden Bezug genommen, doch sollten Sie Ihre eigenen Domänen oder Werte einsetzen, während Sie dem Leitfaden folgen.

      Wenn Sie DigitalOcean verwenden, können Sie anhand der Produktdokumentation So fügen Sie Domänen hinzu lernen, wie Sie Domänen einrichten. Für andere Anbieter lesen Sie die entsprechende Produktdokumentation. Wenn Sie zu diesem Zeitpunkt keine Domäne zur Verfügung haben, können Sie Testwerte verwenden.

      Wir zeigen Ihnen später, wie Sie Ihre lokale hosts-Datei zum Testen der Konfiguration bearbeiten können, wenn Sie Testwerte verwenden. Auf diese Weise können Sie Ihre Konfiguration von Ihrem Heimcomputer validieren, auch wenn Ihr Inhalt über den Domänennamen nicht für andere Besucher verfügbar ist.

      Schritt Eins – Erstellen der Verzeichnisstruktur

      Im ersten Schritt werden wir eine Verzeichnisstruktur erstellen, die die Daten der Website enthält, die wir den Besuchern zur Verfügung stellen werden.

      Unser Dokumentenstamm (das Verzeichnis auf oberster Ebene, in dem Apache nach den bereitzustellenden Inhalten sucht) wird unter dem Verzeichnis /var/www auf einzelne Verzeichnisse gesetzt. Wir erstellen hier ein Verzeichnis für beide virtuellen Hosts, die wir erstellen wollen.

      In jedem dieser Verzeichnisse erstellen wir einen Ordner public_html, der unsere eigentlichen Dateien enthält. Dies gibt uns eine gewisse Flexibilität bei unserem Hosting.

      Zum Beispiel werden wir für unsere Sites unsere Verzeichnisse wie folgt erstellen. Wenn Sie tatsächliche Domänen oder alternative Werte verwenden, tauschen Sie den hervorgehobenen Text gegen diese aus.

      • sudo mkdir -p /var/www/example.com/public_html
      • sudo mkdir -p /var/www/test.com/public_html

      Die rot markierten Abschnitte stellen die Domänennamen dar, die wir von unserem VPS aus bereitstellen möchten.

      Schritt Zwei – Erteilen von Berechtigungen

      Jetzt haben wir die Verzeichnisstruktur für unsere Dateien, aber sie gehören unserem Root-Benutzer. Wenn wir möchten, dass unser normaler Benutzer in der Lage ist, Dateien in unseren Webverzeichnissen zu ändern, können wir die Eigentümerschaft ändern, indem wir Folgendes tun:

      • sudo chown -R $USER:$USER /var/www/example.com/public_html
      • sudo chown -R $USER:$USER /var/www/test.com/public_html

      Die Variable $USER nimmt den Wert des Benutzers an, als der Sie gerade angemeldet sind, wenn Sie die EINGABETASTE drücken. Dadurch besitzt unser normaler Benutzer nun die Unterverzeichnisse public_html, in denen wir unsere Inhalte speichern werden.

      Wir sollten auch unsere Berechtigungen ändern, um sicherzustellen, dass der Lesezugriff auf das allgemeine Webverzeichnis und alle darin enthaltenen Dateien und Ordner erlaubt ist, damit die Seiten korrekt bereitgestellt werden können:

      • sudo chmod -R 755 /var/www

      Ihr Webserver sollte nun über die erforderlichen Berechtigungen verfügen, um Inhalte bereitzustellen, und Ihr Benutzer sollte in der Lage sein, Inhalte in den erforderlichen Ordnern zu erstellen.

      Schritt Drei – Erstellen von Demo-Seiten für jeden virtuellen Host

      Wir haben nun unsere Verzeichnisstruktur eingerichtet. Lassen Sie uns einige Inhalte erstellen, die wir bereitstellen können.

      Zu Demonstrationszwecken werden wir für jede Website eine Seite index.html erstellen.

      Beginnen wir mit example.com. Wir können eine Datei index.html in einem Texteditor öffnen. In diesem Fall verwenden wir nano:

      • nano /var/www/example.com/public_html/index.html

      Erstellen Sie innerhalb dieser Datei ein HTML-Dokument, das die Website angibt, mit der sie verbunden ist, wie folgt:

      /var/www/example.com/public_html/index.html

      <html>
        <head>
          <title>Welcome to Example.com!</title>
        </head>
        <body>
          <h1>Success! The example.com virtual host is working!</h1>
        </body>
      </html>
      

      Speichern und schließen Sie die Datei (in nano drücken Sie STRG + X, dann Y und dann die EINGABETASTE) wenn Sie fertig sind.

      Wir können diese Datei kopieren und als Grundlage für unsere zweite Website verwenden, indem wir Folgendes eingeben:

      • cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html

      Dann können wir die Datei öffnen und die relevanten Informationen ändern:

      • nano /var/www/test.com/public_html/index.html

      /var/www/test.com/public_html/index.html

      <html>
        <head>
          <title>Welcome to Test.com!</title>
        </head>
        <body> <h1>Success! The test.com virtual host is working!</h1>
        </body>
      </html>
      

      Speichern und schließen Sie auch diese Datei. Sie verfügen nun über die erforderlichen Seiten zum Testen der Konfiguration des virtuellen Hosts.

      Schritt Vier – Erstellen neuer virtuelle Host-Dateien

      Virtuelle Host-Dateien sind die Dateien, die die tatsächliche Konfiguration unserer virtuellen Hosts spezifizieren und bestimmen, wie der Apache-Webserver auf verschiedene Domänenanfragen reagieren wird.

      In Apache ist eine virtuelle Standarddatei namens 000-default.conf enthalten, die wir als Ausgangspunkt verwenden können. Wir werden sie kopieren, um eine virtuelle Host-Datei für jede unserer Domänen zu erstellen.

      Wir beginnen mit einer Domäne, konfigurieren sie, kopieren sie für unsere zweite Domäne und nehmen dann die wenigen weiteren erforderlichen Anpassungen vor. Die Standardkonfiguration von Ubuntu erfordert, dass jede virtuelle Host-Datei auf .conf endet.

      Die erste virtuelle Host-Datei erstellen

      Dazu kopieren Sie die Datei für die erste Domäne:

      • sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf

      Öffnen Sie die neue Datei in Ihrem Editor mit Root-Berechtigungen:

      • sudo nano /etc/apache2/sites-available/example.com.conf

      Ohne Kommentare wird die Datei in etwa wie folgt aussehen:

      /etc/apache2/sites-available/example.com.conf

      <VirtualHost *:80>
          ServerAdmin webmaster@localhost
          DocumentRoot /var/www/html
          ErrorLog ${APACHE_LOG_DIR}/error.log
          CustomLog ${APACHE_LOG_DIR}/access.log combined
      </VirtualHost>
      

      Innerhalb dieser Datei werden wir Elemente für unsere erste Domäne anpassen und einige zusätzliche Anweisungen hinzufügen. Dieser virtuelle Host-Abschnitt entspricht allen Anfragen, die auf Port 80, dem standardmäßigen HTTP-Port, gestellt werden.

      Zuerst müssen wir die Anweisung ServerAdmin in eine E-Mail ändern, über die der Website-Administrator E-Mails empfangen kann.

      ServerAdmin admin@example.com
      

      Danach müssen wir zwei Anweisungen hinzufügen. Der erste namens ServerName legt die Grunddomäne fest, die mit dieser Definition des virtuellen Hosts übereinstimmen sollte. Dies wird höchstwahrscheinlich Ihre Domäne sein. Die zweite namens ServerAlias definiert weitere Namen, die übereinstimmen sollten, als wären sie der Basisname. Dies ist nützlich für die von Ihnen definierte Zuordnung von Hosts, wie beispielsweise www:

      ServerName example.com
      ServerAlias www.example.com
      

      Das einzige, was wir für unsere virtuelle Host-Datei ändern müssen, ist der Speicherort des Dokumentenstamms für diese Domäne. Wir haben das benötigte Verzeichnis bereits erstellt, also müssen wir nur die Anweisung DocumentRoot so ändern, dass sie das von uns erstellte Verzeichnis widerspiegelt:

      DocumentRoot /var/www/example.com/public_html
      

      Nach Fertigstellung sollte unsere virtuelle Host-Datei wie folgt aussehen:

      /etc/apache2/sites-available/example.com.conf

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

      Speichern und schließen Sie dann die Datei.

      Den ersten virtuellen Host kopieren und für die zweite Domäne anpassen

      Jetzt haben wir unsere erste virtuelle Host-Datei eingerichtet und können dann unsere zweite Datei erstellen, indem wir diese Datei kopieren und je nach Bedarf anpassen.

      Kopieren Sie zu diesem Zweck die Datei:

      • sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf

      Öffnen Sie die neue Datei mit Rootberechtigungen in Ihrem Textbearbeitungsprogramm:

      • sudo nano /etc/apache2/sites-available/test.com.conf

      Jetzt müssen Sie alle Informationen so ändern, dass sie sich auf Ihre zweite Domäne beziehen. Wenn Sie fertig sind, sollte sie wie folgt aussehen:

      /etc/apache2/sites-available/test.com.conf

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

      Wenn Sie fertig sind, speichern und schließen Sie die Datei.

      Schritt Fünf – Aktivieren der neuen virtuellen Host-Dateien

      Nachdem wir nun unsere virtuellen Host-Dateien erstellt haben, müssen wir sie aktivieren. Apache enthält einige Tools, mit denen wir dies tun können.

      Wir verwenden das Tool a2ensite, um jede unserer Sites zu aktivieren. Wenn Sie mehr über dieses Skript lesen möchten, können Sie die Dokumentation zu a2ensite einsehen.

      • sudo a2ensite example.com.conf
      • sudo a2ensite test.com.conf

      Deaktivieren Sie die unter 000-default.conf definierte Standard-Site:

      • sudo a2dissite 000-default.conf

      Wenn Sie fertig sind, müssen Sie Apache neu starten, damit diese Änderungen wirksam werden, und systemctl status verwenden, um den Erfolg des Neustarts zu verifizieren.

      • sudo systemctl restart apache2
      • sudo systemctl status apache2

      Ihr Server sollte jetzt für zwei Websites eingerichtet sein.

      Schritt Sechs – Einrichten der Datei „Local Hosts“ (optional)

      Wenn Sie zum Testen dieses Verfahrens keine tatsächlichen Domänennamen, die ihnen gehören, verwendet haben, sondern stattdessen einige Beispieldomänen, können Sie zumindest die Funktionalität dieses Prozesses testen, indem Sie die Datei hosts auf Ihrem lokalen Rechner vorübergehend ändern.

      Dadurch werden alle Anfragen für die von Ihnen konfigurierten Domänen abgefangen und an Ihren VPS-Server verwiesen, so wie es das DNS-System tun würde, wenn Sie registrierte Domänen verwenden würden. Dies funktioniert jedoch nur von Ihrem lokalen Rechner aus und nur zu Testzwecken.

      Stellen Sie sicher, dass Sie für diese Schritte auf Ihrem lokalen Rechner arbeiten und nicht auf Ihrem VPS-Server. Sie müssen das administrative Passwort des Rechners kennen oder anderweitig ein Mitglied der administrativen Gruppe sein.

      Wenn Sie auf einem Mac- oder Linux-Rechner arbeiten, bearbeiten Sie Ihre lokale Datei mit administrativen Berechtigungen, indem Sie Folgendes eingeben:

      Wenn Sie auf einem Windows-Rechner arbeiten, finden Sie hier Anweisungen zur Änderung Ihrer Datei hosts.

      Die Angaben, die Sie hinzufügen müssen, sind die öffentliche IP-Adresse Ihres Servers, gefolgt von der Domäne, mit der Sie diesen Server erreichen möchten.

      Nach Verwenden der in diesem Leitfaden verwendeten Domänen und Ersetzen Ihrer Server-IP im Text your_server_IP sollte Ihre Datei wie folgt aussehen:

      /etc/hosts

      127.0.0.1   localhost
      127.0.1.1   guest-desktop
      your_server_IP example.com
      your_server_IP test.com
      

      Speichern und schließen Sie die Datei.

      Damit werden alle Anfragen, z. B. example.com und test.com, an unseren Rechner weitergeleitet und auf unseren Server übertragen. Genau das möchten wir, wenn wir nicht tatsächlich die Besitzer dieser Domänen sind, um unsere virtuellen Hosts zu testen.

      Schritt Sieben – Testen Ihrer Ergebnisse

      Nach der Konfiguration Ihrer virtuellen Hosts können Sie Ihr Setup testen, indem Sie zu den Domänen gehen, die Sie in Ihrem Webbrowser konfiguriert haben.

      http://example.com
      

      Sie sollten eine Seite sehen, die so aussieht:

      Beispiel für einen virtuellen Apache Host

      Sie können auch Ihre zweite Seite besuchen und die Datei sehen, die Sie für Ihre zweite Site erstellt haben.

      http://test.com
      

      Test für einen virtuellen Apache Host

      Wenn beide Sites wie erwartet funktionieren, haben Sie erfolgreich zwei virtuelle Hosts auf ein und demselben Server konfiguriert.

      Wenn Sie die Datei hosts Ihres Heimcomputers angepasst haben, möchten Sie die hinzugefügten Zeilen möglicherweise löschen, nachdem Sie die Funktionalität Ihrer Konfiguration überprüft haben. Dadurch wird verhindert, dass Ihre Datei hosts mit Einträgen gefüllt wird, die nicht mehr erforderlich sind.

      Wenn Sie langfristig auf diese Datei zugreifen müssen, sollten Sie in Erwägung ziehen, für jede benötigte Website einen Domänennamen hinzuzufügen und sie so einzurichten, dass sie auf Ihren Server verweist.

      Zusammenfassung

      Wenn Sie diesem Beispiel gefolgt sind, sollten Sie jetzt einen einzigen Server haben, der zwei separate Domänennamen verwaltet. Sie können diesen Prozess erweitern, indem Sie die oben beschriebenen Schritte befolgen, um zusätzliche virtuelle Hosts zu erstellen.

      Es gibt keine Softwareeinschränkung für die Anzahl der Domänennamen, die Apache verarbeiten kann, also zögern Sie nicht, so viele zu erstellen, wie Ihr Server verarbeiten kann.



      Source link