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:
-
Ein Ubuntu 16.04-Server, der gemäß unserenInitial Server Setup with Ubuntu 16.04 tutorial eingerichtet wurde.
-
Ein auf Ihrem Server installierter LAMP-Stack gemäß unserem Tutorial zuHow To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu 16.04.
-
WordPress wurde auf Ihrem Server installiert und folgt unserem Tutorial zuHow To Install WordPress with LAMP on Ubuntu 16.04.
-
Ein DigitalOcean Space- und API-Schlüssel, der durch Folgen vonHow To Create a DigitalOcean Space and API Key erstellt wird.
-
WP-CLI wird installiert, indemthese instructions befolgt wird.
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/uploads
in 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-sudo
verwenden) 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/uploads
zu 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:
Wir sollten DigitalOcean Spaces Sync in unserer Liste der aktivierten Plugins sehen:
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:
Mit DigitalOcean Spaces Sync haben wir jetzt die Möglichkeit, unseren Asset-Speicher zu konfigurieren:
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.com
vorgefü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:
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:
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:
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/uploads
navigieren, in dem WordPress einen Unterordner mit Jahr und Monat erstellt hat. In diesem Ordner sollte die Dateisammy10x10.png
angezeigt 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:
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:
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.