So verschieben Sie einen Apache-Webstamm an einen neuen Speicherort unter Debian 8

Einführung

Unter Debian 8 speichert der Apache2-Webserver seine Dokumente standardmäßig in + / var / www / html. Dieses Verzeichnis befindet sich zusammen mit dem Rest des Betriebssystems im Root-Dateisystem. Möglicherweise möchten Sie das Stammverzeichnis des Dokuments an einen anderen Speicherort verschieben, z. B. in ein separates bereitgestelltes Dateisystem. Wenn Sie beispielsweise mehrere Websites von derselben Apache-Instanz aus bedienen, können Sie den Dokumentenstamm jeder Site auf ein eigenes Volume setzen, um die Skalierung an die Anforderungen einer bestimmten Site oder eines bestimmten Clients anzupassen.

In diesem Handbuch verschieben Sie das Apache-Stammverzeichnis an einen neuen Speicherort, indem Sie die Dateien verschieben und die Konfigurationsdateien von Apache ändern.

Voraussetzungen

Um diesen Leitfaden zu vervollständigen, benötigen Sie:

  • Ein Debian 8-Server mit einem Nicht-Root-Benutzer mit + sudo + - Berechtigungen. Weitere Informationen zum Einrichten eines Benutzers mit diesen Berechtigungen finden Sie in unserem Handbuch Initial Server Setup with Debian 8 .

  • Ein Apache2-Webserver: Wenn Sie noch keinen eingerichtet haben, lesen Sie den Abschnitt Apache im ausführlichen Artikel unter https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql -php-lamp-stack-on-debian-8 [Wie man Linux, Apache, MySQL, PHP (LAMP) unter Debian 8 installiert], kann Sie führen.

  • Ein neuer Speicherort für Ihr Dokumentenstammverzeichnis: Das neue Dokumentenstammverzeichnis kann vollständig Ihren Anforderungen entsprechend konfiguriert werden. Wenn Sie das Stammverzeichnis Ihres Dokuments auf ein anderes Speichergerät verschieben, möchten Sie einen Speicherort unter dem Bereitstellungspunkt des Geräts auswählen.

In diesem Tutorial verwenden wir das Verzeichnis "+ / mnt / volume-nyc1-01 +", das auf ein Block Storage-Volume verweist, das an den Server angeschlossen ist. Wenn Sie Block Storage zum Speichern Ihrer Webseiten verwenden möchten, führen Sie das Lernprogramm How To Use Block aus Storage on DigitalOcean, um Ihr Laufwerk zu mounten, bevor Sie fortfahren.

Schritt 1 - Kopieren von Dateien an den neuen Speicherort

Bei einer Neuinstallation von Apache befindet sich der Dokumentenstamm unter + / var / www / html. Wenn Sie jedoch mit einem vorhandenen Server arbeiten, haben Sie möglicherweise ein erheblich anderes Setup, einschließlich mehrerer Dokumentstämme in den entsprechenden VirtualHost-Anweisungen.

Sie können mit + grep + nach dem Speicherort zusätzlicher Dokumentstämme suchen. Suchen Sie im Verzeichnis "+ / etc / apache2 / sites-enabled", um Ihren Fokus mit dem folgenden Befehl auf aktive Sites zu beschränken:

grep -R "DocumentRoot" /etc/apache2/sites-enabled

Das + -R + Flag stellt sicher, dass + grep + sowohl den DocumentRoot als auch den Dateinamen in der Ausgabe ausgibt.

Das Ergebnis sieht ungefähr wie folgt aus, obwohl die Namen und die Anzahl der Ergebnisse in einer vorhandenen Installation wahrscheinlich unterschiedlich sind:

Outputsites-enabled/000-default.conf   DocumentRoot /var/www/html

Verwenden Sie das Feedback von "+ grep +", um sicherzustellen, dass Sie die zu verschiebenden Dateien verschieben, und aktualisieren Sie die entsprechenden Konfigurationsdateien.

Nachdem Sie den Speicherort Ihres Dokumentenstamms bestätigt haben, kopieren Sie die Dateien mit "+ rsync +" an ihren neuen Speicherort.

Installieren Sie zuerst + rsync + mit

sudo apt-get install rsync

Führen Sie dann diesen Befehl aus, um die Dateien zu kopieren:

sudo rsync -av /var/www/html

Wenn Sie das Flag "+ -a " verwenden, bleiben die Berechtigungen und andere Verzeichniseigenschaften erhalten, während " -v " eine ausführliche Ausgabe liefert, mit der Sie den Fortschritt verfolgen können. Weitere Informationen zur Verwendung von " rsync +" finden Sie im Tutorial https://www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories-on-a-vps [Verwenden von Rsync zum Synchronisieren von lokalen und Remote-Verzeichnissen auf einem VPS].

Die Dateien befinden sich nun an ihrem neuen Speicherort, Apache sucht jedoch weiterhin am alten Speicherort.

Schritt 2 - Aktualisieren der Konfigurationsdateien

Apache2 verwendet sowohl globale als auch standortspezifische Konfigurationsdateien. Hintergrundinformationen zur Hierarchie der Konfigurationsdateien finden Sie unter https://www.digitalocean.com/community/tutorials/how-to-configure-the-apache-web-server-on-an-ubuntu-or-debian -vps # Die-Apache-Datei-Hierarchie-in-Ubuntu-und-Debian [So konfigurieren Sie den Apache-Webserver auf einem Ubuntu- oder Debian-VPS].

Wenn Sie mit einer vorhandenen Installation arbeiten, sollten Sie die zuvor mit dem Befehl "+ grep " gefundenen virtuellen Hostdateien ändern. In diesem Beispiel werden die beiden im Lieferumfang von Apache enthaltenen Virtual Host-Dateien " 000-default.conf " und " default-ssl.conf +" betrachtet.

Beginnen Sie mit der Bearbeitung der Datei + 000-default.conf:

sudo nano /etc/apache2/sites-enabled/000-default.conf

Suchen Sie die Zeile, die mit "+ DocumentRoot +" beginnt, und aktualisieren Sie sie mit dem neuen Speicherort:

/etc/apache2/sites-enabled/000-default.conf

<VirtualHost *:80>
...
       ServerAdmin webmaster@localhost
       DocumentRoot

Suchen Sie als Nächstes nach einem "+ Directory +" - Block, der ebenfalls auf den ursprünglichen Pfad verweist, und aktualisieren Sie ihn, um auf den neuen Pfad zu verweisen.

Bei einer Neuinstallation gibt es am Standardstandort keine "+ Directory +" - Einträge. Fügen Sie der Konfigurationsdatei den folgenden Code hinzu, damit Apache Dateien von Ihrem neuen Speicherort aus bereitstellen kann:

/etc/apache2/sites-enabled/000-default.conf

...
    ServerAdmin webmaster@localhost
    DocumentRoot /mnt/volume-nyc1-01/html










...

Der erste "+ Directory " - Block legt einige restriktive Standardberechtigungen fest, und der zweite Block konfiguriert die Optionen für das neue Webstammverzeichnis in " / mnt / volume-nyc1-01 / html / +"

Speichern Sie die Datei, nachdem Sie die erforderlichen Änderungen vorgenommen haben.

Als Nächstes konzentrieren wir uns auf die SSL-Konfiguration. Bei einer Neuinstallation ist SSL noch nicht konfiguriert, aber Sie möchten wahrscheinlich die Datei "+ ssl-default.conf +" aktualisieren, um später einige Probleme zu vermeiden, wenn Sie sich nicht daran erinnern, dass Sie die Änderung vornehmen müssen.

Bearbeiten Sie die Datei:

sudo nano /etc/apache2/sites-available/ssl-default.conf

Nehmen Sie dann die gleichen Änderungen vor, die Sie zuvor vorgenommen haben, indem Sie "+ DocumentRoot " ändern und sicherstellen, dass die " Directory +" - Regeln ordnungsgemäß konfiguriert sind:

/etc/apache2/sites-available/ssl-default.conf

...
<IfModule mod_ssl.c>
 <VirtualHost _default_:443>
    ServerAdmin webmaster@localhost
    DocumentRoot










...

Stellen Sie nach Abschluss der Konfigurationsänderungen mit dem folgenden Befehl sicher, dass die Syntax korrekt ist:

sudo apachectl configtest

Die Ausgabe sieht folgendermaßen aus:

OutputAH00558: apache2: Could not reliably determine the server's fully qualified domain name,
using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message

Bei einer Standardinstallation wird die vorherige Meldung angezeigt, die Sie ignorieren können. Solange Sie "+ Syntax OK +" sehen, starten Sie den Webserver neu. Andernfalls können Sie die gemeldeten Probleme aufspüren und beheben.

Verwenden Sie den folgenden Befehl, um Apache neu zu starten:

sudo systemctl reload apache2

Besuchen Sie nach dem Neustart des Servers die betroffenen Sites und stellen Sie sicher, dass sie wie erwartet funktionieren. Vergessen Sie nicht, die Originalkopie der Daten zu entfernen, wenn Sie sich sicher sind, dass alles in Ordnung ist.

Fazit

In diesem Lernprogramm haben Sie den Apache-Dokumentstamm in einen neuen Speicherort geändert. Dies kann Ihnen bei der grundlegenden Webserververwaltung helfen, z. B. beim effektiven Hosten mehrerer Websites auf einem einzelnen Server. Darüber hinaus können Sie alternative Speichergeräte wie den Netzwerkblockspeicher nutzen. Dies ist ein wichtiger Schritt bei der Skalierung einer Website, wenn sich ihre Anforderungen ändern.

Wenn Sie eine geschäftige oder wachsende Website verwalten, möchten Sie möglicherweise https://www.digitalocean.com/community/tutorials/how-to-use-apache-jmeter-to-perform-load-testing- on-a-web-server [wie Sie Ihren Webserver laden], um Leistungsengpässe zu identifizieren, bevor Sie in der Produktion auf sie stoßen. Weitere Informationen zur Verbesserung des Produktionserlebnisses finden Sie in diesem Vergleich von https://www.digitalocean.com/community/tutorials/5-ways-to-prove-your-production-web-application-server-setup auf fünf Arten zur Verbesserung des Setups Ihres Produktionswebanwendungsservers].