it-swarm.com.de

Verwalten einer großen Anzahl von Wordpress-Sites

Ich habe eine Situation geerbt, in der unser Team über 100 separate WordPress-Installationen für verschiedene Kunden unterstützt. Ich versuche, den gesamten Prozess ein bisschen effizienter zu gestalten.

Für alle, die sich in einer ähnlichen Situation wie die Verwaltung einer großen Anzahl von Wordpress-Installationen befinden:

Gibt es Tools oder Techniken, die hilfreich sind? Der Gedanke, all dies auf 3.0.2 zu migrieren, indem man sich anmeldet oder ein Skript von Grund auf neu schreibt, klingt besonders unattraktiv.

2
Ethan Seifert

Nun, es hängt davon ab, wie/wo sie gehostet werden. Wenn sie auf verschiedenen Servern oder auf demselben gehostet werden, würde ich weiterhin die Befehlszeile und eine Skriptdatei verwenden. Wenn sie alle unterschiedliche Benutzernamen/Passwörter haben, müssen Sie viel schreiben. Durch die Vorplanung sparen Sie eine Menge Zeit bei der Wartung.

Zunächst ist es am besten, einige Daten auf allen Websites abzurufen, z. B. Versionen.

Hier ist ein Beispiel einer Skriptdatei für mehrere Server http://www.cyberciti.biz/tips/execute-commands-on-multiple-linux-or-unix-servers.html , aber in Ihrem Fall würden Sie so etwas wie grep wp_version wp-includes/version.php tun, um alle Versionsinformationen zu erhalten.

Wenn sie alle unterschiedliche Administratorkennwörter haben, müssten Sie natürlich jedes einschließen.

Eine Alternative wäre, ein Skript zu schreiben, um die Sites zu crawlen und die Meta-Generator-Tags abzurufen (obwohl sie manchmal deaktiviert sind).

Ich würde auch eine Massensicherung über die Befehlszeile und ein ähnliches Skript durchführen, möglicherweise automatisiert in ein datumsbasiertes Verzeichnis und unter Verwendung eines SQL-Dumps.

Sie können dann auch mit einem Befehl zum Ausführen einer Skriptdatei für alle über 100 Server auf die neueste Version aktualisieren.

Der große Nachteil wäre, dass inkompatible Plug-Ins/Themes oder Kerncodes bearbeitet wurden. Aus diesem Grund würde ich versuchen, so viele Daten wie möglich zu sammeln, um Probleme bei der Aktualisierung zu vermeiden.

Ich kenne sowieso keine Möglichkeit, das Abrufen einer Liste aktiver Plug-ins zu automatisieren, daher müssen Sie möglicherweise einige Informationen manuell abrufen und haben hoffentlich Befehlszeilenzugriff auf die Websites.

Es kann eine Weile dauern, dies festzulegen und zu perfektionieren, aber der Vorteil ist, dass Sie Ihrem Chef mitteilen können, dass es 2 Wochen dauert und Sie 1,9 Wochen Freizeit haben.

1
Wyck

Die Anzahl der Möglichkeiten, mit dieser Situation umzugehen, ist unbegrenzt.

Ich habe ein Skript geschrieben, das verwendet

  mount --bind   

zum Verknüpfen aller WordPress-Kerndateien mit einem einzelnen Speicherort auf dem Server, der schreibgeschützt bereitgestellt wird, obwohl die Dateien über den einen Ordner bearbeitet werden können.

Die beiden Verzeichnisse, die ich gebunden habe, sind wp-admin und wp-includes (nicht wp-content) sowie wp-settings.php und alle anderen Dateien außer wp-config.php

Mit diesem Setup ist es so einfach, ein Upgrade durchzuführen:

 cd /wordpress-master
 wget http://www.wordpress.org/wordpress-latest.Zip
 unzip wordpress-latest.Zip
 cd wordpress
 mv wp-admin ../
 mv wp-includes ../
 mv *.php ../

Erledigt.

Ich benötige ungefähr 15 Sekunden, um über 50 Websites zu aktualisieren. Ganz zu schweigen davon, dass alle WordPress-Kerndateien vor jedem geschützt sind, der es schafft, sich in den FTP oder etwas Seltsames zu hacken.


Bei Kompatibilitätsproblemen mit Themen ist es also möglich, dies für Ihr Setup zu tun: (hier ist, wie meins ist)

 /vhosts/master/4.5.2/   has  wordpress v4.5.2
 /vhosts/master/4.5.8/   has  wordpress v4.5.8
 /vhosts/master/4.6.2/   has  wordpress v4.6.2

in einem Update-Skript ist möglicherweise Folgendes enthalten: (im Pseudocode)

 read a file containing the version mounted to each wordpress site,

 foreach site {
      unmount the current site's bound files

      mount the current site's upgrade version

      execute 'wget (sitename/index.php)'  and save to a file

      if the file contains the </html>  tag  near the end 
           then it the site upgrade completed, 
           leave the new binding and 
           update the file with the new version



      if it doesnt, then the upgrade failed
              unmount the site from the newest version,  
              remount it back to the version in the file

 }
1
mike510a

Sie müssen über mehrere Situationen nachdenken. Ich mag den Ansatz von Mike Nickaloff, aber was ist, wenn das Thema Ihrer 56. WordPress-Site veraltet ist und nicht mit Ihrem neuesten WordPress-Kernupdate kompatibel ist? Diese bestimmte Site stürzt ab, wenn Sie Ihren Core aktualisieren. Was ist, wenn ein Client, der die Site auf Ihrem Server hostet, zu einer anderen Agentur oder einem anderen Entwickler migrieren möchte? Wenn Sie den ManageWP-Ansatz verwenden, ist Ihre Site an ManageWP gebunden. In Ihrer Situation würde ich nach verwalteten Wordpress-Hosts wie WPEngine suchen, die die serverseitige Verwaltung für Sie verwalten können. Managed Wordpress-Hosting-Anbieter verwalten den Server für Sie und helfen Ihnen, das Problem sehr schnell zu lösen.

0
Jason

Ich weiß, das wurde vor einiger Zeit gefragt, aber Sie sollten ManageWP ausprobieren. Es befindet sich noch in der Beta-Phase, hat also einige Macken, und ich denke, Sie können dort nur bis zu 100 Sites verwalten, obwohl Sie möglicherweise die Erlaubnis einholen können, weitere Sites zu verwalten. Sie können Websites und Plug-ins von diesem Dashboard aus aktualisieren, auf mehreren Websites veröffentlichen und vieles mehr. Sie fügen ständig neue Funktionen hinzu, z. B. die Möglichkeit, Websites zu sichern und zu klonen.

Es wurde von Vladimir Prelovac erstellt. http://managewp.com/

0
Miriam Schwab