Zurück zum Blog

Verwendung von Ansible zur Installation und Konfiguration von WordPress mit LAMP auf Ubuntu

Verwendung von Ansible zur Installation und Konfiguration von WordPress mit LAMP auf Ubuntu

Einführung

Es gibt immer Zeiten, in denen wir neue Server konfigurieren müssen. Dies kann der Fall sein, um die Arbeitslast zu verteilen, oder wenn wir einfach mehr Server benötigen. Bei der Einrichtung neuer Server müssen Benutzer die Serverautomatisierung nutzen, um sie zu konfigurieren. Dies geschieht, um manuelle Eingriffe zu minimieren. Ansible ist eines der Konfigurationsmanagement-Tools, mit denen ein neuer Server automatisch konfiguriert werden kann, wodurch das Risiko menschlicher Fehler bei der manuellen Einrichtung des Servers verringert wird.

Ansible ist ein funktionsreiches Tool mit einer einfachen Architektur. Es erleichtert die Konfiguration von Servern durch Skripte. Aufgrund seiner schlanken Architektur erfordert Ansible keine Installation anderer Software auf den Nodes.

In diesem Tutorial zeigen wir Ihnen, wie Sie mit Ansible die Installation von WordPress mit dem LAMP-Stack auf einem Ubuntu-Server automatisieren. WordPress ist ein CMS, das zur Erstellung von Blogs und Websites verwendet wird, wobei PHP als Programmiersprache und eine MySQL-Datenbank zur Speicherung von Daten zum Einsatz kommen. Sobald WordPress installiert ist, können Benutzer die Website über das Web-Frontend verwalten.

Voraussetzungen

Zusammenfassung der Ansible-Playbook-Aktionen

In diesem Abschnitt sehen wir, was unser Ansible-Playbook tut, wenn wir es ausführen. Dieses Verfahren ist eine Alternative zur hier beschriebenen manuellen Einrichtung: So installieren Sie WordPress mit LAMP auf Ubuntu 20.04.

Wenn wir das Playbook ausführen, wird Ansible:

  • Installieren von aptitude , das ein bevorzugter Ansible-Paketmanager ist.
  • Installieren und Konfigurieren von PHP-Erweiterungen und LAMP-Paketen.
  • Erstellen eines neuen Apache- VirtualHost für die WordPress-Website.
  • Aktivieren des mod_rewrite -Moduls und Deaktivieren der von Apache standardmäßig angebotenen Website.
  • Festlegen des Passworts für den MySQL-Root-Benutzer.
  • Entfernen der anonymen MySQL-Konten und der Testdatenbank.
  • Erstellen eines neuen Benutzers und einer neuen Datenbank. Diese werden von der WordPress-Website verwendet.
  • Einrichten von UFW, um HTTP-Verkehr auf dem konfigurierten Port zuzulassen ( 80 standardmäßig).
  • Herunterladen und Entpacken von WordPress.
  • Einrichten der Verzeichnisberechtigungen und -besitzrechte.
  • Konfigurieren einer neuen wp-config.php -Datei mithilfe ihrer Vorlage.

Anleitung für das WordPress-auf-LAMP-Ansible-Playbook

Zuerst müssen wir das WordPress-auf-LAMP-Playbook und seine Abhängigkeiten aus dem do-community/ansible-playbooks-Repository beziehen. Wir werden dieses Repository auf dem Ansible-Steuerungsknoten klonen.

Sie können den Befehl git pull wie unten beschrieben ausführen:

Stellen Sie sicher, dass Sie den aktuellen Stand des oben genannten Repositorys abgerufen haben, falls Sie das Repository bereits zuvor geklont haben. Unten sehen Sie, wie Sie das Update durchführen können:

Nun müssen wir die Dateien im Ordner wordpress-lamp_ubuntu ausfindig machen. Der Name dieses Ordners kann je nach verwendeter Ubuntu-Version variieren. Auf den ersten Blick sehen Sie die folgende Struktur in diesem Verzeichnis:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Dir Struc

Fassen wir den Zweck dieser Dateien im Folgenden zusammen:

  • files/apache.conf.j2: Apache verwendet VirtualHost. Diese Datei wird verwendet, um die Einstellungen für VirtualHost.
  • files/wp-config.php.j2: Diese Datei enthält Einstellungen zur Konfiguration von WordPress.
  • vars/default.yml: Sie konfiguriert die Playbook-Einstellungen.
  • playbook.yml: Wenn Aufgaben auf einem Remote-Server ausgeführt werden müssen, wird diese Datei verwendet, um sie zu konfigurieren.
  • readme.md: Anleitung zur Verwendung des Playbooks.

Wir müssen die Variablendatei des Playbooks bearbeiten, um die Installation anzupassen. Öffnen Sie zuerst die vars/default.yaml Datei, die sich im oben genannten Verzeichnis befindet:

Diese Datei ist ziemlich lang. Sie enthält eine Reihe von Konfigurationen, die uns bei unserer Installation helfen:

Hier befassen wir uns mit den folgenden Variablen:

  • php_modules: Ein Array mit PHP-Erweiterungen, die installiert werden sollten, um Ihr WordPress-Setup zu unterstützen. Wenn Sie weitere Module installieren möchten, können Sie dies hier angeben.
  • mysql_root_password: Das Passwort für das root MySQL-Konto.
  • mysql_db: Dies gibt den Namen der MySQL-Datenbank an, die WordPress verwenden wird.
  • mysql_user: Der Name des MySQL-Benutzers, der für WordPress erstellt werden soll.
  • mysql_password: Das Passwort für den neuen MySQL-Benutzer.
  • http_host: Domainname oder die IP des Servers.
  • http_conf: Der Name der Konfigurationsdatei, die in Apache erstellt wird.
  • http_port: HTTP-Port für diesen virtuellen Host. Dieser Port wird verwendet, um auf die Website zuzugreifen. Der Standardwert ist 80.

Geben Sie als Nächstes die Werte in der obigen Datei ein, speichern und schließen Sie sie. Für Benutzer, die den Nano-Editor verwenden, drücken Sie STRG+X, Y, und drücken Sie ENTER.

Jetzt sind Sie bereit, dieses Playbook auszuführen. Sie können dieses Playbook auf einem oder mehreren Servern ausführen. Wenn Sie dieses Playbook auf einem bestimmten Server ausführen möchten, können Sie das Flag -l verwenden. Wenn Sie außerdem den Benutzer angeben müssen, der sich mit dem Remote-Server verbindet, geben Sie den Benutzer mit dem Flag -u an.

Angenommen, wir möchten unser Playbook auf einem beliebigen Server ausführen, srvr1 unter Verwendung des Benutzers u1, können wir den folgenden Befehl ausführen:

Sobald Sie den obigen Befehl ausführen, erhalten Sie eine Ausgabe wie die folgende:

Warten Sie, bis die Ausführung des Playbooks abgeschlossen ist. Navigieren Sie dann zum server_name in Ihrem Webbrowser:

Sie sehen den folgenden Bildschirm:

WP Page

Wählen Sie als Nächstes die Sprache Ihrer Wahl und drücken Sie Weiter. Sie gelangen zum nächsten Bildschirm, auf dem Sie nach einigen Details gefragt werden, um die Installation abzuschließen:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Set User Pass

Geben Sie danach die Informationen ein und drücken Sie WordPress installieren. Es wird einige Zeit dauern, und dann sehen Sie einen Bildschirm wie den folgenden:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Install Success

Wählen Sie Anmelden, um sich auf Ihrer Website anzumelden und die Einstellungen zu konfigurieren:

Homepage

Inhalt des Ansible-Playbooks

Denken Sie an den Ordner wordpress-lamp_ubuntu . Er enthält einige Dateien. Gehen wir sie also nacheinander durch:

●    vars/default.yml

Diese Datei enthält Werte, die zur Konfiguration der Einstellungen für Ihre WordPress-Website verwendet werden:

●    files/apache.conf.j2

Diese Datei wird verwendet, um den Apache VirtualHost zu konfigurieren:

●    files/wp-config.php.j2

Diese Datei wird zur Konfiguration von WordPress verwendet. Sie enthält eindeutige Schlüssel und Salts, die von Hash-Funktionen generiert wurden:

●    playbook.yml

Diese Datei enthält alle Aufgaben, die in diesem Setup definiert sind. Sie beginnt mit der Auflistung einer Gruppe von Servern, die von diesem Setup angesprochen werden. Sie enthält die vars/default.yml Variablen-Datei, um Konfigurationsoptionen zu laden:

Sie können diese Dateien nach Bedarf anpassen, um sie an die spezifischen Anforderungen der von Ihnen erstellten Website anzupassen.

Fazit

In dieser Anleitung haben wir gezeigt, wie Sie die Installation und Einrichtung einer WordPress-Website, die auf dem LAMP-Stack auf dem neuesten Ubuntu-Betriebssystem läuft, mit Ansible automatisieren können.

Weitere Anleitungen zur Arbeit mit Ansible finden Sie in den folgenden Tutorials auf unserem Blog:

Viel Spaß beim Computing!

author

Preslav Dobrev

Autor · CloudSigma

Preslav Dobrev ist ein kreativer Designer bei CloudSigma und konzentriert sich auf eine konsistente Unternehmensidentität durch traditionelle und innovative Marketingkanäle. Er versteht es meisterhaft, künstlerische Vision mit strategischem Marketing zu verbinden, um wirkungsvolle Markengeschichten zu schaffen.

Kommentare

Noch keine Kommentare. Schreiben Sie den ersten.