One place for hosting & domains

      WordPress

      So installieren Sie WordPress mit OpenLiteSpeed unter Ubuntu 18.04


      Einführung

      WordPress ist ein Open-Source-Content-Management-System (CMS). Als weltweit beliebtetes CMS ermöglicht WordPress die Einrichtung von Blogs und Websites auf einem MySQL-Datenbank-Backend, wobei PHP zur Ausführung von Skripten und zur Verarbeitung dynamischer Inhalte verwendet wird.

      OpenLiteSpeed ist ein optimierter Open-Source-Webserver, den Sie zur Verwaltung und Bereitstellung von Websites verwenden können. OpenLiteSpeed verfügt über einige nützliche Funktionen, die ihn zu einer soliden Wahl für viele Installationen machen: Apache-kompatible Neuschreibregeln, eine integrierte webbasierte Verwaltungsoberfläche und eine für den Server optimierte PHP-Verarbeitung.

      Dieser Leitfaden führt durch den Prozess der Installation und Einrichtung einer WordPress-Instanz unter Ubuntu 18.04 mit dem OpenLiteSpeed-Webserver. Da sowohl WordPress als auch OpenLiteSpeed über einen Webbrowser verwaltet werden können, ist diese Konfiguration ideal für diejenigen, die keinen regulären Zugriff zu einer SSH-Sitzung haben oder sich nicht wohlfühlen, einen Webserver über die Befehlszeile zu verwalten.

      Voraussetzungen

      Bevor Sie mit diesem Leitfaden beginnen, benötigen Sie Folgendes:

      Schritt 1 – Erstellen einer Datenbank und eines Datenbankbenutzers für WordPress

      WordPress verwendet MySQL, um Site- und Benutzerinformationen zu verwalten und zu speichern. Sie haben MySQL bereits installiert, aber als vorbereitenden Schritt müssen Sie eine Datenbank und einen Benutzer für WordPress einrichten.

      Stellen Sie zu Beginn eine Verbindung mit Ihrem Server unter Verwendung von SSH her:

      Melden Sie sich dann an dem MySQL Root-Konto an:

      Anmerkung: Wenn Sie Schritt 3 im vorbereitenden MySQL-Tutorial abgeschlossen und Ihren MySQL-Benutzer root konfiguriert haben, um sich mit dem Plugin mysql_native_password zu authentifizieren, müssen Sie sich mit dem folgenden Befehl anmelden:

      Geben Sie das Passwort Ihres Root-Benutzers ein, wenn Sie dazu aufgefordert werden.

      Erstellen Sie von der MySQL-Eingabeaufforderung aus eine Datenbank mit dem folgenden Befehl. Hier nennen wir diese Datenbank der Einfachheit halber wordpress, aber Sie können ihr einen beliebigen Namen geben.

      • CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

      Erstellen Sie dann einen Benutzer und erteilen Sie ihm Berechtigungen über die von Ihnen gerade erstellte Datenbank. Auch hier können Sie diesem Benutzer einen beliebigen Namen geben, aber der Einfachheit halber nennen wir ihn wordpressuser. Denken Sie daran, password in ein starkes Passwort Ihrer Wahl zu ändern:

      • GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';

      Führen Sie dann FLUSH PRIVILEGES aus, was den Server anweist, die Berechtigungstabellen neu zu laden und die Änderungen zu übernehmen:

      Danach können Sie die MySQL-Eingabeaufforderung schließen:

      Sie haben die Einrichtung Ihrer MySQL-Installation für die Arbeit mit WordPress abgeschlossen. Als Nächstes installieren wir einige PHP-Erweiterungen.

      Schritt 2 – Installieren zusätzlicher PHP-Erweiterungen

      In dem vorbereitenden Tutorial OpenLiteSpeed haben Sie das Paket lsphp73 installiert. Dies ist eine für OpenLiteSpeed optimierte Zusammenstellung von PHP, die die LiteSpeed-SAPI zur Kommunikation mit externen Anwendungen nutzt. Je nach Ihren Bedürfnissen kann WordPress andere bestimmte PHP-Erweiterungen benötigen, um wie gewünscht zu funktionieren.

      Führen Sie den folgenden Befehl aus, um einige mit WordPress häufig verwendete PHP-Erweiterungen zu installieren:

      • sudo apt install lsphp73-common lsphp73-curl lsphp73-imagick lsphp73-imap lsphp73-json lsphp73-memcached lsphp73-mysql lsphp73-opcache lsphp73-redis

      Anmerkung: Die in diesem Befehl enthaltenen Pakete können nicht jeden Anwendungsfall abdecken. Eine vollständige Liste der in dem LiteSpeed-Repository, das Sie in dem vorbereitenden Tutorial zu Ihrem Server hinzugefügt haben, verfügbaren PHP 7.3-Erweiterungen, finden Sie im LiteSpeed Wiki.

      Danach können Sie mit dem Herunterladen und Einrichten von WordPress auf Ihrem Server fortfahren.

      Schritt 3 – Herunterladen von WordPress

      Nachdem Ihre Server-Software konfiguriert ist, können Sie WordPress installieren und einrichten. Insbesondere aus Sicherheitsgründen ist es immer empfehlenswert, die neueste Version von WordPress direkt von ihrer Website zu beziehen.

      Wechseln Sie in ein beschreibbares Verzeichnis und laden dann die komprimierte Version herunter, indem Sie Folgendes eingeben:

      • cd /tmp
      • curl -O https://wordpress.org/latest.tar.gz

      Extrahieren Sie die komprimierte Datei, um die WordPress-Verzeichnisstruktur zu erstellen:

      Wir werden diese Dateien vorübergehend in unser Stammverzeichnis verschieben, doch zuerst erstellen wir einige Dateien und Verzeichnisse, von denen die Installation von WordPress abhängig ist.

      OpenLiteSpeed unterstützt die Dateien .htaccess. Dies ist für unsere Zwecke wichtig, da WordPress die Dateien .htaccess zur Erstellung und Verwaltung von Permalinks verwendet.

      Fügen Sie eine Dummy-Datei .htaccess hinzu, damit sie später von WordPress verwendet werden kann:

      • touch /tmp/wordpress/.htaccess

      Als Nächstes kopieren Sie die Beispielkonfigurationsdatei in den Dateinamen, den WordPress tatsächlich liest:

      • cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

      Erstellen Sie zusätzlich das Verzeichnis upgrade, damit WordPress keine Probleme mit Berechtigungen hat, wenn es versucht, dies nach einer Aktualisierung seiner Software selbstständig zu tun:

      • mkdir /tmp/wordpress/wp-content/upgrade

      Kopieren Sie dann den gesamten Inhalt des Verzeichnisses in Ihr Dokumenten-Stammverzeichnis. OpenLiteSpeed verfügt standardmäßig über einen virtuellen Host namens Example in dem Verzeichnis /usr/local/lsws/. Das Dokumenten-Stammverzeichnis für den virtuellen Host Example ist das Unterverzeichnis html:

      • sudo cp -a /tmp/wordpress/. /usr/local/lsws/Example/html/wordpress

      Beachten Sie, dass dieser Befehl am Ende des Quellverzeichnisses einen Punkt enthält, um anzugeben, dass alles im Verzeichnis kopiert werden soll, einschließlich versteckter Dateien (wie die von Ihnen erstellte Datei .htaccess):

      Damit haben Sie WordPress erfolgreich auf Ihrem Webserver installiert und einige der ersten Konfigurationsschritte ausgeführt. Als Nächstes werden wir einige weitere Konfigurationsänderungen vornehmen, die WordPress die zur sicheren Funktion und zum Zugriff auf die zuvor erstellte MySQL-Datenbank und das Benutzerkonto erforderlichen Berechtigungen erteilen.

      Schritt 4 – Konfigurieren des WordPress-Verzeichnisses

      Bevor wir den webbasierten Einrichtungsvorgang für WordPress durchlaufen können, müssen wir einige Einträge in unserem WordPress-Verzeichnis anpassen.

      Beginnen Sie damit, die Eigentümerschaft an allen Dateien im Verzeichnis an den Benutzer nobody und die Gruppe nogroup zu übergeben, die der OpenLiteSpeed-Webserver standardmäßig ausführt. Der folgende Befehl chown gewährt OpenLiteSpeed die Fähigkeit zum Lesen und Schreiben von Dateien im Verzeichnis wordpress, sodass es die Website bedienen und automatisch Aktualisierungen durchführen kann:

      • sudo chown -R nobody:nogroup /usr/local/lsws/Example/html/wordpress

      Führen Sie als Nächstes zwei find-Befehle aus, um die richtigen Berechtigungen für die WordPress-Verzeichnisse und -Dateien festzulegen:

      • sudo find /usr/local/lsws/Example/html/wordpress/ -type d -exec chmod 750 {} ;
      • sudo find /usr/local/lsws/Example/html/wordpress/ -type f -exec chmod 640 {} ;

      Diese sollten von Anfang an ein sinnvoller Berechtigungssatz sein, obwohl einige Plugins und Verfahren möglicherweise zusätzliche Anpassungen erfordern.

      Anschließend müssen Sie einige Änderungen an der Hauptkonfigurationsdatei von WordPress vornehmen.

      Wenn Sie die Datei öffnen, ist Ihr erstes Ziel die Anpassung einiger geheimer Schlüssel, um eine gewisse Sicherheit für Ihre Installation zu gewährleisten. WordPress stellt einen sicheren Generator für diese Werte bereit, damit Sie sie sich nicht ausdenken müssen. Sie werden nur intern verwendet, d. h. komplexe, sichere Werte haben keine negativen Auswirkungen auf die Benutzerfreundlichkeit.

      Um sichere Werte vom WordPress Secret Key Generator zu erhalten, geben Sie Folgendes ein:

      • curl -s https://api.wordpress.org/secret-key/1.1/salt/

      Sie werden eindeutige Werte erhalten, die ungefähr so aussehen:

      Warnung! Es ist wichtig, dass Sie jedes Mal eindeutige Werte anfordern. Kopieren Sie NICHT die unten aufgeführten Werte!

      Output

      define('AUTH_KEY', '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H'); define('SECURE_AUTH_KEY', 'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3'); define('LOGGED_IN_KEY', 'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88'); define('NONCE_KEY', 'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g'); define('AUTH_SALT', 'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES 07VC*Lj*lD&?3w!BT#-'); define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY'); define('LOGGED_IN_SALT', 'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|'); define('NONCE_SALT', 'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%');

      Dies sind Konfigurationszeilen, die Sie direkt in Ihre Konfigurationsdatei einfügen, um sichere Schlüssel festzulegen. Kopieren Sie die erhaltene Ausgabe in die Zwischenablage und öffnen Sie dann die WordPress-Konfigurationsdatei, die sich im Stammverzeichnis Ihres Dokuments befindet:

      • sudo nano /usr/local/lsws/Example/html/wordpress/wp-config.php

      Finden Sie den Abschnitt, der die Stellvertreterwerte für diese Einstellungen enthält. Dies sollte ungefähr so aussehen:

      /var/www/wordpress/wp-config.php

      . . .
      
      define('AUTH_KEY',         'put your unique phrase here');
      define('SECURE_AUTH_KEY',  'put your unique phrase here');
      define('LOGGED_IN_KEY',    'put your unique phrase here');
      define('NONCE_KEY',        'put your unique phrase here');
      define('AUTH_SALT',        'put your unique phrase here');
      define('SECURE_AUTH_SALT', 'put your unique phrase here');
      define('LOGGED_IN_SALT',   'put your unique phrase here');
      define('NONCE_SALT',       'put your unique phrase here');
      
      . . .
      

      Löschen Sie diese Zeilen und fügen Sie die Werte ein, die Sie aus der Befehlszeile kopiert haben:

      /var/www/wordpress/wp-config.php

      . . .
      
      define('AUTH_KEY',         'VALUES COPIED FROM THE COMMAND LINE');
      define('SECURE_AUTH_KEY',  'VALUES COPIED FROM THE COMMAND LINE');
      define('LOGGED_IN_KEY',    'VALUES COPIED FROM THE COMMAND LINE');
      define('NONCE_KEY',        'VALUES COPIED FROM THE COMMAND LINE');
      define('AUTH_SALT',        'VALUES COPIED FROM THE COMMAND LINE');
      define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
      define('LOGGED_IN_SALT',   'VALUES COPIED FROM THE COMMAND LINE');
      define('NONCE_SALT',       'VALUES COPIED FROM THE COMMAND LINE');
      
      . . .
      

      Als Nächstes ändern Sie die Einstellungen für die Datenbankverbindung im oberen Abschnitt der Datei. Sie müssen den Datenbanknamen, den Datenbankbenutzer und das zugehörige Passwort, das Sie in MySQL konfiguriert haben, anpassen.

      Die andere Änderung, die Sie vornehmen müssen, ist die Einstellung der Methode, die WordPress zum Schreiben in das Dateisystem verwenden soll. Da wir dem Webserver die Berechtigung erteilt haben, an den erforderlichen Stellen zu schreiben, können wir die Dateisystemmethode ausdrücklich auf direct setzen. Sollte dies nicht mit unseren aktuellen Einstellungen geschehen, würde WordPress bei bestimmten Aktionen nach FTP-Zugangsdaten fragen.

      Diese Einstellung kann unterhalb der Datenbank-Verbindungseinstellungen oder anderswo in der Datei eingefügt werden:

      /var/www/wordpress/wp-config.php

      . . .
      
      define('DB_NAME', 'wordpress');
      
      /** MySQL database username */
      define('DB_USER', 'wordpressuser');
      
      /** MySQL database password */
      define('DB_PASSWORD', 'password');
      
      . . .
      
      define('FS_METHOD', 'direct');
      

      Wenn Sie fertig sind, speichern und schließen Sie die Datei.

      Zu diesem Zeitpunkt ist WordPress auf Ihrem System noch nicht vollständig konfiguriert, da Sie noch einige letzte Handgriffe vornehmen müssen, bevor Sie mit der Veröffentlichung von Inhalten beginnen können. Dafür müssen Sie jedoch zunächst einige Konfigurationsänderungen an Ihrer OpenLiteSpeed-Installation vornehmen.

      Schritt 6 – Konfigurieren von OpenLiteSpeed

      Derzeit haben Sie WordPress auf Ihrem Ubuntu-Server installiert, aber Ihre OpenLiteSpeed-Installation wurde noch nicht für die Bedienung konfiguriert. In diesem Schritt greifen wir auf die Verwaltungsoberfläche von OpenLiteSpeed zu und nehmen einige Änderungen an der Konfiguration Ihres Servers vor.

      Navigieren Sie in Ihrem bevorzugten Webbrowser zur Verwaltungsoberfläche von OpenLiteSpeed. Sie finden diese, indem Sie die öffentliche IP-Adresse Ihres Servers oder den damit verbundenen Domänennamen, gefolgt von :7080, in die Adressleiste Ihres Browsers eingeben:

      https://server_domain_or_IP:7080
      

      Dort wird Ihnen ein Anmeldebildschirm angezeigt. Geben Sie den Benutzernamen und das Passwort ein, das Sie in dem vorbereitenden Tutorial zur OpenLiteSpeed-Installation definiert haben:

      OpenLiteSpeed Anmeldebildschirm

      Suchen Sie in der OpenLiteSpeed-Konsole in der linken Seitenleiste nach Server Configuration und klicken Sie darauf. Navigieren Sie dann zu der Registerkarte External App, suchen Sie die Zeile der LiteSpeed SAPI App und klicken Sie auf die zugehörige Schaltfläche Bearbeiten:

      Server-Konfigurationsseite

      Erinnern Sie sich daran, dass Sie in dem vorbereitenden OpenLiteSpeed-Tutorial das Paket lsphp73 installiert haben, eine Kompilierung von PHP, die für die Arbeit mit OpenLiteSpeed über die LiteSpeed-SAPI optimiert ist. Die Standardeinstellungen auf der Seite External App verweisen jedoch auf lsphp und nicht lsphp73. Aus diesem Grund ist Ihre OpenLiteSpeed-Installation nicht in der Lage, PHP-Skripte korrekt auszuführen.

      Um dies zu korrigieren, ändern Sie das Feld Name auf lsphp73, ändern Sie das Feld Address auf uds://tmp/lshttpd/lsphp73.sock und ändern Sie das Feld Command auf $SERVER_ROOT/lsphp73/bin/lsphp:

      Änderungen an External App

      Klicken Sie auf das Symbol Speichern in der oberen rechten Ecke des LiteSpeed SAPI App-Fensters, nachdem Sie diese Änderungen vorgenommen haben.

      Klicken Sie anschließend im linken Menü auf Virtual Hosts. Suchen Sie auf der Seite Virtual Hosts den virtuellen Host, den Sie verwenden möchten, und klicken Sie auf das Symbol Anzeige. Hier verwenden wir den virtuellen Standardhost Example:

      Seite Virtual Hosts

      Navigieren Sie zu der Registerkarte General des virtuellen Hosts. Finden Sie dort den Abschnitt General und klicken Sie auf die zugehörige Schaltfläche Bearbeiten:

      Virtual Hosts Registerkarte General

      OpenLiteSpeed prüft den Inhalt des Feldes Document Root auf den zu bedienenden Inhalt. Da alle Ihre WordPress-Inhalte und -Dateien in dem zuvor erstellten Verzeichnis wordpress gespeichert sind, aktualisieren Sie das Feld Document Root, um auf dieses Verzeichnis zu verweisen. Dazu müssen Sie lediglich wordpress/ an das Ende des Standardwerts anhängen:

      Virtual Hosts Änderungen an General

      Klicken Sie zum Speichern dieser Änderung auf das Symbol Speichern.

      Nun müssen Sie die Dateien index.php aktivieren, damit sie zur Bearbeitung von Anfragen verwendet werden können, die nicht von statischen Dateien bearbeitet werden. Dies ermöglicht die korrekte Funktionsweise der Hauptlogik von WordPress.

      Blättern Sie, während Sie sich noch auf der Registerkarte General befinden, nach unten, um den Abschnitt Index Files zu finden, und klicken Sie auf das Symbol Bearbeiten:

      Virtual Hosts Seite Index Files

      Stellen Sie in dem Feld Index Files index.html index.php voran. Indem Sie index.php vor index.html setzen, erlauben Sie PHP-Indexdateien den Vorrang. Nach der Aktualisierung dieses Feldes sieht es wie folgt aus:

      Virtual Hosts geänderte Index Files

      Achten Sie darauf, vor dem Fortfahren auf das Symbol Speichern zu klicken.

      Navigieren Sie anschließend zu der Registerkarte Rewrite des virtuellen Hosts. Finden Sie den Abschnitt Rewrite Control und drücken Sie die Schaltfläche Bearbeiten:

      Virtual Hosts Seite Rewrite

      Setzen Sie sowohl die Optionen Enable Rewrite als auch Auto Load from .htaccess auf Yes, indem Sie die jeweiligen Optionsfelder anklicken. Wenn Sie die Rewrite-Anweisungen auf diese Weise konfigurieren, können Sie innerhalb Ihrer WordPress-Installation Permalinks verwenden:

      Virtual Hosts Änderungen an Rewrite

      Klicken Sie nach der Änderung auf das Symbol Speichern.

      Der in der OpenLiteSpeed-Installation enthaltene virtuelle Standardhost enthält einige passwortgeschützte Bereiche, um die Benutzerauthentifizierungsfunktionen von OpenLiteSpeed zu präsentieren. WordPress enthält seine eigenen Authentifizierungsmechanismen und wir werden die in OpenLiteSpeed enthaltene dateibasierte Authentifizierung nicht verwenden. Wir sollten diese entfernen, um die auf unserer WordPress-Installation aktiven verstreuten Konfigurationsfragmente zu minimieren.

      Klicken Sie zuerst auf die Registerkarte Security und anschließend auf die Schaltfläche Löschen neben SampleProtectedArea in der Tabelle Realms List:

      OpenLiteSpeed Security Realm List

      Sie werden aufgefordert, die Löschung zu bestätigen. Klicken Sie zum Fortfahren auf Löschen.

      Klicken Sie anschließend auf die Registerkarte Context. Löschen Sie in der Context List den Inhalt /protected/, der mit dem soeben gelöschten Sicherheitsbereich verbunden war:

      OpenLiteSpeed – Löschen des geschützten Kontexts

      Auch hier müssen Sie die Löschung durch Klicken auf Löschen bestätigen.

      Mit derselben Technik können Sie auch alle oder einen Teil der anderen Kontexte sicher löschen, da wir sie nicht benötigen. Wir haben speziell den Kontext /protected/ gelöscht, weil sonst ein Fehler durch die Löschung des zugehörigen Sicherheitsbereichs (den wir gerade auf der Registerkarte Security entfernt haben) entstehen würde.

      Klicken Sie anschließend auf das grüne Symbol Graceful Restart in der oberen rechten Ecke der OpenLiteSpeed-Konsole. Dadurch wird der OpenLiteSpeed-Server neu gestartet, sodass die von Ihnen vorgenommenen Änderungen angewendet werden:

      Position des Symbols Graceful Restart

      Damit ist Ihr OpenLiteSpeed-Server vollständig konfiguriert. Sie sind jetzt zum Abschluss der Einrichtung von WordPress in Ihrem Browser bereit.

      Schritt 7 – Abschließen der Installation über die WordPress-Oberfläche

      Jetzt ist die Serverkonfiguration abgeschlossen, und wir können die Installation über die Web-Oberfläche abschließen.

      Navigieren Sie im Web-Browser zum Domänenamen oder zur öffentlichen IP-Adresse Ihres Servers:

      http://server_domain_or_IP
      

      Wählen Sie die Sprache aus, die Sie verwenden möchten:

      WordPress-Sprachauswahl

      Als Nächstes kommen Sie zur Setup-Hauptseite. Wählen Sie einen Namen für Ihre WordPress-Website und einen Benutzernamen aus (aus Sicherheitsgründen sollten Sie kein Wort mit „admin“ wählen). Ein starkes Passwort wird automatisch erstellt. Speichern Sie dieses oder wählen Sie anderes starkes Passwort aus.

      Geben Sie Ihre E-Mail-Adresse ein und wählen Sie, ob Sie Suchmaschinen aus der Indexierung Ihrer Site ausschließen wollen:

      WordPress-Setup-Installation

      Wenn Sie bereit sind, klicken Sie auf die Schaltfläche Install WordPress. Sie werden zu einer Seite weitergeleitet, die Sie zur Anmeldung auffordert:

      WordPress-Anmeldung

      Nach der Anmeldung gelangen Sie zum WordPress-Administrations-Dashboard:

      WordPress-Anmeldung

      Vom Dashboard aus können Sie Änderungen am Thema Ihrer Website vornehmen und Inhalte veröffentlichen.

      Zusammenfassung

      Durch die Ausführung dieses Leitfadens haben Sie eine WordPress-Instanz auf einem Ubuntu 18.04-Server, auf dem OpenLiteSpeed ausgeführt wird, installiert und konfiguriert. Einige häufige nächste Schritte sind die Auswahl der Permalink-Einstellungen für Ihre Posts (diese sind unter Einstellungen > Permalinks zu finden) oder die Auswahl eines neuen Designs (in Darstellung > Design). Wenn Sie WordPress das erste Mal verwenden, schauen Sie sich die Oberfläche an, um Ihre neue CMS kennenzulernen.

      Um die Sicherheit Ihrer neuen WordPress-Website zu erhöhen, empfehlen wir Ihnen, sie für die Funktion mit SSL zu konfigurieren, damit sie Inhalte über HTTPS bereitstellen kann. Schauen Sie sich dieses Tutorial aus der OpenLiteSpeed-Dokumentation an, um LetsEncrypt zu installieren und einzurichten.



      Source link

      So installieren und richten Sie WordPress mit LAMP unter Ubuntu 18.04 mithilfe von Ansible ein


      Einführung

      Server-Automatisierung spielt aufgrund der Löschbarkeit von modernen Anwendungsumgebungen eine wesentliche Rolle bei der Systemverwaltung. Konfigurationsverwaltungs-Tools wie Ansible werden üblicherweise verwendet, um den Prozess der automatischen Servereinrichtung zu optimieren, indem Standardverfahren für neue Server festgelegt und menschliche Fehler in Zusammenhang mit manueller Einrichtung reduziert werden.

      Ansible bietet eine einfache Architektur, die keiner speziellen Software für die Installation auf Knoten bedarf. Des Weiteren bietet es eine Reihe stabiler Funktionen und integrierter Module, die das Schreiben von Automatisierungsskripts erleichtern.

      Dieser Leitfaden erklärt, wie Sie die Schritte in unserem Leitfaden So installieren Sie WordPress mit LAMP unter Ubuntu 18.04​​​ automatisieren können. WordPress ist das beliebteste CMS (Content-Management-System) im Internet, das es Benutzern ermöglicht, flexible Blogs und Websites auf einem MySQL-Backend mit PHP-Verarbeitung einzurichten. Nach dem Einrichten kann fast die gesamte Verwaltung vom Web-Frontend aus erfolgen.

      Voraussetzungen

      Für die automatisierte Einrichtung anhand des Playbooks, das wir in diesem Leitfaden besprechen, benötigen Sie Folgendes:

      Gehen Sie zunächst sicher, dass Ihr Ansible-Steuerknoten sich verbinden und Befehle auf Ihrem/Ihren Ansible-Host(s) ausführen kann. Infos zu einem Verbindungstest finden Sie in Schritt 3 unter So installieren und konfigurieren Sie Ansible unter Ubuntu 18.04.

      Welchen Zweck hat dieses Playbook?

      Dieses Ansible-Playbook bietet eine Alternative zur manuellen Ausführung des Verfahrens, das in unserem Leitfaden So installieren Sie WordPress mit LAMP unter Ubuntu 18.04 beschrieben ist.

      Eine Ausführung dieses Playbooks führt die folgenden Aktionen auf Ihren Ansible-Hosts durch:

      1. Installieren Sie aptitude, das von Ansible als Alternative zum Paketmanager apt bevorzugt wird.
      2. Installieren Sie die erforderlichen LAMP-Pakete und PHP-Erweiterungen.
      3. Erstellen und aktivieren Sie einen neuen Apache VirtualHost für die WordPress-Website.
      4. Aktivieren Sie das Apache-Rewrite-Modul (mod_rewrite)​​.
      5. Deaktivieren Sie die Apache-Standard-Website.
      6. Legen Sie das Passwort für den MySQL-Benutzer root fest.
      7. Entfernen Sie anonyme MySQL-Konten und die Testdatenbank.
      8. Erstellen Sie eine neue MySQL-Datenbank und einen Benutzer für die WordPress-Website.
      9. Richten Sie UFW ein, um HTTP-Verkehr auf dem konfigurierten Port (standardmäßig 80) zuzulassen.
      10. Laden Sie WordPress herunter und entpacken Sie es.
      11. Richten Sie eine korrekte Verzeichniseigentümerschaft und korrekte Berechtigungen ein.
      12. Richten Sie die Datei wp-config.php mit der bereitgestellten Vorlage ein.

      Wenn die Ausführung des Playbooks abgeschlossen ist, wird eine WordPress-Installation basierend auf den Optionen, die Sie in Ihren Konfigurationsvariablen definiert haben, auf einer LAMP-Umgebung ausgeführt.

      So verwenden Sie dieses Playbook

      Als Erstes müssen Sie das Playbook WordPress auf LAMP und seine Abhängigkeiten aus dem Repository do-community/ansible-playbooks abrufen. Klonen Sie dieses Repository in einen lokalen Ordner im Ansible-Steuerknoten.

      Falls Sie dieses Repository bereits anhand eines anderen Leitfadens geklont haben, greifen Sie auf Ihre bestehende Kopie von ansible-playbooks​​​ zu und führen Sie den Befehl git pull aus, um sicherzustellen, dass Sie aktualisierten Inhalt haben:

      • cd ~/ansible-playbooks
      • git pull

      Wenn Sie das Repository do-community/ansible-playbooks​​ zum ersten Mal verwenden, klonen Sie zuerst das Repository in Ihren Basisordner mit:

      • cd ~
      • git clone https://github.com/do-community/ansible-playbooks.git
      • cd ansible-playbooks

      Die Dateien, die wir brauchen, befinden sich im Ordner wordpress-lamp_ubuntu1804, der die folgende Struktur hat:

      wordpress-lamp_ubuntu1804
      ├── files
      │   ├── apache.conf.j2
      │   └── wp-config.php.j2
      ├── vars
      │   └── default.yml
      ├── playbook.yml
      └── readme.md
      

      Hier ist eine Beschreibung jeder dieser Dateien:

      • files/apache.conf.j2: Vorlagendatei zur Einrichtung des Apache VirtualHost.
      • files/wp-config.php.j2: Vorlagendatei zum Einrichten der Konfigurationsdatei von WordPress.
      • vars/default.yml: Variablendatei zur Anpassung der Playbook-Einstellungen.
      • playbook.yml: Die Playbook-Datei mit Aufgaben zur Ausführung auf dem/den Remoteserver(n).
      • readme.md: Eine Textdatei mit Informationen über dieses Playbook.

      Bearbeiten Sie die Variablendatei des Playbooks zur Anpassung der Optionen. Greifen Sie auf das Verzeichnis wordpress-lamp_ubuntu1804 zu und öffnen Sie die Datei vars/default.yml mit dem Befehlszeilen-Editor Ihrer Wahl:

      • cd wordpress-lamp_ubuntu1804
      • nano vars/default.yml

      Diese Datei enthält einige Variablen, die Ihrer Aufmerksamkeit bedürfen:

      vars/default.yml

      ---
      #System Settings
      php_modules: [ 'php-curl', 'php-gd', 'php-mbstring', 'php-xml', 'php-xmlrpc', 'php-soap', 'php-intl', 'php-zip' ]
      
      #MySQL Settings
      mysql_root_password: "mysql_root_password"
      mysql_db: "wordpress"
      mysql_user: "sammy"
      mysql_password: "password"
      
      #HTTP Settings
      http_host: "your_domain"
      http_conf: "your_domain.conf"
      http_port: "80"
      

      Die folgende Liste enthält eine kurze Erklärung jeder dieser Variablen und wie Sie diese ändern könnten:

      • php_modules: Ein Array mit PHP-Erweiterungen, die zur Unterstützung Ihrer Einrichtung von WordPress installiert werden sollen. Sie müssen diese Variable nicht ändern, aber Sie könnten neue Erweiterungen in die Liste aufnehmen, wenn Ihre spezifische Einrichtung es erfordert.
      • mysql_root_password: Das gewünschte Passwort für das MySQL-Konto root.
      • mysql_db: Der Name der MySQL-Datenbank, die für WordPress erstellt werden soll.
      • 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: Ihr Domänenname.
      • http_conf: Der Name der Konfigurationsdatei, die in Apache erstellt wird.
      • http_port: HTTP-Port für diesen virtuellen Host, bei dem 80 die Standardeinstellung ist.

      Sobald Sie mit der Aktualisierung der Variablen in vars/default.yml fertig sind, speichern und schließen Sie diese Datei. Wenn Sie nano verwendet haben, drücken Sie STRG+X, Y, dann die EINGABETASTE.

      Sie können dieses Playbook jetzt auf einem oder mehreren Servern ausführen. Die meisten Playbooks werden standardmäßig auf jedem Server in Ihrem Inventar ausgeführt. Sie können das Flag -l verwenden, um sicherzustellen, dass nur eine Teilmenge von Servern oder ein einzelner Server von dem Playbook betroffen ist. Sie können auch das Flag -u verwenden, um anzugeben, welchen Benutzer Sie auf dem Remoteserver für die Verbindung und Ausführung der Playbook-Befehle auf den Remote-Hosts verwenden.

      Um das Playbook nur auf server1 mit Verbindung als sammy auszuführen, können Sie folgenden Befehl verwenden:

      • ansible-playbook playbook.yml -l server1 -u sammy

      Sie erhalten eine Ausgabe, die der folgenden ähnelt:

      Output

      PLAY [all] ***************************************************************************************************************************** TASK [Gathering Facts] ***************************************************************************************************************** ok: [server1] TASK [Install prerequisites] *********************************************************************************************************** ok: [server1] … TASK [Download and unpack latest WordPress] ******************************************************************************************** changed: [server1] TASK [Set ownership] ******************************************************************************************************************* changed: [server1] TASK [Set permissions for directories] ************************************************************************************************* changed: [server1] TASK [Set permissions for files] ******************************************************************************************************* changed: [server1] TASK [Set up wp-config] **************************************************************************************************************** changed: [server1] RUNNING HANDLER [Reload Apache] ******************************************************************************************************** changed: [server1] RUNNING HANDLER [Restart Apache] ******************************************************************************************************* changed: [server1] PLAY RECAP ***************************************************************************************************************************** server1 : ok=22 changed=18 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

      Anmerkung: Weitere Informationen zur Ausführung von Ansible-Playbooks finden Sie in unserem Leitfaden Ansible-Schummelzettel.

      Wenn das Playbook ausgeführt ist, können Sie zu Ihrem Webbrowser gehen, um die Installation von WordPress von dort aus zu beenden.

      Navigieren Sie zu dem Domänennamen oder der öffentlichen IP-Adresse Ihres Servers:

      http://server_host_or_IP
      

      Sie sehen eine Seite wie diese:

      Seite der WordPress-Sprachauswahl

      Nach Auswahl der Sprache, die Sie für Ihre WordPress-Installation verwenden möchten, kommen Sie zum letzten Schritt der Einrichtung Ihres WordPress-Benutzers und -Passworts, damit Sie sich in Ihrem Kontrollfeld anmelden können:

      WordPress-Einrichtung

      Wenn Sie weiter klicken, kommen Sie zu einer Seite, auf der Sie sich anmelden müssen:

      WP-Anmeldeaufforderung

      Nach der Anmeldung gelangen Sie zum WordPress-Administrations-Dashboard:

      WP-Adminbereich

      Einige gängige Schritte zur Anpassung Ihrer WordPress-Installation sind u. a. die Auswahl der Permalink-Einstellung für Ihre Beiträge (in Einstellungen > Permalinks) und die Wahl eines neuen Designs (in Darstellung > Design).

      Der Inhalt des Playbooks

      Sie finden die Server-Einrichtung für WordPress auf LAMP in diesem Tutorial im Ordner wordpress-lamp_ubuntu1804​​​ im Repository DigitalOcean Community Playbooks. Klicken Sie zum direkten Kopieren oder Herunterladen des Skript-Inhalts auf die Schaltfläche Raw im oberen Bereich jedes Skripts.

      Der vollständige Inhalt des Playbooks sowie seine zugehörigen Dateien finden Sie ebenfalls hier.

      vars/default.yml

      Die Variablendatei default.yml enthält Werte, die in den Playbook-Aufgaben verwendet werden, wie z. B. Datenbank-Einstellungen und den Domänennamen für die Konfiguration mit Apache.

      vars/default.yml

      #System Settings
      php_modules: [ 'php-curl', 'php-gd', 'php-mbstring', 'php-xml', 'php-xmlrpc', 'php-soap', 'php-intl', 'php-zip' ]
      
      #MySQL Settings
      mysql_root_password: "mysql_root_password"
      mysql_db: "wordpress"
      mysql_user: "sammy"
      mysql_password: "password"
      
      #HTTP Settings
      http_host: "your_domain"
      http_conf: "your_domain.conf"
      http_port: "80"
      

      files/apache.conf.j2

      Die Datei apache.conf.j2 ist eine Jinja 2-Vorlagendatei, die einen neuen Apache VirtualHost konfiguriert. Die in dieser Vorlage verwendeten Variablen sind in der Variablendatei vars/default.yml definiert.

      files/apache.conf.j2

      <VirtualHost *:{{ http_port }}>
         ServerAdmin webmaster@localhost
         ServerName {{ http_host }}
         ServerAlias www.{{ http_host }}
         DocumentRoot /var/www/{{ http_host }}
         ErrorLog ${APACHE_LOG_DIR}/error.log
         CustomLog ${APACHE_LOG_DIR}/access.log combined
      
         <Directory /var/www/{{ http_host }}>
               Options -Indexes
         </Directory>
      
         <IfModule mod_dir.c>
             DirectoryIndex index.php index.html index.cgi index.pl  index.xhtml index.htm
         </IfModule>
      
      </VirtualHost>
      

      files/wp-config.php.j2

      Die Datei wp-config.php.j2 ist eine weitere Jinja-Vorlage für die Einrichtung der Hauptkonfigurationsdatei, die von WordPress verwendet wird. Die in dieser Vorlage verwendeten Variablen sind in der Variablendatei vars/default.yml definiert. Eindeutige Authentifizierungsschlüssel und Salts werden mit einer Hash-Funktion generiert.

      files/info.php.j2

      <?php
      /**
       * The base configuration for WordPress
       *
       * The wp-config.php creation script uses this file during the
       * installation. You don't have to use the web site, you can
       * copy this file to "wp-config.php" and fill in the values.
       *
       * This file contains the following configurations:
       *
       * * MySQL settings
       * * Secret keys
       * * Database table prefix
       * * ABSPATH
       *
       * @link https://codex.wordpress.org/Editing_wp-config.php
       *
       * @package WordPress
       */
      
      // ** MySQL settings - You can get this info from your web host ** //
      /** The name of the database for WordPress */
      define( 'DB_NAME', '{{ mysql_db }}' );
      
      /** MySQL database username */
      define( 'DB_USER', '{{ mysql_user }}' );
      
      /** MySQL database password */
      define( 'DB_PASSWORD', '{{ mysql_password }}' );
      
      /** MySQL hostname */
      define( 'DB_HOST', 'localhost' );
      
      /** Database Charset to use in creating database tables. */
      define( 'DB_CHARSET', 'utf8' );
      
      /** The Database Collate type. Don't change this if in doubt. */
      define( 'DB_COLLATE', '' );
      
      /** Filesystem access **/
      define('FS_METHOD', 'direct');
      
      /**#@+
       * Authentication Unique Keys and Salts.
       *
       * Change these to different unique phrases!
       * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
       * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
       *
       * @since 2.6.0
       */
      define( 'AUTH_KEY',         '{{ lookup('password', '/dev/null chars=ascii_letters length=64') }}' );
      define( 'SECURE_AUTH_KEY',  '{{ lookup('password', '/dev/null chars=ascii_letters length=64') }}' );
      define( 'LOGGED_IN_KEY',    '{{ lookup('password', '/dev/null chars=ascii_letters length=64') }}' );
      define( 'NONCE_KEY',        '{{ lookup('password', '/dev/null chars=ascii_letters length=64') }}' );
      define( 'AUTH_SALT',        '{{ lookup('password', '/dev/null chars=ascii_letters length=64') }}' );
      define( 'SECURE_AUTH_SALT', '{{ lookup('password', '/dev/null chars=ascii_letters length=64') }}' );
      define( 'LOGGED_IN_SALT',   '{{ lookup('password', '/dev/null chars=ascii_letters length=64') }}' );
      define( 'NONCE_SALT',       '{{ lookup('password', '/dev/null chars=ascii_letters length=64') }}' );
      
      /**#@-*/
      
      /**
       * WordPress Database Table prefix.
       *
       * You can have multiple installations in one database if you give each
       * a unique prefix. Only numbers, letters, and underscores please!
       */
      $table_prefix = 'wp_';
      
      /**
       * For developers: WordPress debugging mode.
       *
       * Change this to true to enable the display of notices during development.
       * It is strongly recommended that plugin and theme developers use WP_DEBUG
       * in their development environments.
       *
       * For information on other constants that can be used for debugging,
       * visit the Codex.
       *
       * @link https://codex.wordpress.org/Debugging_in_WordPress
       */
      define( 'WP_DEBUG', false );
      
      /* That's all, stop editing! Happy publishing. */
      
      /** Absolute path to the WordPress directory. */
      if ( ! defined( 'ABSPATH' ) ) {
          define( 'ABSPATH', dirname( __FILE__ ) . '/' );
      }
      
      /** Sets up WordPress vars and included files. */
      require_once( ABSPATH . 'wp-settings.php' );
      
      

      playbook.yml

      Alle Aufgaben dieser Einrichtung sind in der Datei playbook.yml definiert. Am Anfang werden die Gruppen von Servern definiert, die das Ziel dieser Einrichtung (all) sein sollen. Anschließend wird mit become: true definiert, dass Aufgaben standardmäßig mit Rechteausweitung (sudo) ausgeführt werden sollen. Dann enthält es die Variablendatei vars/default.yml, um Konfigurationsoptionen zu laden.

      playbook.yml

      ---
      - hosts: all
        become: true
        vars_files:
          - vars/default.yml
      
        tasks:
          - name: Install prerequisites
            apt: name=aptitude update_cache=yes state=latest force_apt_get=yes
            tags: [ system ]
      
          - name: Install LAMP Packages
            apt: name={{ item }} update_cache=yes state=latest
            loop: [ 'apache2', 'mysql-server', 'python3-pymysql', 'php', 'php-mysql', 'libapache2-mod-php' ]
            tags: [ system ]
      
          - name: Install PHP Extensions
            apt: name={{ item }} update_cache=yes state=latest
            loop: "{{ php_modules }}"
            tags: [ system ]
      
        # Apache Configuration
          - name: Create document root
            file:
              path: "/var/www/{{ http_host }}"
              state: directory
              owner: "www-data"
              group: "www-data"
              mode: '0755'
            tags: [ apache ]
      
          - name: Set up Apache VirtualHost
            template:
              src: "files/apache.conf.j2"
              dest: "/etc/apache2/sites-available/{{ http_conf }}"
            notify: Reload Apache
            tags: [ apache ]
      
          - name: Enable rewrite module
            shell: /usr/sbin/a2enmod rewrite
            notify: Reload Apache
            tags: [ apache ]
      
          - name: Enable new site
            shell: /usr/sbin/a2ensite {{ http_conf }}
            notify: Reload Apache
            tags: [ apache ]
      
          - name: Disable default Apache site
            shell: /usr/sbin/a2dissite 000-default.conf
            notify: Restart Apache
            tags: [ apache ]
      
        # MySQL Configuration
          - name: Set the root password
            mysql_user:
              name: root
              password: "{{ mysql_root_password }}"
              login_unix_socket: /var/run/mysqld/mysqld.sock
            tags: [ mysql, mysql-root ]
      
          - name: Remove all anonymous user accounts
            mysql_user:
              name: ''
              host_all: yes
              state: absent
              login_user: root
              login_password: "{{ mysql_root_password }}"
            tags: [ mysql ]
      
          - name: Remove the MySQL test database
            mysql_db:
              name: test
              state: absent
              login_user: root
              login_password: "{{ mysql_root_password }}"
            tags: [ mysql ]
      
          - name: Creates database for WordPress
            mysql_db:
              name: "{{ mysql_db }}"
              state: present
              login_user: root
              login_password: "{{ mysql_root_password }}"
            tags: [ mysql ]
      
          - name: Create MySQL user for WordPress
            mysql_user:
              name: "{{ mysql_user }}"
              password: "{{ mysql_password }}"
              priv: "{{ mysql_db }}.*:ALL"
              state: present
              login_user: root
              login_password: "{{ mysql_root_password }}"
            tags: [ mysql ]
      
        # UFW Configuration
          - name: "UFW - Allow HTTP on port {{ http_port }}"
            ufw:
              rule: allow
              port: "{{ http_port }}"
              proto: tcp
            tags: [ system ]
      
        # WordPress Configuration
          - name: Download and unpack latest WordPress
            unarchive:
              src: https://wordpress.org/latest.tar.gz
              dest: "/var/www/{{ http_host }}"
              remote_src: yes
              creates: "/var/www/{{ http_host }}/wordpress"
            tags: [ wordpress ]
      
          - name: Set ownership
            file:
              path: "/var/www/{{ http_host }}"
              state: directory
              recurse: yes
              owner: www-data
              group: www-data
            tags: [ wordpress ]
      
          - name: Set permissions for directories
            shell: "/usr/bin/find /var/www/{{ http_host }}/wordpress/ -type d -exec chmod 750 {} \;"
            tags: [ wordpress ]
      
          - name: Set permissions for files
            shell: "/usr/bin/find /var/www/{{ http_host }}/wordpress/ -type f -exec chmod 640 {} \;"
            tags: [ wordpress ]
      
          - name: Set up wp-config
            template:
              src: "files/wp-config.php.j2"
              dest: "/var/www/{{ http_host }}/wordpress/wp-config.php"
            tags: [ wordpress ]
      
        handlers:
          - name: Reload Apache
            service:
              name: apache2
              state: reloaded
      
          - name: Restart Apache
            service:
              name: apache2
              state: restarted
      

      Sie können diese Dateien an Ihre individuellen Bedürfnisse in Ihrem Workflow anpassen.

      Zusammenfassung

      In diesem Leitfaden haben wir den Prozess der Installation und Einrichtung einer WordPress-Website mit LAMP auf einem Ubuntu-18.04-Server automatisiert.

      Wenn Sie weitere Aufgaben in dieses Playbook aufnehmen möchten, um Ihre Servereinrichtung weiter anzupassen, finden Sie diesbezügliche Informationen in unserer Ansible-Einführung Grundlagen des Konfigurationsmanagements: Ansible-Playbooks schreiben.



      Source link

      How to Migrate Your WordPress Website to DreamHost (In 6 Steps)


      Choosing a web host is typically one of the first decisions you’ll make when setting up your website. However, over time you may come to regret your choice of provider. If this happens, you’ll be faced with the prospect of migrating your website from one host to another.

      Fortunately, that process is more straightforward than it might first appear. This is especially true if you’re moving your WordPress site to a host that will provide a better, safer home for it — like DreamHost! What’s more, this can be done in just a few steps, thanks to our new Automated Migration plugin.

      In this article, we’ll show you how to easily migrate your site to DreamHost in six steps using our plugin. We can’t wait to show you how it works, so let’s dive right in! 

      Easily Migrate Your WordPress Site

      Leave your current hosting hassles behind and get back to focusing on what matters most. Move to DreamHost today with our free, automated migration plugin.

      Why You Might Want to Migrate Your WordPress Website

      DreamHost WordPress hosting plans.
      DreamHost hosting plans provide excellent performance and useful features.

      When we talk about migrating your website, we mean moving it from one web host to another. Typically, one of the first things you’ll do when creating a new site is to sign up with your chosen hosting provider. 

      Typically, they’ll take care of getting your site online, so people are actually able to visit it.
      However, if you decide you want to move your site to a different host after it’s been functioning for a while, you’ll need to migrate all your files and database information. 

      There are many reasons why you might want to migrate your WordPress site to a different host, including:

      • Your website has grown over time, and you need more options, functionality, or space to keep up with it
      • Your current host doesn’t provide the security features or support options you’re looking for
      • Your site is experiencing poor performance or a lot of downtime

      If you feel it’s time for a change, whether due to the above reasons or something else entirely, your first step will be to find a new host that’s a better fit. You should look for one providing excellent performance and uptime, plenty of flexibility and “scalable” options, and top-notch security and support.

      Here at DreamHost, we offer hosting plans that meet all of these criteria and more. You can choose from affordable shared hosting packages, or opt for DreamPress — a fully-managed solution. Either way, you’ll benefit from great performance, lots of useful, WordPress-specific features, and expert support.

      Best of all, migrating your site to DreamHost is a simple process when you use our Automated Migration plugin. 

      Introducing DreamHost Automated Migration

      “The DreamHost Automated Migration plugin.”

      If you’ve decided to migrate your WordPress website, you have several options. As we mentioned above, you can often have your new host take care of the process for you. Advanced users may be interested in manual migration options, such as using WP-CLI. However, in many cases, the simplest option is to use a plugin.

      That’s why we worked with the team over at BlogVault to create a tool specifically designed to help you migrate your site to DreamHost. With DreamHost Automated Migration, not only do you get the ease of using a plugin, but you also know that your migration will be tailored to our hosting services. This also means you won’t have to take the extra step of cloning your website before you move it. 

      Key Features:

      • Enables you to move or migrate your WordPress site to DreamHost.
      • Lets you copy your files and database over to your new hosting account without cloning your site separately.
      • Only requires six simple steps, from installation to migration.

      This really is the simplest way to migrate your website and know that it will fit right into your DreamHost account. 

      Pricing: The DreamHost Automated Migration plugin is available for free to DreamHost account holders. This means that if you’ve recently switched to DreamHost or are considering it, your migration process just got easier and a whole lot more budget-friendly!

      How to Migrate Your WordPress Website to DreamHost (In 6 Steps)

      Now that we’ve covered the basics, it’s time to discuss how to actually perform your site migration. The six steps below will help you move your site from your current hosting provider to your new DreamHost plan.

      Step 1: Prepare for the Migration Process

      Migrating your site to DreamHost (or any web host) is a fairly simple process. However, there are a few tasks you’ll want to take care of before proceeding:

      1. Make sure you’ve updated your WordPress installation to the most recent version. 
      2. Check your themes and plugins to ensure that they’ve all been updated or deleted if no longer in use. 
      3. Choose and purchase a DreamHost plan, or add hosting to your existing DreamHost domain

      After you have all of the above items in place, you’re ready to get started! 

      Step 2: Locate Your Migration Key in Your DreamHost Account

      Once you’ve established your account, log into your user panel and navigate to the Free Migration tab directly from your Home page.

      “Accessing free migration tools in your DreamHost user panel.”

      There, you’ll see where you can click on Generate Migration Key. You’ll need this to complete the migration process. Once you select it, your key will appear below the button.

      “Where to locate your migration key in a shared plan user panel.”

      You’ll need this information for the next step, so it’s best to leave your browser tab open for easy access. It’s important to note that the migration key generator is not available on Virtual Private Servers (VPSs) or dedicated hosting plans. Keys can be requested by contacting our support team or you can manually enter your host details.

      If you have a shared plan where you host more than one website, you may not see the generator in your account. If that’s the case, you’ll need to contact our support team to request your migration key or any additional keys you may need. 

      Locating Your Migration Key in DreamPress Accounts

      It’s important to note that for DreamPress accounts, this process is the same, but your migration option will be located in a different place. In your user panel, you’ll go to WordPress > Managed WordPress in the left-hand menu. You’ll then find a Migration tab among your options.

      “Locating the migration options in a DreamPress account.”

      Next, you’ll see the Generate Migration Key button. Click on this, and you’ll receive your unique key to be used during the migration process. This is the key our plugin needs to access and move your site’s files and database. 

      It’s recommended that you leave this page of your user panel open, and head over to your WordPress website by opening another browser tab. 

      Step 3: Install the Free DreamHost Automated Migration Plugin

      In your WordPress website dashboard, navigate to Plugins > Add New and use the Search field to find the DreamHost Automated Migration plugin.

      “The DreamHost Automated Migration plugin for WordPress.”

      Click on Install Now, and then Activate the plugin once the installation is complete. 

      Step 4: Use Your Migration Key to Start Your Migration

      You’ll recall that we recommended leaving your DreamHost user panel open in another tab. Now you’ll go back to that tab, copy your migration key, and head back to WordPress.

      You’ll see a DreamHost option in your left-hand menu. Click on that, and you’ll be able to add your migration key.

      “The Automated Migration plugin interface.”

      Paste the migration key from your DreamHost account into the Migration Token field. You’ll need to agree to our partner BlogVault’s Terms of Service as well. Once you check that box, click on Migrate.

      Step 5: Track the Progress of Your Migration

      Next, you can either wait for an email from the DreamHost team or watch the progress of the migration in your WordPress dashboard. This will let you know when your migration is complete.

      "Monitoring the migration process.” 

      Additionally, if there are any issues with your migration, you’ll receive the relevant information on this screen.

      Step 6: Update Your DNS Records

      Once you receive notice that your site has been successfully migrated, you should review it within your DreamHost account. If your domain is the same at DreamHost and your old host, you can review this by adding “dream.website” to the end of your DreamHost domain. If you’ll be using a different domain name at DreamHost or are using a temporary subdomain, visit our knowledge base for additional steps.

      You’ll also want to make sure that your domain is pointing to your newly-migrated website. This means updating your Domain Name System (DNS) information. 

      You can find DreamHost’s DNS address by going to Domains in your user panel and clicking on DNS underneath your domain.

      “Finding DNS information in the DreamHost user panel.”

      Providing this DNS information to your existing domain registrar will ensure that your domain is pointed at the correct web content, now hosted with us at DreamHost.

      That’s it! Your migrated site should now be up and running. It’s a smart idea to test your new site thoroughly and make sure everything has been transferred correctly. Then you can delete your old site, and enjoy your new quality hosting with DreamHost.

      Make Your Move

      Whether you need help migrating a website, installing WordPress, or vetting web hosting plans, we can help! Subscribe to our monthly digest so you never miss an article.

      It’s Simple to Switch Web Hosts

      Migrating your website to a new host might be a bit of a hassle, but it can be well worth it in the long run. If your current host isn’t up to par, you’ll want to switch to a new host that provides the performance, stability, and security your site needs to thrive. Plus, WordPress users will find that the process can be handled easily using our own Automated Migration plugin



      Source link