One place for hosting & domains

      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

      Como configurar os hosts virtuais do Apache no Ubuntu 18.04


      Introdução

      O servidor Web do Apache é um método popular para atender sites na Internet. Em 2019, as estimativas apontavam que o método atenderia 29% de todos os sites ativos, oferecendo robustez e flexibilidade aos desenvolvedores. Ao usar o Apache, um administrador pode configurar um servidor para hospedar vários domínios ou sites fora de uma única interface ou IP, usando um sistema correspondente.

      Cada domínio ou site individual — conhecido como “host virtual” — configurado usando o Apache irá direcionar o visitante para um diretório específico que possui informações daquele site. Isso é feito sem indicar que o mesmo servidor também é o responsável por outros sites. Esse esquema pode ser expandido, sem qualquer limite de software, desde que o seu servidor consiga lidar com a carga. A unidade básica que descreve um site ou domínio individual é chamada de virtual host.

      Neste guia, apresentaremos a você um passo a passo sobre como configurar os hosts virtuais do Apache em um servidor Ubuntu 18.04. Durante esse processo, você aprenderá como atender conteúdos diferentes para visitantes diferentes, dependendo de quais domínios que eles estiverem solicitando.

      Pré-requisitos

      Antes de iniciar este tutorial, você deve criar um usuário não root.

      Você também precisará ter o Apache instalado para trabalhar através desses passos. Se ainda não tiver feito isso, é possível instalar o Apache no seu servidor através do pacote da ferramenta apt:

      • sudo apt update
      • sudo apt install apache2

      Se quiser instruções mais detalhadas, bem como a configuração do firewall, consulte nosso guia sobre Como instalar o servidor Web do Apache no Ubuntu 18.04.

      Para o nosso propósito neste guia, nossa configuração criará um host virtual para o example.com e outro para o test.com. Esses arquivos serão referenciados durante todo o guia, mas você deve substituir seus próprios domínios ou valores, enquanto estiver seguindo o guia.

      Se estiver utilizando a DigitalOcean, você pode aprender como configurar domínios, seguindo a documentação do produto, Como adicionar domínios. Para outros provedores, consulte a documentação relevante dos respectivos produtos. Se você não tiver domínios disponíveis no momento, você poderá usar os valores de teste.

      Mais adiante neste guia, vamos mostrar como editar seu arquivo de hosts locais para testar a configuração, se você estiver usando valores de teste. Isso permitirá que você valide sua configuração a partir do seu computador doméstico, embora seu conteúdo não ficará disponível através do nome de domínio para outros visitantes.

      Passo 1 — Criar a estrutura de diretório

      O primeiro passo que vamos dar será criar uma estrutura de diretório que reterá os dados do site que vamos oferecer aos visitantes.

      Nosso document root (o diretório de nível superior que o Apache examina para encontrar conteúdo para atender) será configurado em diretórios individuais, sob o diretório /var/www. Aqui, criaremos um diretório para ambos os hosts virtuais que planejamos fazer.

      Dentro de cada um desses diretórios, criaremos uma pasta public_html que reterá nossos arquivos reais. Isso nos possibilita uma certa flexibilidade em nossa hospedagem.

      Por exemplo, em relação aos nossos sites, vamos fazer nossos diretórios como segue. Caso esteja usando domínios reais ou valores alternativos, troque o texto destacado por esses.

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

      As partes em vermelho representam os nomes de domínios que queremos atender a partir do nosso VPS (Servidor virtual privado).

      Passo 2 — Conceder permissões

      Agora, temos a estrutura de diretório para nossos arquivos, mas eles são propriedade do nosso usuário root. Se quisermos que nosso usuário comum consiga modificar os arquivos em nossos diretórios Web, podemos alterar a propriedade, fazendo o seguinte:

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

      A variável $USER utilizará o valor do usuário que estiver conectado no momento, assim que pressionar ENTER. Ao fazer isso, nosso usuário comum será o proprietário dos subdiretórios public_html, onde iremos armazenar nosso conteúdo.

      Também devemos modificar as permissões para garantir o acesso de leitura ao diretório Web geral e a todos os arquivos e pastas que ele contenha, para que páginas possam ser atendidas corretamente:

      • sudo chmod -R 755 /var/www

      Agora, seu servidor Web deve ter as permissões necessárias para oferecer conteúdo e seu usuário deve conseguir criar conteúdo nas pastas necessárias.

      Passo 3 — Criar páginas de demonstração para cada host virtual

      Agora, temos a estrutura de nosso diretório está em funcionamento. Vamos criar um conteúdo para oferecer.

      A título de demonstração, vamos criar uma página index.html para cada site.

      Vamos começar com o example.com. Podemos abrir um arquivo index.html em um editor de texto. Neste caso, usaremos o nano:

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

      Dentro desse arquivo, crie um documento HTML que indique o site ao qual ele está conectado, como o seguinte:

      /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>
      

      Salve e feche o arquivo (no nano, pressione CTRL + X e, depois, Y e, finalmente, ENTER) quando terminar.

      Podemos copiar esse arquivo para usar como base para nosso segundo site, digitando:

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

      Na sequência, podemos abrir o arquivo e modificar as informações relevantes:

      • 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>
      

      Salve e feche esse arquivo também. Agora, você tem as páginas necessárias para testar a configuração do host virtual.

      Passo 4 — Criar novos arquivos do host virtual

      Os arquivos do host virtual são os arquivos que especificam a configuração real dos nossos hosts virtuais e determinam o modo como o servidor Web Apache responderá às solicitações de vários domínios.

      O Apache vem com um arquivo padrão de host virtual, chamado 000-default.conf, que podemos usar como ponto de partida. Vamos copiá-lo para criar um arquivo de host virtual para cada um dos nossos domínios.

      Começaremos com um domínio, configurando-o e copiando-o para nosso segundo domínio e, em seguida, faremos alguns outros ajustes necessários. A configuração padrão do Ubuntu exige que cada arquivo de host virtual termine em .conf.

      Crie o primeiro arquivo de host virtual

      Comece copiando o arquivo para o primeiro domínio:

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

      Abra o novo arquivo em seu editor com privilégios root:

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

      Com os comentários removidos, o arquivo ficará parecido com este:

      /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>
      

      Dentro desse arquivo, vamos personalizar os itens para nosso primeiro domínio e adicionar algumas diretivas. Esta seção do host virtual corresponde a quaisquer pedidos que forem feitos na porta 80, que é a porta padrão do HTTP.

      Primeiro, precisamos alterar a diretiva ServerAdmin para um e-mail que o administrador do site possa receber e-mails.

      ServerAdmin admin@example.com
      

      Depois disso, precisamos adicionar duas diretivas. A primeira, chamada ServerName, estabelece o domínio base que deve corresponder à definição desse host virtual. Esse provavelmente será o seu domínio. A segunda, chamada de ServerAlias, define os outros nomes que devem corresponder como se fossem o nome base. Isso é útil para os hosts correspondentes que você definiu, como www:

      ServerName example.com
      ServerAlias www.example.com
      

      A única outra coisa que precisamos alterar em nosso arquivo de host virtual é a localização do diretório base desse domínio. Já criamos o diretório que precisamos, então precisamos apenas alterar a diretiva DocumentRoot para refletir o diretório que criamos:

      DocumentRoot /var/www/example.com/public_html
      

      Quando estiver concluído, nosso arquivo de host virtual deverá ter a seguinte aparência:

      /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>
      

      Neste ponto, salve e feche o arquivo.

      Copiar o primeiro host virtual e personalizar para o segundo domínio

      Com o nosso primeiro arquivo de host virtual estabelecido, agora podemos criar nosso segundo host virtual, copiando aquele arquivo e ajustando-o, conforme necessário.

      Comece copiando-o:

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

      Abra o novo arquivo com privilégios root em seu editor:

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

      Agora, você precisará modificar todas as informações para referenciar seu segundo domínio. Quando tiver terminado, ele deverá ter a seguinte aparência:

      /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>
      

      Salve e feche o arquivo quando você terminar.

      Passo 5 — Habilitar os novos arquivos de host virtual

      Agora que criamos os arquivos de host virtual, precisamos habilitá-los. O Apache inclui algumas ferramentas que nos permitem fazer isso.

      Vamos usar a ferramenta a2ensite para habilitar cada um dos nossos sites. Caso queira ler mais a respeito deste script, consulte a documentação a2ensite.

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

      Em seguida, desabilite o site padrão definido em 000-default.conf:

      • sudo a2dissite 000-default.conf

      Quando tiver terminado, você precisará reiniciar o Apache para as alterações entrem em vigor e usar o systemctl status para verificar o sucesso da reinicialização.

      • sudo systemctl restart apache2
      • sudo systemctl status apache2

      Agora, seu servidor deve estar configurado para atender dois sites.

      Passo 6 — Configurar o arquivo de hosts locais (opcional)

      Se você não usou nomes de domínios reais – de sua propriedade – para testar esse procedimento mas, em vez disso, usou alguns domínios de exemplo, pelo menos você conseguirá testar a funcionalidade desse processo, alterando temporariamente o arquivo hosts em seu computador local.

      Isso interceptará quaisquer pedidos para os domínios que você configurou e irá apontá-los para seu servidor VPS, da mesma forma que o sistema DNS faria caso estivesse usando domínios registrados. Entretanto, isso somente funcionará a partir do seu computador local e somente para fins de teste.

      Certifique-se de que esteja operando em seu computador local para esses passos e não em seu servidor VPS. Você precisará saber a senha administrativa do computador ou, então, ser membro do grupo administrativo.

      Caso esteja em um computador Mac ou Linux, edite seu arquivo local com privilégios administrativos, digitando:

      Caso esteja em uma máquina em Windows, você pode encontrar as instruções sobre como alterar seu arquivo hosts aqui.

      Os detalhes que você precisará adicionar são o endereço IP público do seu servidor, seguido do domínio que quiser usar para acessar aquele servidor.

      Utilizando os domínios usados neste guia e substituindo o IP do seu servidor pelo texto your_server_IP, seu arquivo deverá ficar com a seguinte aparência:

      /etc/hosts

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

      Salve e feche o arquivo.

      Isso direcionará quaisquer pedidos para o example.com e o test.com em nosso computador e os enviará para nosso servidor. Isso é o que queremos, caso não sejamos os proprietários desses domínios, para podermos testar nossos hosts virtuais.

      Passo 7 — Testar seus resultados

      Agora que você tem seus hosts virtuais configurados, poderá testar suas configurações, acessando os domínios que configurou em seu navegador Web:

      http://example.com
      

      Você deve ver uma página que se parece com esta:

      Apache virtual host example

      Também é possível visitar sua segunda página e ver o arquivo criado para seu segundo site.

      http://test.com
      

      Teste do host virtual do Apache

      Caso ambos esses sites funcionarem conforme o esperado, significa que você configurou com sucesso os dois hosts virtuais no mesmo servidor.

      Caso tenha ajustado o arquivo hosts do seu computador doméstico, talvez queira excluir as linhas que adicionou, agora que verificou que sua configuração funciona. Isso impedirá que seu arquivo hosts seja preenchido com entradas que não são mais necessárias.

      Caso precise acessar isso por longo prazo, considere adicionar um nome de domínio para cada site que precisar e configurá-lo para apontar para seu servidor.

      Conclusão

      Se você acompanhou este guia, agora deverá ter um único servidor manipulando dois nomes de domínio separados. Você pode expandir esse processo, seguindo os passos que definimos acima para fazer hosts virtuais adicionais.

      Não há uma limitação do software quanto ao número de nomes de domínios que o Apache consegue gerenciar. Assim, fique à vontade para criar tantos domínios quantos o seu servidor conseguir manipular.



      Source link