Ich versuche, die Erstellung von WordPress-Websites für das Unternehmen, für das ich arbeite, zu automatisieren. Wir haben in unserer Datenbank viele Informationen über unsere Kunden und möchten für jeden Kunden eine WordPress-Website erstellen. Der Vorgang funktioniert hervorragend und wir haben keine Probleme mit der Erstellung von Websites/der Datenübertragung oder ähnlichem.
Das Problem, das wir haben, ist, wenn wir eine neue Domain kaufen (http://www.neuedomain.com) unser Prozess bricht ab (wir rufen eine gespeicherte Prozedur auf, die alle Daten installiert, nachdem die URL aufgerufen wurde, um WordPress zu installieren), wenn die Auflösung der Domäne länger als 15 Minuten dauert. Wir haben versucht, eine Schleife zu erstellen (wobei der Prozess prüft, ob die Domäne aufgelöst wird, und es weiter versucht – aber irgendwann schlägt es fehl). Wir möchten also herausfinden, ob es eine Möglichkeit gibt, eine URL zu installieren, ohne dass die Domäne bereits aufgelöst wurde.
Ich habe Möglichkeiten gesehen, bei denen Sie die WP-Konfigurationsdatei ändern können, aber das funktioniert nicht, da wir mehr als eine Domäne haben und dadurch die Quell-URL für alle Domänen geändert wird. Was wir wirklich brauchen, ist nur eine Möglichkeit, das Installationsskript manuell durch einen Aufruf entweder über eine Datenbank oder auf eine andere Weise zu starten, die nicht überprüft, ob die Domäne aufgelöst ist oder auf den Server zeigt oder nicht.
Danke für alle Vorschläge.
BEARBEITEN: Um WordPress zu installieren, rufen wir einfach diese URL auf: http://"newdomain".com/wp-admin/install.php?step=2 - wenn Sie die Einstellungen im Backend ändern, wird WordPress durch Aufrufen dieser URL installiert, ohne dass Sie das Formular wp-admin/install.php durchlaufen müssen.
Antwort1
Wie Amadan sagte: Sie können die Namensauflösung einfach vorübergehend fest verdrahten.
Was ich in einem solchen Fall aber machen würde, ist eine Datei oder Datenbanktabelle, die alle einzurichtenden Domänen enthält. Dann lassen Sie einfach alle 1-5 Minuten einen Cronjob einen DNS-Aufruf versuchen. Sobald die Domäne erreichbar ist, starten Sie das Setup und löschen Sie diese Domäne aus der Datei/Tabelle.
Antwort2
telnet 1.2.3.4 80
GET /wp-admin/install.php?step=2 HTTP/1.0
Host: www.domain.com
Solange Sie die IP-Adresse kennen, die Sie erreichen müssen, und den Domänennamen, den Sie erreichen möchten, müssen Sie /etc/hosts nicht ändern.
Curl, nc und wget können alle Header-Anfragen senden, ebenso wie eine einfache Socket-Verbindung in Ihrem Installationsskript.
Antwort3
Eine sehr einfache Möglichkeit, Ihr gewünschtes Ziel zu erreichen, besteht darin, eine Instanz von Wordpress auf die übliche Weise einzurichten, beispielsweise auf einem Offline-Testsystem. Die installierte Version ist nichts weiter als ein Verzeichnisbaum mit Dateien und einer Datenbank.
- Suchen Sie mithilfe Ihres vorhandenen Wissens oder einer Suche in den Dateien die Elemente, die geändert werden müssen, damit sie in einer anderen Installation funktionieren.
- Sichern Sie die Wordpress-Datenbank in einer Datei.
- Erstellen Sie ein Skript, das Eingaben (beispielsweise aus einer Datei) akzeptiert, und ändern Sie mit sed, Perl oder einem anderen Programm Ihrer Wahl die Elemente, die für eine Neuinstallation geändert werden müssen.
- Machen Sie dasselbe für alle Elemente, die in der Datenbank-Dumpdatei geändert werden müssen.
- Erstellen Sie per Skript einen Wordpress-Benutzer und ein Passwort für die Datenbank, erstellen Sie die leere Datenbank und legen Sie die erforderlichen Berechtigungen fest.
- Nun einfach die Wordpress-Dateien an den Zielort kopieren, die Berechtigungen festlegen, die Datenbank-Dumpdatei laden und testen.
- Ausspülen und wiederholen …
Antwort4
Benutz einfachWP-CLIUm ein neues Blog zu installieren, geben Sie ein
wp core download
wp core install