Speichern von WordPress-Assets auf DigitalOcean-Spaces

Einführung

DigitalOcean Spaces ist ein Objektspeicherdienst, mit dem große Mengen unterschiedlicher, unstrukturierter Daten gespeichert werden können. WordPress-Sites, die häufig Bild- und Video-Assets enthalten, können gute Kandidaten für Objektspeicherlösungen sein. Durch die Verwendung des Objektspeichers für diese Arten von statischen Ressourcen kann die Leistung der Site optimiert werden, indem Speicherplatz und Ressourcen auf Ihren Servern freigegeben werden. Weitere Informationen zur Objektspeicherung und zu WordPress finden Sie in unserem Tutorial zuHow To Back Up a WordPress Site to Spaces.

In diesem Tutorial verwenden wir ein WordPress-Plugin, das direkt mit DigitalOcean Spaces zusammenarbeitet, um es als primären Asset Store zu verwenden. DasDigitalOcean Spaces Sync-Plugin leitet die Daten unserer WordPress-Medienbibliothek an Spaces weiter und bietet Ihnen je nach Bedarf verschiedene Konfigurationsoptionen, um die Verwendung des Objektspeichers mit Ihrer WordPress-Instanz zu optimieren.

Voraussetzungen

In diesem Tutorial wird davon ausgegangen, dass Sie eine WordPress-Instanz auf einem Server sowie einen DigitalOcean Space haben. Wenn Sie dieses Setup nicht haben, können Sie Folgendes ausführen:

Wenn diese Voraussetzungen erfüllt sind, können Sie dieses Plugin jetzt verwenden.

Ändern von WordPress-Berechtigungen

In diesem Tutorial werden wir mit dem Ordnerwp-content/uploadsin unserem WordPress-Projekt arbeiten. Daher ist es wichtig, dass dieser Ordner vorhanden ist und über die richtigen Berechtigungen verfügt. Sie können es mit dem Befehlmkdir mithilfe des Flags-p erstellen, um den Ordner zu erstellen, falls er nicht vorhanden ist, und vermeiden, dass ein Fehler ausgegeben wird, wenn dies der Fall ist:

sudo mkdir -p /var/www/html/wp-content/uploads

Sie können jetzt Berechtigungen für den Ordner festlegen. Legen Sie zunächst den Besitz Ihres Benutzers fest (wir werden hiersammyverwenden, aber stellen Sie sicher, dass Sie den Benutzer Ihres Nicht-Root-sudoverwenden) und den Gruppeneigentum der Gruppewww-data:

sudo chown -R sammy:www-data /var/www/html/wp-content/uploads

Richten Sie als Nächstes die Berechtigungen ein, die dem Webserver Schreibzugriff auf diesen Ordner gewähren:

sudo chmod -R g+w /var/www/html/wp-content/uploads

Wir können jetzt unsere Plugins verwenden, um einen Speicher im Objektspeicher für die Assets im Ordnerwp-content/uploadszu erstellen und über die WordPress-Oberfläche mit unseren Assets zu interagieren.

Installieren von DigitalOcean Spaces Sync

Der erste Schritt bei der Verwendung von DigitalOcean Spaces Sync ist die Installation in unserem WordPress-Ordner. Wir können zum Plugin-Ordner in Ihrem WordPress-Verzeichnis navigieren:

cd /var/www/html/wp-content/plugins

Von hier aus können wir DigitalOcean Spaces Sync mit dem Befehlwp installieren:

wp plugin install do-spaces-sync

Um das Plugin zu aktivieren, können wir Folgendes ausführen:

wp plugin activate do-spaces-sync

Von hier aus können wir zur Registerkarte "Plugins" auf der linken Seite unseres WordPress-Verwaltungs-Dashboards navigieren:

WordPress Plugin Tab

Wir sollten DigitalOcean Spaces Sync in unserer Liste der aktivierten Plugins sehen:

Spaces Sync Plugin Screen

Um die Einstellungen für DigitalOcean Spaces Sync zu verwalten, können Sie zu unserer RegisterkarteSettings navigieren undDigitalOcean Spaces Sync aus dem Menü auswählen:

Settings Tab

Mit DigitalOcean Spaces Sync haben wir jetzt die Möglichkeit, unseren Asset-Speicher zu konfigurieren:

DO Spaces Sync Configuration

Das FeldConnection Settings in der oberen Hälfte des Bildschirms fragt nach unserem Spaces Access Key und Secret. Es wird dann nach unserenContainer fragen, die der Name unseres Raums sein werden, und nach denEndpoint.

Sie können den Endpunkt Ihres Space anhand seiner URL bestimmen. Wenn die URL Ihres Space beispielsweisehttps://example-name.nyc3.digitaloceanspaces.com lautet, istexample-name Ihr Bucket / Container undnyc3.digitaloceanspaces.com Ihr Endpunkt.

In der Oberfläche des Plugins wird der AbschnittEndpointmit den Standardwertenhttps://ams3.digitaloceanspaces.comvorgefüllt. Sie sollten diesen Endpunkt ändern, wenn sich Ihr Space in einer anderen Region befindet.

Als nächstes werden Sie nachFile & Path Settings gefragt. In das mitFull URL-path to files gekennzeichnete Feld können Sie entweder eine öffentliche Speicherdomäne eingeben, wenn Ihre Dateien nur auf Ihrem Speicherplatz gespeichert werden, oder einen vollständigen URL-Pfad, wenn Sie sie auf Ihrem Speicherplatz und Server speichern.

Wenn sich Ihr WordPress-Projekt beispielsweise in/var/www/html befindet und Sie Dateien sowohl auf Ihrem Server als auch auf Space speichern möchten, geben Sie Folgendes ein:

  • http://your_server_ip/wp-content/uploads im FeldFull URL-path to files

  • /var/www/html/wp-content/uploads im FeldLocal path

Die Einstellungen fürStorage prefix undFilemask sind vorab festgelegt und müssen nicht geändert werden, es sei denn, Sie möchten bestimmte Dateitypen für Ihre Synchronisierung angeben.

In den folgenden Abschnitten werden die Besonderheiten des Speicherns von Dateien auf Ihrem Server und Space sowie auf Ihrem Space allein erläutert.

Dateien an mehreren Orten synchronisieren und speichern

DigitalOcean Spaces Sync bietet die Möglichkeit, Dateien auf Ihrem Server zu speichern und gleichzeitig mit Ihrem Space zu synchronisieren. Dieses Dienstprogramm kann hilfreich sein, wenn Sie Dateien auf Ihrem Server behalten müssen, aber auch Backups an einem anderen Ort speichern möchten. Wir werden eine Datei mit unserem Space synchronisieren, während sie auf unserem Server bleibt. In diesem Beispiel wird davon ausgegangen, dass wir eine Datei mit dem Namensammy10x10.png haben, die wir in unserer Medienbibliothek und in unserem Space speichern möchten.

Navigieren Sie zunächst zur RegisterkarteSettings in Ihrem WordPress-Verwaltungs-Dashboard und wählen SieDigitalOcean Spaces Sync aus dem Menü der angezeigten Optionen aus.

Geben Sie als Nächstes im FeldConnections Settings Ihren Raumschlüssel und Ihr Geheimnis ein, gefolgt vonContainer undEndpoint. Denken Sie daran, wenn die URL Ihres Spacehttps://example-name.nyc3.digitaloceanspaces.com lautet, sindexample-name IhreContainer undnyc3.digitaloceanspaces.com IhreEndpoint. Testen Sie Ihre Verbindungen, indem Sie auf die SchaltflächeCheck the Connection unten im FeldConnection Settings klicken:

Check Connection Button

Jetzt können wir dieFile & Path Settings ausfüllen.

Im FeldFull URL-path to files können wir unseren vollständigen URL-Pfad eingeben, da wir unsere Datei auf unserem Server und auf unserem Speicherplatz speichern. Die IP-Adresse unseres Servers wird hier verwendet. Wenn Sie jedoch eine Domain haben, können Sie die IP-Adresse gegen Ihren Domain-Namen austauschen. Weitere Informationen zum Registrieren von Domains bei DigitalOcean finden Sie in unserem Tutorial zuHow To Set Up a Host Name with DigitalOcean. In unserem Fall sindFull URL-path to fileshttp://your_server_ip/wp-content/uploads.

Als nächstes füllen wir das FeldLocal path mit dem lokalen Pfad zum Verzeichnisuploads aus:/var/www/html/wp-content/uploads.

Da wir mit einer einzelnen Datei arbeiten, müssen wir die AbschnitteStorage prefix undFilemask nicht ändern. Wenn Ihre WordPress-Medienbibliothek an Größe und Vielfalt zunimmt, können Sie diese Einstellung mithilfe von Platzhaltern und Erweiterungen wie*.png im FeldFilemask an einzelne Dateitypen anpassen.

Ihre letztenFile & Path Settings sehen folgendermaßen aus:

Sync Server and Cloud

Stellen Sie sicher, dass Sie Ihre Konfigurationsänderungen speichern, indem Sie auf die SchaltflächeSave Changes am unteren Bildschirmrand klicken.

Jetzt können wir unsere Dateisammy10x10.png zu unserer WordPress-Medienbibliothek hinzufügen. Wir werden den Befehlwp media import verwenden, der die Datei aus unserem Home-Verzeichnis in unsere WordPress-Medienbibliothek importiert. In diesem Fall gehört unser Home-Verzeichnis zusammy, in Ihrem Fall ist dies jedoch der Benutzer Ihres Nicht-Root-Verzeichnissessudo. Beim Verschieben der Datei verwenden wir den Parameter--path, um den Speicherort unseres WordPress-Projekts anzugeben:

wp media import --path=/var/www/html/ /home/sammy/sammy10x10.png

Wenn wir uns unsere WordPress-Oberfläche ansehen, sollten wir unsere Datei jetzt inMedia Libraryehen. Wir können dorthin navigieren, indem wir der RegisterkarteMedia Library auf der linken Seite unseres WordPress-Verwaltungs-Dashboards folgen:

Media Library Tab

Wenn wir in der DigitalOcean-Systemsteuerung zu unserer Spaces-Seite navigieren, sollten wir die Datei auch in unserem Space sehen.

Schließlich können wir zu unserem Ordnerwp-content/uploadsnavigieren, in dem WordPress einen Unterordner mit Jahr und Monat erstellt hat. In diesem Ordner sollte die Dateisammy10x10.pngangezeigt werden.

Dateien auf Leerzeichen speichern

Das DigitalOcean Spaces Sync-Plugin verfügt über eine zusätzliche Option, mit der wir Dateien nur auf unserem Space speichern können, falls wir Speicherplatz und Ressourcen auf unserem Server optimieren möchten. Wir werden mit einer anderen Datei,sammy-heart10x10.png, arbeiten und unsere DigitalOcean Spaces Sync-Einstellungen so einstellen, dass diese Datei nur in unserem Space gespeichert wird.

Gehen wir zunächst zur Hauptkonfigurationsseite des Plugins zurück:

DO Spaces Sync Configuration

Wir können dieConnection Settings-Informationen belassen, aber wir werden dieFile & Path Settings ändern. Zuerst schreiben wir inFull URL-path to files die öffentliche Speicherdomäne. Auch hier verwenden wir unsere Server-IP, aber Sie können diese gegen eine Domain austauschen, wenn Sie eine haben:http://uploads.your_server_ip

Als Nächstes navigieren wir zuSync Settings am Ende der Seite und klicken auf das erste Feld, in dem wir "Dateien nur in der Cloud speichern und nach erfolgreichem Upload löschen" können. Ihre letztenFile & Path Settings sehen folgendermaßen aus:

Sync Cloud Only

Stellen Sie sicher, dass Sie Ihre Änderungen speichern, indem Sie auf die SchaltflächeSave Changes am unteren Bildschirmrand klicken.

Zurück in der Befehlszeile verschieben wirsammy-heart10x10.png mitwp media import aus dem Home-Verzeichnis unseres Benutzers in unsere Medienbibliothek:

wp media import --path=/var/www/html/ /home/sammy/sammy-heart10x10.png

Wenn wir zurück zu unserer WordPress-Oberfläche navigieren, werden in unserenMedia Library keinesammy-heart10x10.png odersammy10x10.png angezeigt. Wenn wir als nächstes zur Befehlszeile zurückkehren und zu unserem Verzeichniswp-content/uploads navigieren, sollten wir sehen, dasssammy-heart10x10.png in unserem zeitgestempelten Unterordner fehlt.

Wenn wir im DigitalOcean-Kontrollfeld zur Seite "Spaces" navigieren, sollten beide Dateien in unserem Space gespeichert sein.

Fazit

Wir haben zwei verschiedene Optionen behandelt, mit denen Sie Ihre WordPress-Mediendateien mithilfe von DigitalOcean Spaces Sync in DigitalOcean Spaces speichern können. Dieses Plugin bietet zusätzliche Anpassungsmöglichkeiten, über die Sie mehr erfahren können, indem Sie den Artikel des Entwicklers „https://medium.com/@kee_ross/sync-your-wordpress-media-with-digitalocean-spaces-b730eb7e19fc[Sync your WordPress“ lesen Medien mit DigitalOcean Spaces]. “

Wenn Sie allgemeinere Informationen zum Arbeiten mit Leerzeichen wünschen, lesen Sie unsereintroduction to DigitalOcean Spaces und unseren Leitfaden zubest practices for performance on Spaces.