Free Tier: WordPress auf einer Ubuntu-Instanz installieren

In diesem Tutorial richten Sie mit einem Oracle Cloud Infrastructure Free Tier-Account eine Ubuntu-Instanz ein. Als Nächstes installieren Sie einen Apache-Webserver, PHP 8, MySQL und schließlich WordPress. Nach der Installation greifen Sie über das Internet auf die neue WordPress-Installation zu. Dieses Tutorial enthält alle erforderlichen Schritte zum Einrichten eines virtuellen Netzwerks, einer Compute-Instanz und zum Verbinden des Hosts mit dem Internet.

Zu den wichtigsten Aufgaben gehören:

  • Richten Sie ein Compartment für Ihre Entwicklungsarbeit ein.
  • Installieren Sie eine Ubuntu Linux-Instanz, und verbinden Sie sie mit einem virtuellen Cloud-Netzwerk (VCN).
    • Richten Sie ein virtuelles Cloud-Netzwerk in Oracle Cloud Infrastructure und zugehörige Netzwerkservices ein, die für die Verbindung eines Hosts mit dem Internet erforderlich sind.
    • Richten Sie SSH-Verschlüsselungsschlüssel für den Zugriff auf den Ubuntu Linux-Server ein.
  • Konfigurieren Sie Ingress-Regeln für ein VCN.
  • Konfigurieren Sie Apache, PHP 8, MySQL und WordPress auf der VM.
  • Stellen Sie über das Internet eine Verbindung zur Instanz her.

Im Folgenden finden Sie ein vereinfachtes Diagramm des Setups für die Linux-VM.

Ein Diagramm der Komponenten, die zum Ausführen eines Apache-Webservers auf Oracle Cloud Infrastructure erforderlich sind

Weitere Informationen finden Sie hier:

Bevor Sie beginnen

Um dieses Tutorial erfolgreich abzuschließen, benötigen Sie Folgendes:

Anforderungen
  • Free Tier-Account für Oracle Cloud Infrastructure. Kostenlos starten.
  • MacOS-, Linux- oder Windows-Rechner mit installierter SSH-Unterstützung.

1. Compartment für Entwicklung einrichten

Konfigurieren Sie ein Compartment für Ihre Entwicklung.

Compartment erstellen

Erstellen Sie ein Compartment für die Ressourcen, die Sie in diesem Tutorial erstellen.

  1. Melden Sie sich bei der Oracle Cloud Infrastructure-Konsole an.
  2. Öffnen Sie das Navigationsmenü, und klicken Sie auf Identität und Sicherheit. Klicken Sie unter Identität auf Compartments.
  3. Klicken Sie auf Compartment erstellen.
  4. Geben Sie die folgenden Informationen ein:
    • Name: <your-compartment-name>
    • Beschreibung: Compartment für <your-description>.
    • Übergeordnetes Compartment: <your-tenancy>(Root)
  5. Klicken Sie auf Compartment erstellen.

Referenz: Compartment erstellen

2. Ubuntu Linux-Instanz installieren

Mit dem Workflow VM-Instanz erstellen können Sie eine neue Compute-Instanz erstellen.

Der Workflow führt bei der Installation der Instanz mehrere Schritte aus:

  • Erstellt und installiert eine Compute-Instanz mit Ubuntu Linux.
  • Erstellt ein VCN mit dem erforderlichen Subnetz und den erforderlichen Komponenten, um die Ubuntu Linux-Instanz mit dem Internet zu verbinden.
  • Erstellt ein SSH-Schlüsselpaar, mit dem Sie eine Verbindung zur Instanz herstellen können.
Installationsschritte prüfen

Um mit der Installation einer Instanz mithilfe des Workflows VM-Instanz erstellen zu beginnen, gehen Sie wie folgt vor:

Wichtig

Die angegebenen Schritte gelten für einen Free Tier-Account. Wenn Sie einen kostenpflichtigen Account verwenden, können sich die Schritte von den hier beschriebenen unterscheiden.
  1. Klicken Sie auf das Oracle Cloud-Symbol, um zur Hauptlandingpage zu gelangen.
    • Scrollen Sie nach unten zu Ressourcen starten.
    • Wählen Sie den Workflow VM-Instanz erstellen aus.
    Die Seite Compute-Instanz erstellen wird angezeigt. Die Seitenabschnitte enthalten
    • Name und Compartment
    • Platzierung
    • Sicherheit
    • Image und Form
    • Networking
    • SSH-Schlüssel hinzufügen
    • Boot-Volume
  2. Wählen Sie den Namen und das Compartment aus.

    Anfängliche Optionen

    • Name: <name-for-the-instance>
    • Erstellen in Compartment: <your-compartment-name>

    Geben Sie einen Wert für den Namen ein, oder übernehmen Sie den Standardwert. Wählen Sie als Compartment das erstellte Compartment aus.

  3. Prüfen Sie die Einstellungen für Platzierung.
    • Übernehmen Sie die Standardwerte. Eine Availability-Domain wird Ihnen zugewiesen.

    Die Daten sehen etwa wie folgt aus:

    Availability-Domain

    • Availability-Domain: AD-1
    • Kapazitätstyp: On-Demand-Kapazität
    • Faultdomain: Auswahl der optimalen Faultdomain durch Oracle zulassen
    Hinweis

    Verwenden Sie für Free Tier für die Availability-Domain die Option "Immer kostenlos" verfügbar.
  4. Prüfen Sie die Einstellungen für Sicherheit.
    • Übernehmen Sie die Standardeinstellungen.

    Die Daten sehen etwa wie folgt aus:

    Sicherheit

    • Abgeschirmte Instanz: Deaktiviert
    • Confidential Computing: Deaktiviert
  5. Prüfen Sie die Einstellungen für Image und Ausprägung. Ändern Sie das Betriebssystemimage.
    • Klicken Sie auf bearbeiten.
    • Klicken Sie auf Image ändern.
    • Klicken Sie auf Ubuntu.
    • Wählen Sie Canonical Ubuntu 22.04 oder eine höhere Version aus.
    • Klicken Sie auf Image auswählen.
    Hinweis

    Im Folgenden finden Sie Beispieldaten für eine virtuelle AMD-Maschine. Die tatsächlichen Werte können sich davon unterscheiden.

    Image und Form

    • Image: Canonical Ubuntu 22.04
    • Image-Build: <current-build-date>
    • Ausprägung: VM.Standard.E2.1.Micro
    • OCPU: 1
    • Arbeitsspeicher (GB): 1
    • Netzwerkbandbreite (Gbit/s): 0,48
    Hinweis

    Verwenden Sie für Free Tier die Ausprägungsoption "Immer kostenlos" verfügbar.
    • Fahren Sie mit dem nächsten Abschnitt fort.
  6. Prüfen Sie die Einstellungen für Networking. Ändern Sie die Standardeinstellung wie folgt.
    • Klicken Sie auf bearbeiten.
    • Primäres Netzwerk: Wählen Sie Neues virtuelles Cloud-Netzwerk erstellen aus.
    • Name des neuen virtuellen Cloud-Netzwerks: Übernehmen Sie den generierten VCN-Namen, oder geben Sie einen eigenen Namen an.
    • Erstellen in Compartment: <your-compartment-name>.
    • Subnetz: Wählen Sie Neues öffentliches Subnetz erstellen aus.
    • Neuer Subnetzname: Übernehmen Sie den generierten Subnetznamen, oder geben Sie einen eigenen Namen an.
    • Erstellen in Compartment: <your-compartment-name>.
    • CIDR-Block: Übernehmen Sie den Standardwert (z.B. 10.0.0.0/24).
    • Öffentliche IPv4-Adresse: Übernehmen Sie den Standardwert Öffentliche IPv4-Adresse zuweisen.
    • Fahren Sie mit dem nächsten Abschnitt fort.
  7. Prüfen Sie die Einstellungen für SSH-Schlüssel hinzufügen. Übernehmen Sie die vom Workflow vorgegebenen Standardwerte.
    • Wählen Sie die Option Schlüsselpaar für mich generieren aus.
    • Klicken Sie auf Private Key speichern und Public Key speichern, um den privaten und öffentlichen SSH-Schlüssel für diese Compute-Instanz zu speichern.

    Wenn Sie Ihre eigenen SSH-Schlüssel verwenden möchten, wählen Sie eine der Optionen aus, um Ihren Public Key bereitzustellen.

    Hinweis

    Legen Sie Ihre Private- und Public-Key-Dateien an einem sicheren Speicherort ab. Sie können die Schlüssel nicht mehr abrufen, nachdem die Compute-Instanz erstellt wurde.
  8. Prüfen Sie die Einstellungen für das Boot-Volume.

    Deaktivieren Sie die Einstellung Benutzerdefinierte Boot-Volume-Größe angeben.

    Aktivieren Sie die Einstellung Verschlüsselung während der Übertragung verwenden.

    Deaktivieren Sie die Einstellung Dieses Volume mit einem von Ihnen verwalteten Schlüssel verschlüsseln.

  9. Klicken Sie auf Erstellen, um die Instanz zu erstellen. Das Provisioning des Systems kann einige Minuten dauern.
Sie haben erfolgreich eine Ubuntu Linux-Instanz erstellt.

3. Internetzugriff aktivieren

Der Workflow VM-Instanz erstellen erstellt automatisch ein VCN für Ihre VM. Fügen Sie dem Subnetz eine Ingress-Regel hinzu, um Internetverbindungen auf Port 80 zuzulassen.

Ingress-Regel für das VCN erstellen

Führen Sie die folgenden Schritte aus, um das öffentliche Subnetz des VCN auszuwählen und die Ingress-Regel hinzuzufügen.

  1. Öffnen Sie das Navigationsmenü, und klicken Sie auf Networking, Virtuelle Cloud-Netzwerke.
  2. Wählen Sie das VCN aus, das Sie mit der Compute-Instanz erstellt haben.
  3. Wenn das neue VCN angezeigt wird, klicken Sie auf den Link für das Subnetz <your-subnet-name>.

    Die Informationen zum öffentlichen Subnetz werden unten auf der Seite mit den Sicherheitslisten angezeigt. Ein Link zur Standardsicherheitsliste für das VCN wird angezeigt.

  4. Klicken Sie auf den Link Standardsicherheitsliste.

    Die Standard-Ingress-Regeln für das VCN werden angezeigt.

  5. Klicken Sie auf Ingress-Regeln hinzufügen.

    Das Dialogfeld Ingress-Regeln hinzufügen wird angezeigt.

  6. Geben Sie die folgenden Informationen für die Ingress-Regel ein.

    Geben Sie die Ingress-Regel wie folgt ein:

    • Zustandslos: Aktiviert
    • Quelltyp: CIDR
    • Quell-CIDR: 0.0.0.0/0
    • IP-Protokoll: TCP
    • Quellportbereich: (leer lassen)
    • Zielportbereich: 80
    • Beschreibung: HTTP-Verbindungen zulassen
  7. Klicken Sie auf Ingress-Regeln hinzufügen.
    Jetzt sind HTTP-Verbindungen zulässig. Das VCN ist für HTTP-Traffic auf Port 80 konfiguriert.
Sie haben erfolgreich eine Ingress-Regel erstellt, die die Instanz auf Port 80 über das Internet verfügbar macht.

4. Apache, PHP 8, MySQL und WordPress installieren und konfigurieren

Installieren und konfigurieren Sie den Apache-Webserver und PHP für die Ausführung auf der Ubuntu Linux-Instanz.

Ubuntu-Firewall konfigurieren

Stellen Sie eine Verbindung zur Ubuntu-Instanz her, und konfigurieren Sie die Firewalleinstellungen. Gehen Sie wie folgt vor:

  1. Melden Sie sich bei Ihrem Free Tier-Account an.
  2. Öffnen Sie das Navigationsmenü, und klicken Sie auf Compute. Klicken Sie unter Compute auf Instanzen.
  3. Klicken Sie auf den Link zur Instanz, die Sie im vorherigen Schritt erstellt haben.

    Notieren Sie die vom System erstellte öffentliche IP-Adresse aus dem Abschnitt "Instanzzugriff". Mit dieser IP-Adresse können Sie eine Verbindung zur Instanz herstellen.

  4. Öffnen Sie ein Terminalfenster.
  5. Wechseln Sie in das Verzeichnis, in dem Sie die SSH-Verschlüsselungsschlüssel gespeichert haben, die Sie in Teil 1 erstellt haben.
  6. Stellen Sie mit diesem SSH-Befehl eine Verbindung zur VM her.
    ssh -i <your-private-key-file> ubuntu@<your-public-ip-address>

    Da Sie den Public Key beim Erstellen der VM angegeben haben, werden Sie mit diesem Befehl bei der VM angemeldet. Sie können jetzt sudo-Befehle ausgeben, um den Server zu installieren und zu starten.

  7. Aktualisieren Sie die Firewalleinstellungen.

    Aktualisieren Sie als Nächstes die iptables-Konfiguration, um HTTP-Traffic zuzulassen. Führen Sie zum Aktualisieren von iptables die folgenden Befehle aus.

    sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT
    sudo netfilter-persistent save

    Die Befehle fügen eine Regel hinzu, um HTTP-Traffic zuzulassen, und speichern die Änderungen an den iptables-Konfigurationsdateien.

Apache-Server installieren
  1. Installieren Sie den Apache-Server.
    sudo apt update
    sudo apt -y install apache2
  2. Starten Sie dann Apache.
    sudo systemctl restart apache2
  3. Sie können den Server jetzt testen.

    Sie können den Server über die Befehlszeile mit curl localhost testen. Sie können auch den Browser mit der öffentlichen IP-Adresse verbinden, die der VM zugewiesen ist: http://<your-public-ip-address>. Die Seite sieht etwa wie folgt aus: Testseite des Apache-Servers

PHP installieren
  1. Installieren Sie PHP sowie einige hilfreiche Module mit den folgenden Befehlen.
    sudo apt -y install php
    sudo apt -y install php-mysql php-curl php-gd php-zip
  2. Prüfen Sie die Installation, und starten Sie Apache neu.
    php -v
    sudo systemctl restart apache2
  3. Fügen Sie der VM eine PHP-Testdatei hinzu.
    sudo vi /var/www/html/info.php
  4. Geben Sie in der Datei folgenden Text ein, und speichern Sie die Datei:
    <?php
    phpinfo();
    ?>
  5. Stellen Sie eine Verbindung zu http://<your-public-ip-address>/info.php her.

    Der Browser erstellt eine Liste der PHP-Konfiguration auf der VM, die etwa wie folgt aussieht.

    Tipp

    Das Image wird sich aufgrund von Betriebssystemupdates davon unterscheiden.
    PHP-Konfigurationsseite

    Sie haben Apache und PHP erfolgreich auf einer Oracle Cloud Infrastructure-Instanz installiert.

    Hinweis

    Löschen Sie nach dem Testen die Datei info.php.
Apache-HTML-Verzeichnis konfigurieren

Richten Sie den Apache-Server für das Lesen und Schreiben aus dem bzw. in das Verzeichnis /var/www/html ein.

  1. Fügen Sie einen Benutzernamen zur Gruppe www-data hinzu, damit Sie das Verzeichnis /var/www/html bearbeiten können.
    sudo adduser $USER www-data
  2. Ändern Sie nun den Eigentümer des Inhaltsverzeichnisses.
    sudo chown -R www-data:www-data /var/www/html
  3. Ändern Sie die Berechtigungen für die Dateien und das Verzeichnis.
    sudo chmod -R g+rw /var/www/html
  4. Starten Sie den Rechner neu, damit die Änderungen wirksam werden.
MySQL-Server und -Client installieren und konfigurieren

Als Nächstes installieren und konfigurieren Sie den MySQL-Server und -Client so, dass diese mit WordPress verwendet werden können.

Wichtig

Aufgrund von Konfigurationsänderungen am Ubuntu-MySQL-Setup werden in diesem Tutorial zusätzliche Schritte vor und nach dem Skript sudo mysql_secure_installation hinzugefügt. Die neuen Schritte sind erforderlich, damit das Skript mysql_secure_installation erfolgreich ausgeführt wird.
  1. Installieren Sie das MySQL-Server-Package.
    sudo apt -y install mysql-server

    Dieser Schritt kann etwas Zeit beanspruchen.

  2. Melden Sie sich bei MySQL an.
    sudo mysql
  3. Ändern Sie denroot-Benutzer von MySQL, um die Kennwortauthentifizierung zuzulassen.
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<your-password>';
    Hinweis

    Dieses Kennwort ist temporär. Sie setzen das Root-Kennwort in den folgenden Schritten zurück.
  4. Beenden Sie MySQL.
    mysql> exit
  5. Sichern Sie MySQL mit dem Skript mysql_secure_installation.
    1. Führen Sie das Skript aus.
      sudo mysql_secure_installation

      Dadurch wird folgende Ausgabe generiert:

      Securing the MySQL server deployment.
    2. Sie werden zur Eingabe des von Ihnen festgelegten temporären Kennworts aufgefordert.
      Enter password for user root:

      Geben Sie das Kennwort ein.

    3. Aktivieren Sie die Kennwortvalidierung:
      
      VALIDATE PASSWORD COMPONENT can be used to test passwords
      and improve security. It checks the strength of password
      and allows the users to set only those passwords which are
      secure enough. Would you like to set up VALIDATE PASSWORD component?
      
      Press y|Y for Yes, any other key for No:    
                          
    4. Wählen Sie Y aus.
    5. Wählen Sie die Validierungsebene für das Kennwort aus.
      
      There are three levels of password validation policy:
      
      LOW    Length >= 8
      MEDIUM Length >= 8, numeric, mixed case, and special characters
      STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
      
      Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:                        
                          
    6. Ändern Sie das Root-Kennwort.
      Using existing password for root.
                                      
      Estimated strength of password: XX
      Change the password for root ? ((Press y|Y for Yes, any other key for No) :                            
    7. Wählen Sie Y aus.
    8. Legen Sie das Root-Kennwort fest.
      
      New password: 
      
      Re-enter new password: 
      
      Estimated strength of the password: 100 
      Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :
                          
      Hinweis

      Dieser Schritt ersetzt das anfängliche temporäre Kennwort, das zuvor festgelegt wurde.
    9. Wählen Sie Y aus.
    10. Wählen Sie die restlichen Sicherheitsoptionen aus.
      
      Remove anonymous users? (Press y|Y for Yes, any other key for No) : 
      Disallow root login remotely? (Press y|Y for Yes, any other key for No) : 
      Remove test database and access to it? (Press y|Y for Yes, any other key for No) : 
      Reload privilege tables now? (Press y|Y for Yes, any other key for No) : 
      Success.
      
      All done! 
                          
      Tipp

      Es wird empfohlen, den Standardwert Y für alle Optionen zu übernehmen.
  6. Melden Sie sich mit dem neuen Kennwort bei MySQL an.
    mysql -u root -p
  7. Ändern Sie die Authentifizierungsmethode für MySQL wieder in auth_socket.
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
    Tipp

    Mit der Authentifizierungsmethode auth_socket können Sie sich mit sudo statt mit einem MySQL-Kennwort authentifizieren.
  8. Beenden Sie MySQL.
    mysql> exit
WordPress-MySQL-Datenbank einrichten
  1. Melden Sie sich bei MySQL an.
    sudo mysql

    Ein MySQL-Prompt wird angezeigt.

  2. Listen Sie die Standarddatenbanken auf.
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    4 rows in set (0.01 sec)
                        
  3. Erstellen Sie einen Benutzer für MySQL.
    mysql> CREATE USER '<your-user-name>'@'localhost' IDENTIFIED BY '<your-password>';
    Query OK, 0 rows affected (0.01 sec)
  4. Bestimmen Sie den Benutzer zum Administrator.
    mysql> GRANT ALL PRIVILEGES ON *.* TO '<your-user-name>'@'localhost';
    Query OK, 0 rows affected (0.01 sec)
                        
  5. Erstellen Sie die WordPress-Datenbank.
    mysql> create database wpdb;
    Query OK, 1 row affected (0.01 sec)
                        
  6. Prüfen Sie das Ergebnis.
    mysql>show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    | wpdb               |
    +--------------------+
    5 rows in set (0.00 sec)
  7. Leeren Sie die Berechtigungen, um gecachten Speicher zu löschen.
    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> exit
    Bye
WordPress installieren und konfigurieren

Führen Sie die folgenden Schritte aus, um WordPress auf dem Server zu installieren.

  1. Öffnen Sie ein Terminalfenster, und erstellen Sie ein tmp-Verzeichnis.
  2. Laden Sie die Linux-ZIP-Datei für WordPress von https://wordpress.org/download/ herunter, und dekomprimieren Sie sie.
    wget <url-for-download/filename>.tar.gz
    tar xvfz <download-file-name>.tar.gz

    Der Befehl erstellt ein Verzeichnis wordpress, das den PHP-Code für WordPress enthält.

  3. Kopieren Sie den Inhalt des Verzeichnisses wordpress in das Verzeichnis /var/www/html.
    cp -R /home/<your-username>/tmp/wordpress/* /var/www/html

    Der Inhalt des Verzeichnisses wordpress wird in das Verzeichnis /var/www/html kopiert. Dieser Befehl dient nur als Beispiel. Der Befehl kann je nach Verzeichnisname abweichen.

  4. Wechseln Sie in das Verzeichnis /var/www/html.
    cd /var/www/html
  5. Benennen Sie die Standarddatei index.html um.
    mv index.html index.html.bk

    Jetzt wird index.php standardmäßig geladen, wenn auf das Root-Verzeichnis zugegriffen wird.

  6. Benennen Sie die Datei wp-config-sample.php um.
    mv wp-config-sample.php wp-config.php
  7. Aktualisieren Sie die Werte für das MySQL-Setup.
    vi wp-config.php
  8. Führen Sie das Installationsskript aus, indem Sie einen Browser öffnen und folgende URL aufrufen: http://<your-public-ip-address>/wp-admin/install.php
    Hinweis

    Erstellen Sie einen Administratoraccount für den WordPress-Blog. Notieren Sie unbedingt die Informationen der Installationsseite. Sie benötigen die Informationen, um sich beim WordPress-Blog anzumelden.
  9. Öffnen Sie den neuen Blog unter: http://<your-public-ip-address>

    Schließen Sie alle anderen Konfigurationen ab, die Sie für WordPress benötigen. Link zur Hilfe:

Sie haben einen WordPress-Blog in einer OCI-Compute-Instanz eingerichtet.

Weitere Schritte

Sie haben erfolgreich einen Apache-Webserver auf Oracle Cloud Infrastructure mit einer Linux-Instanz installiert und bereitgestellt.

Weitere Informationen zur Entwicklung mit Oracle-Produkten finden Sie auf folgenden Websites: