So verschieben Sie einen Apache-Webstamm an einen neuen Speicherort unter Ubuntu 16.04

Einführung

Unter Ubuntu speichert der Apache2-Webserver seine Dokumente standardmäßig in "+ / var / www / html", das sich normalerweise im Root-Dateisystem mit dem Rest des Betriebssystems befindet. Manchmal ist es jedoch hilfreich, das Dokumentstammverzeichnis an einen anderen Speicherort zu verschieben, z. B. in ein separates bereitgestelltes Dateisystem. Wenn Sie beispielsweise mehrere Websites von derselben Apache-Instanz aus bedienen, können Sie die Skalierung an die Anforderungen einer bestimmten Site oder eines bestimmten Clients anpassen, indem Sie das Stammverzeichnis jedes einzelnen Dokuments auf ein eigenes Volume setzen.

In diesem Handbuch zeigen wir Ihnen, wie Sie einen Apache-Dokumentenstamm an einen neuen Speicherort verschieben.

Voraussetzungen

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

  • * Ein Ubuntu 16.04-Server mit einem Nicht-Root-Benutzer mit + sudo + -Privilegien *. Weitere Informationen zum Einrichten eines Benutzers mit diesen Berechtigungen finden Sie unter Initial Server Setup with Ubuntu 16.04 leiten.

  • * 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-ubuntu-16-04 [Wie installiert man Linux, Apache, MySQL, PHP (LAMP) unter Ubuntu 16.04], kann Sie führen.

  • * Ein neuer Speicherort für Ihr Dokumentenstammverzeichnis *: Der neue Speicherort für das Dokumentenstammverzeichnis kann gemäß Ihren Anforderungen vollständig 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 Beispiel verwenden wir das Verzeichnis + / mnt / volume-nyc1-01 +. Wenn Sie Block Storage auf DigitalOcean verwenden, zeigt this guide, wie Sie Ihr Laufwerk bereitstellen, bevor Sie fortfahren mit diesem Tutorial.

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. Wir durchsuchen das Verzeichnis "+ / etc / apache2 / sites-enabled ", um unseren Fokus auf aktive Sites zu beschränken. Das ` -R ` Flag stellt sicher, dass ` grep +` sowohl den DocumentRoot als auch den Dateinamen in seiner Ausgabe ausgibt:

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

Das Ergebnis sieht ungefähr so ​​aus wie in der folgenden Ausgabe, obwohl die Namen und die Anzahl der Ergebnisse bei 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 wir den Speicherort unseres Dokumentenstamms bestätigt haben, kopieren wir die Dateien mit "+ rsync " an ihren neuen Speicherort. 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.

sudo rsync -av /var/www/

Jetzt können wir die Konfiguration aktualisieren.

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 unserem Beispiel werden die beiden standardmäßig mit Apache gelieferten Virtual Host-Dateien " 000-default.conf " und " default-ssl.conf +" betrachtet.

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

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

Als Nächstes suchen wir die Zeile, die mit "+ DocumentRoot +" beginnt, und aktualisieren sie mit dem neuen Speicherort.

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

<VirtualHost *:80>
       ServerAdmin webmaster@localhost
      DocumentRoot
       <Directory />
               Options FollowSymLinks
               AllowOverride None
      </Directory>
     <Directory >
               Options Indexes FollowSymLinks MultiViews
               AllowOverride None
               Require all granted
       </Directory>

Nachdem wir diese Änderungen gespeichert haben, wenden wir uns der SSL-Konfiguration zu. Bei einer Neuinstallation ist SSL noch nicht konfiguriert, aber Sie möchten wahrscheinlich die Datei "+ ssl-default.conf +" aktualisieren, um spätere Fehlerbehebungen zu vermeiden, wenn Sie sich nicht daran erinnern, dass Sie die Änderung vornehmen müssen.

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

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

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

Schritt 3 - Neustart von Apache

Sobald Sie die Konfigurationsänderungen abgeschlossen haben, können Sie mit "+ configtest +" sicherstellen, dass die Syntax korrekt ist:

sudo apachectl configtest

Bei einer Neuinstallation erhalten Sie will Feedback von + apachectl configtest +:

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

Solange Sie "+ Syntax OK +" erhalten, 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 wohl fühlen.

Fazit

In diesem Lernprogramm wurde erläutert, wie Sie den Apache-Dokumentenstamm in einen neuen Speicherort ändern. 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].

Related