Schritt-für-Schritt-Anleitung zum Einrichten von WordPress auf einer Amazon EC2 (AWS)-Linux-Instance
Veröffentlicht: 2017-05-25Amazon Elastic Compute Cloud ( Amazon EC2 ) ist ein Cloud-Service, der anpassbare Rechenkapazität in der Cloud bereitstellt. Es wurde für Entwickler entwickelt, um ihre Webanwendung besser zu skalieren und zu überwachen.
Amazon EC2 bietet einige erweiterte Funktionen wie elastische IPs, Load Balancing, verschiedene Plattformen wie (Linux, Windows usw.), Skalierung, Überwachung usw. Es ist auch für Entwickler einfach, ihre Webanwendung besser zu verwalten.
Das Hosten WordPress on AWS
ist eine kluge Wahl, da Amazon im Vergleich zu anderen VPS-Anbietern niedrige Preise, mehr Funktionen und andere damit verbundene erstaunliche Dienste bietet. Außerdem berechnen sie Ihnen die Stunden, in denen Ihre Instanz ausgeführt wird.
In diesem Tutorial zeige ich Ihnen also, wie Sie die LAMP-Umgebung auf der Linux-Plattform einrichten und den WordPress-Blog manuell auf der Amazon EC2-Instance installieren können.
Diese Schritt-für-Schritt-Anleitung hilft Ihnen, Ihren Host vollständig zu verwalten, was sich von cPanel unterscheidet.
1. Erstellen Sie ein AWS-Konto
Zunächst müssen Sie Ihr AWS-Konto erstellen. Unter diesem Link können Sie sich anmelden. Sie müssen eine Kreditkarte oder eine internationale Debitkarte und eine Telefonnummer angeben, unter der Sie im Rahmen des Online-Registrierungsüberprüfungsprozesses gemäß deren Bedingungen und Richtlinien angerufen werden.
Ihre Kredit- oder Debitkarte wird mit einem geringen Wert belastet und nach Überprüfung erstattet. Amazon bietet eine kostenlose Nutzungsstufe an, auf der wir WordPress installieren, was großartig ist, um die Dienste zu erkunden und sogar echte Apps zu hosten, ohne dass dafür ein einziger Cent berechnet wird.
2. Erstellen Sie eine Instanz
Nach der Registrierung stehen Ihnen viele Optionen zur Verfügung und dann haben Sie wahrscheinlich diese Frage im Kopf: Which type of instance should I choose
?
Wenn Sie einen neuen Blog haben, können Sie die EC2 micro instance
wählen, die mehr als 200 Echtzeitdatenverkehr verarbeiten kann.
Es hat auch eine attraktive Preisstruktur, aber wenn Sie Ihr bestehendes Blog migrieren und mehr als tausend Traffic pro Tag haben, müssen Sie eine kleine Instanz wählen, die diesen Traffic sehr einfach bewältigen kann.
Um eine neue Instance zu erstellen, greifen Sie auf die AWS Management Console zu und klicken Sie auf die Registerkarte EC2:
- Wählen Sie im klassischen Instanzassistenten ein AMI aus:
- Ich habe mich für das Basic 64-Bit Ubuntu Server Amazon Linux AMI entschieden.
- Instanzdetails:
- Wählen Sie den Instance-Typ aus, den Sie verwenden möchten. Ich habe Small (m5a.small) gewählt.
- Erstellen Sie ein neues Schlüsselpaar.
- Geben Sie einen Namen für Ihr Schlüsselpaar ein (z. B. crunchify) und laden Sie Ihr Schlüsselpaar herunter (z. B.
crunchify.pem
).
- Geben Sie einen Namen für Ihr Schlüsselpaar ein (z. B. crunchify) und laden Sie Ihr Schlüsselpaar herunter (z. B.
- Wählen Sie die Schnellstart-Sicherheitsgruppe aus.
- Starten Sie Ihre Instanz.
3. SSH in Ihre Instanz
Sobald die Einrichtung Ihrer Instanz abgeschlossen ist und angezeigt wird, dass die Instanz ausgeführt wird, können Sie ssh
darauf zugreifen.
- Zunächst müssen Sie die IP-Adresse (öffentliches DNS) Ihrer Instanz identifizieren:
- Wählen Sie die Instance in der AWS Management Console aus.
- Suchen Sie in der Instanzbeschreibung (unterer Teil des Bildschirms) nach dem öffentlichen DNS.
Verwenden Sie diese Adresse (und einen Pfad zu Ihrer .pem-Datei), um per SSH in Ihre Instanz zu gelangen:
1 |
ssh ec2 - user @ ec2 - 50 - 17 - 15 - 27.compute - 1.amazonaws.com - i ~ / crunchify . pem |
Wenn Sie ein Windows-System verwenden, sollten Sie Putty für die Verbindung als SSH verwenden. Sie können sich mit Putty verbinden, indem Sie diesem Artikel folgen.
Wenn Sie eine Fehlermeldung erhalten, dass Ihre .pem-Dateiberechtigungen zu offen sind, ändern Sie Ihre .pem-Datei wie folgt:
1 |
[ ec2 - user ~ ] $ chmod 600 ~ / crunchify . pem |
In diesem Lernprogramm müssen Sie viele Shell-Befehle ausführen, und die meisten Befehle erfordern Root-Zugriff. Um dies zu vermeiden, werden wir diesen allen Befehlen sudo voranstellen, indem wir den Benutzer ein für alle Mal mit diesem Befehl wechseln.
1 |
[ ec2 - user ~ ] $ sudo su |
4. Installieren Sie den Apache-Webserver, um PHP auszuführen
Um den Apache-Webserver zu installieren, geben Sie terminal ein:
1 2 3 4 |
[ ec2 - user ~ ] $ sudo yum - y install python - simplejson # Install PHP latest version [ ec2 - user ~ ] $ sudo yum update # System wide upgrade [ ec2 - user ~ ] $ sudo yum install - y default - jre # Install Java (just to be safe) [ ec2 - user ~ ] $ sudo yum install httpd # Install HTTPD server |
Starten Sie den Apache-Webserver:
1 |
[ ec2 - user ~ ] $ service httpd start |
Öffnen Sie nach der Einrichtung zum Testen Ihres Webservers einen Browser und greifen Sie auf Ihre Website zu:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com |
(Verwenden Sie Ihren tatsächlichen öffentlichen DNS-Namen). Sie sollten eine standardmäßige Amazon-Platzhalter-Standardseite sehen.
5. Installieren Sie PHP, um WordPress auszuführen
Um PHP zu installieren, geben Sie Terminal ein:
1 |
[ ec2 - user ~ ] $ yum install php php - mysql |
Nach erfolgreicher Installation von php starten Sie den Apache Webserver neu:
1 |
[ ec2 - user ~ ] $ service httpd restart |
Erstellen Sie eine Seite, um Ihre PHP-Installation zu testen:
1 2 |
[ ec2 - user ~ ] $ cd / var / www / html [ ec2 - user ~ ] $ vi test . php |
- Geben Sie
i
ein, um den Einfügemodus zu starten -
<?php phpinfo() ?>
-
:wq
ein, um die Datei zu schreiben und vi zu beenden
Öffnen Sie einen Browser und greifen Sie auf test.php zu, um Ihre PHP-Installation zu testen:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com/test.php |
(Verwenden Sie Ihren öffentlichen DNS-Namen)
6. Installieren Sie MySQL zum Hinzufügen einer Datenbank
Um MySQL zu installieren, geben Sie Folgendes ein:
1 |
[ ec2 - user ~ ] $ yum install mysql - server |
MySQL starten:
1 |
[ ec2 - user ~ ] $ service mysqld start |
Erstellen Sie Ihre „Blog“-Datenbank:
1 |
[ ec2 - user ~ ] $ mysqladmin - u root create blog |
Sichern Sie Ihre Datenbank:
1 |
[ ec2 - user ~ ] $ mysql_secure_installation |
Beantworten Sie die Fragen des Assistenten wie folgt:
- Geben Sie das aktuelle Passwort für root ein: Drücken Sie die Eingabetaste für keins
- Root-Passwort ändern: Y
- Neues Passwort: Geben Sie Ihr neues Passwort ein
- Anonymen Benutzer entfernen: Y
- Root-Anmeldung aus der Ferne verbieten: Y
- Testdatenbank entfernen und Zugriff darauf: Y
- Berechtigungstabellen jetzt neu laden: Y
7. WordPress installieren
Geben Sie Folgendes ein, um WordPress zu installieren:
1 2 |
[ ec2 - user ~ ] $ cd / var / www / html [ ec2 - user ~ ] $ wget http : //wordpress.org/latest.tar.gz |
So dekomprimieren Sie den Dateityp tar.gz:

1 |
[ ec2 - user ~ ] $ tar - xzvf latest . tar . gzcd |
Dadurch wird WordPress in seinem eigenen WordPress
Verzeichnis dekomprimiert.
Ich mag es, WordPress in einem separaten Verzeichnis zu haben, würde es aber lieber in „blog“ umbenennen, wenn Sie es in einer Subdomain wie „http://your-site.com/blog“ installieren möchten:
1 |
[ ec2 - user ~ ] $ mv wordpress blog |
Andernfalls verschieben Sie alle Dateien in den übergeordneten Ordner, indem Sie Folgendes eingeben:
1 |
[ ec2 - user ~ ] $ mv * . * . . |
Erstellen Sie die WordPress-Datei wp-config.php:
1 2 3 |
[ ec2 - user ~ ] $ cd blog [ ec2 - user ~ ] $ mv wp - config - sample . php wp - config . php [ ec2 - user ~ ] $ vi wp - config . php |
- Geben Sie
i
ein, um den Einfügemodus zu starten.
Ändern Sie die Datenbankverbindungsparameter wie folgt:
1 2 3 4 |
define ( ‘ DB_NAME ’ , ‘ blog ’ ) ; define ( ‘ DB_USER ’ , ‘ root ’ ) ; define ( ‘ DB_PASSWORD ’ , ‘ YOUR_PASSWORD ’ ) ; define ( ‘ DB_HOST ’ , ‘ localhost ’ ) ; |
- Dann einmal
esc
-
:wq
ein, um die Datei zu schreiben und vi zu beenden
Öffnen Sie einen Browser und greifen Sie auf Ihr Blog zu:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com/blog (Use your public DNS name). |
Dies sollte den WordPress-Installationskonfigurationsprozess öffnen.
TIPP: Um WordPress die Verwendung von Permalinks zu erlauben
WordPress-Permalinks müssen Apache .htaccess-Dateien verwenden, um ordnungsgemäß zu funktionieren, aber dies ist standardmäßig nicht auf Amazon Linux aktiviert. Verwenden Sie dieses Verfahren, um alle Außerkraftsetzungen im Apache-Dokumentstamm zuzulassen.
Öffnen Sie die Datei httpd.conf mit Ihrem bevorzugten Texteditor (z. B. nano oder vim). Wenn Sie keinen bevorzugten Texteditor haben, ist Nano für Anfänger viel einfacher zu verwenden.
1 |
[ ec2 - user wordpress ] $ sudo vim / etc / httpd / conf / httpd . conf |
Suchen Sie den Abschnitt, der mit <Verzeichnis „ /var/www/html
„> beginnt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
< Directory "/var/www/html" > # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Require all granted < / Directory > |
Ändern Sie die Zeile AllowOverride None
im obigen Abschnitt in AllowOverride All
.
Notiz:
Diese Datei enthält mehrere AllowOverride
Zeilen; Stellen Sie sicher, dass Sie die Zeile im Abschnitt <Directory "/var/www/html"
> ändern.
1 |
AllowOverride All |
- Speichern Sie die Datei und beenden Sie Ihren Texteditor.
8. Ordnen Sie die IP-Adresse und den Domänennamen zu
Um Ihr Blog in der Produktion zu verwenden, müssen Sie:
- Ordnen Sie Ihrer Instanz eine IP-Adresse zu
- Ordnen Sie Ihren Domainnamen dieser IP-Adresse zu
- So ordnen Sie Ihrer Instanz eine IP-Adresse zu:
Schritte:
- Klicken Sie in der AWS Management Console auf Elastic IPs (linke Navigationsleiste)
- Klicken Sie auf Neue Adresse zuweisen und bestätigen Sie mit einem Klick auf die Schaltfläche „Ja, zuweisen“.
- Klicken Sie mit der rechten Maustaste auf die neu zugewiesene IP-Adresse und wählen Sie im Popup-Menü „Verknüpfen“. Wählen Sie die gerade erstellte Instanz aus und klicken Sie auf „Ja, zuordnen“.
- Um Ihren Domainnamen Ihrer IP-Adresse zuzuordnen, müssen Sie die von Ihrem Domain-Registrar bereitgestellten Tools verwenden.
- Wenn Sie GoDaddy verwenden, geben Sie NS73.DOMAINCONTROL.COM und NS74.DOMAINCONTROL.COM als Nameserver für Ihre Domäne an und verwenden Sie den DNS-Manager, um den A-Eintrag zu ändern und auf Ihre IP-Adresse zu verweisen.
- Sobald alles richtig konfiguriert und zugeordnet ist, greifen Sie auf die allgemeinen Einstellungen in der WordPress-Verwaltungskonsole zu und stellen Sie sicher, dass die WordPress-Adresse und die Site-Adresse mit Ihrem Domainnamen korrekt angegeben sind
Andere Methode: Um die URL Ihrer WordPress-Site mit dem wp-cli zu ändern
Notieren Sie sich die alte Site-URL und die neue Site-URL für Ihre Instanz. Die alte Site-URL ist wahrscheinlich der öffentliche DNS-Name für Ihre EC2-Instance, als Sie WordPress installiert haben. Die neue Site-URL ist der aktuelle öffentliche DNS-Name für Ihre EC2-Instance.
Wenn Sie sich Ihrer alten Site-URL nicht sicher sind, können Sie sie mit dem folgenden Befehl mit curl finden.
1 |
[ ec2 - user ~ ] $ curl localhost | grep wp - content |
Sie sollten in der Ausgabe Verweise auf Ihren alten öffentlichen DNS-Namen sehen, der so aussehen wird (alte Site-URL in Rot):
1 |
<script type = 'text/javascript' src = http : //ec2-50-17-15-27.compute-1.amazonaws.com/blog/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script> |
Laden Sie die wp-cli mit dem folgenden Befehl herunter.
1 |
[ ec2 - user ~ ] $ curl - O https : //raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar |
Suchen und ersetzen Sie die alte Site-URL in Ihrer WordPress-Installation mit dem folgenden Befehl. Ersetzen Sie die alten und neuen Site-URLs für Ihre EC2-Instance und den Pfad zu Ihrer WordPress-Installation (normalerweise /var/www/html
oder /var/www/html/blog
).
1 |
[ ec2 - user ~ ] $ php wp - cli . phar search - replace 'old_site_url' 'new_site_url' -- path =/ path / to / wordpress / installation -- skip - columns = guid |
Geben Sie in einem Webbrowser die neue Website-URL Ihres WordPress-Blogs ein, um zu überprüfen, ob die Website wieder ordnungsgemäß funktioniert.
Das ist es.
Sie haben die LAMP-Umgebung erfolgreich erstellt und WordPress auf Amazon EC2 installiert. Wenn Sie irgendeine Art von Fehler erhalten oder bei einer Aufgabe stecken geblieben sind, teilen Sie uns dies bitte mit, indem Sie hier einen Kommentar hinterlassen.
Wir werden unser Bestes versuchen, um eine Lösung für Ihr Problem bereitzustellen.