Hinweis:

Mit Oracle Cloud Infrastructure einen Webserver veröffentlichen, auf den über das Internet zugegriffen werden kann, mit IPv6

Einführung

In diesem Tutorial wird erläutert, wie wir einen Webserver (OCI-Instanz) in Oracle Cloud Infrastructure (OCI) erstellen können. Außerdem wird dieser Webserver über das Internet zugänglich gemacht. Wir werden diesen Webserver nicht nur über eine öffentliche IPv4-Adresse zugänglich machen, sondern ihn auch über die öffentliche IPv6-Adresse zugänglich machen, wobei die DNS-Datensätze (FQDN) vollständig konfiguriert sind.

image

Hinweis: Die Domains, die wir in diesem Tutorial verwendet haben, wurden nur zu Testzwecken erstellt und konfiguriert.

image

Ziele

Aufgabe 1: Neues VCN mit aktiviertem IPv6 erstellen

Wir haben jetzt ein neues VCN mit neuen Netzwerkbereichen IPv4 und IPv6 erstellt, mit denen wir Subnetze IPv4 und IPv6 Carve ausführen können.

Aufgabe 2: Neues Subnetz mit aktiviertem IPv6 erstellen

Jetzt kann das Subnetz für die Adressen IPv4 und IPv6 verwendet werden.

Aufgabe 3: Neue Instanz mit aktiviertem IPv6 erstellen

image

Die nächste logische Aufgabe besteht darin, mit SSH auf die Instanz zuzugreifen, damit die Installation und Konfiguration des Webservers gestartet werden kann. Wenn wir versuchen, mit der öffentlichen IPv4-Adresse und dem Private Key eine Verbindung zum Webserver herzustellen, können wir keine Verbindung herstellen, da das in Aufgabe 1 erstellte VCN kein Internetgateway hat. Jetzt müssen wir dieses Internetgateway zuerst im VCN erstellen und außerdem das Routing konfigurieren.

image

Aufgabe 4: Neues Internetgateway erstellen und Routing konfigurieren

Um den Zugriff auf eine neue Instanz (Webserver) aus dem Internet zu ermöglichen, zunächst SSH und schließlich den Übergang zu HTTP, müssen wir ein Internetgateway einrichten.

Aufgabe 5: HTTP und HTTPS in der Standardsicherheitsliste öffnen

Wenn ein neues VCN erstellt wird, wird eine Standardsicherheitsliste auf die Subnetze in diesem VCN angewendet. Standardmäßig sind ICMP und SSH eingehend (Ingress) zulässig. Wir müssen HTTP und HTTPS zu dieser Liste hinzufügen, um eingehenden Traffic für den Webserver zuzulassen.

Die Sicherheitsregeln sind vorhanden, und der Traffic IPv4 und IPv6 ist in den VCN-Subnetzen zulässig. Wir installieren die Webserveranwendung auf der Instanz.

Aufgabe 6: Webserver auf Instanz installieren

Prüfen Sie vor der Installation der Webserveranwendung schnell, ob die Firewallports korrekt konfiguriert sind. Verwenden Sie die folgende Website IPV6 Online Port Scanner. Diese Website verfügt über einen Port-Scanner IPv6, Sie können aber auch IPv4-Adressen eingeben.

Aufgabe 7: DNS-Datensätze konfigurieren

Hinweis: Die Domains, die wir in diesem Tutorial verwendet haben, wurden nur zu Testzwecken erstellt und konfiguriert.

Jetzt ist die Website oder der Webserver über das Internet erreichbar. Wir gehen einen Schritt weiter, indem wir einen FQDN konfigurieren, der sich leichter merken lässt als eine IPv4-Adresse oder eine IPv6-Adresse. In diesem Tutorial wird die folgende Subdomain als Beispiel verwendet: oci.iwanhoogendoorn.nl für den neuen Webserver.

Aufgabe 8: Benutzerdefinierte Website mit NGINX und PHP erstellen

Wir erstellen eine benutzerdefinierte PHP-Website oder ein Skript, das etwas mehr Informationen über das Netzwerk und die IP-Adressen mit NGINX bereitstellt.

So integrieren Sie NGINX in PHP:

  1. Bearbeiten Sie die PHP-FPM-Konfigurationsdatei, um NGINX zu integrieren.

    Bearbeiten Sie die Datei /etc/php-fpm.d/www.conf.

    sudo nano /etc/php-fpm.d/www.conf
    
    • Inhalt der Datei /etc/php-fpm.d/www.conf vor Änderungen.

      ; Unix user/group of processes
      ; Note: The user is mandatory. If the group is not set, the default user's group
      ;	will be used.
      ; RPM: apache user chosen to provide access to the same directories as httpd
      **user =** apache
      ; RPM: Keep a group allowed to write in log dir.
      **group =** apache
      
    • Inhalt der Datei /etc/php-fpm.d/www.conf nach Änderungen.

      ; Unix user/group of processes
      ; Note: The user is mandatory. If the group is not set, the default user's group
      ;	will be used.
      ; RPM: apache user chosen to provide access to the same directories as httpd
      **user = nginx**
      ; RPM: Keep a group allowed to write in log dir.
      **group = nginx**
      
  2. Bearbeiten Sie die NGINX-Konfigurationsdatei, um PHP-FPM zu integrieren.

    • Bearbeiten Sie die Datei /etc/nginx/conf.d/default.conf.

      [opc@ih-webserver-01 html]$ sudo nano /etc/nginx/conf.d/default.conf
      
    • Fügen Sie die folgende Konfiguration hinzu.

      location / {
      **# where is the NGINX root www folder?**
          root   /usr/share/nginx/html;
      # what are the default index files to look for in the directory?
          index **index.php** index.html index.htm;
      }
      
      # tell NGINX what to do when it sees PHP-FPM giving a 404 HTTP status in the response
      **location = /404.php {
      # where is the NGINX root www folder?
        root   /usr/share/nginx/html;
      # not return error responses with relevant status codes
        fastcgi_intercept_errors off;
      # where is PHP-FPM listening? the socket
        fastcgi_pass unix:/var/run/php-fpm/www.sock;
      # everytime we're in this location, tell PHP-FPM the complete script filename to be executed
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      # and don't forget to tell PHP-FPM stuff like SERVER_NAME:
        include fastcgi_params;
      }**
      
      # tell NGINX what to do when it sees PHP-FPM a .php file
      **location ~ \.php$ {
      # where is the NGINX root www folder?
        root   /usr/share/nginx/html;
      # define custom error pages
        error_page 404 /404.php;
      # return error responses with relevant status codes
        fastcgi_intercept_errors on;
      # where is PHP-FPM listening? the socket
        fastcgi_pass unix:/var/run/php-fpm/www.sock;
      # everytime we're in this location, tell PHP-FPM the complete script filename to be executed
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      # and don't forget to tell PHP-FPM stuff like SERVER_NAME:
        include fastcgi_params;
      }**
      
  3. Bearbeiten Sie die php.ini-Konfigurationsdatei.

    • Bearbeiten Sie die Datei /etc/php.ini.

      [opc@ih-webserver-01 /]$ sudo nano /etc/php.ini
      
    • Stellen Sie sicher, dass die folgende Zeile vorhanden, geändert oder nicht kommentiert ist.

      cgi.fix_pathinfo = 0;
      
  4. Starten Sie die PHP-FPM- und NGINX-Services neu.

    • Starten Sie den PHP-FPM-Service neu.

      sudo systemctl start php-fpm
      
    • Starten Sie den NGINX-Service neu.

      sudo systemctl restart nginx
      
  5. Erstellen Sie eine benutzerdefinierte Seite für die richtige Webseite zum Verarbeiten und Testen.

    • Erstellen Sie eine benutzerdefinierte 404.php-Seite. Dies ist erforderlich, um die Umleitung auf eine benutzerdefinierte 404-Seite ordnungsgemäß zu verarbeiten, wenn die Seite nicht vorhanden ist, und um darauf zuzugreifen.

      [opc@ih-webserver-01 html]$ sudo nano 404.php
      

      Code für die benutzerdefinierte Seite 404.php.

      <?php
        header("HTTP/1.0 404 Not Found");
      ?>
      <html>
        <head>
          <title>404 Error - Page Not Found</title>
        </head>
        <body>404 Error - Page Not Found!</body>
      </html>
      
    • Erstellen Sie eine benutzerdefinierte info.php-Seite.

      [opc@ih-webserver-01 html]$ sudo nano info.php
      

      Code für Seite info.php.

      <?php
      
      phpinfo();
      
    • Testen Sie die Website info.php, die den Nachweis liefert, dass PHP mit NGNIX arbeitet.

      image

      Wenn die Website korrekt installiert und konfiguriert ist, wird die folgende Webseite angezeigt. Diese Seite enthält Informationen zu Ihren lokalen und Remote-IPv4- oder IPv6-Adressen, je nachdem, mit welcher IP-Version Sie eine Verbindung herstellen. Diese Seite informiert auch über das von Ihnen verwendete Protokoll, HTTP oder HTTPS.

      image

Aufgabe 9: Webserver aus dem Internet testen

Hinweis: Die Domains, die wir in diesem Tutorial verwendet haben, wurden nur zu Testzwecken erstellt und konfiguriert.

Auch wenn wir die Erreichbarkeit der Website oder des Webservers bereits mit mehreren Methoden getestet haben. Wir möchten die folgende Website verwenden, um den letzten Test durchzuführen, der die Erreichbarkeit und die DNS-Datensatzkonfiguration auf einen Schlag testen wird. Ist Ihre Website IPv6 bereit?

  1. Verwenden Sie den FQDN oci.iwanhoogendoorn.nl zum Testen.
  2. Prüfen Sie, ob die DNS-Datensätze IPv4 korrekt konfiguriert sind.
  3. Prüfen Sie, ob die DNS-Datensätze IPv6 korrekt konfiguriert sind.
  4. Überprüfen Sie, ob die Website unter IPv4 erreichbar ist.
  5. Überprüfen Sie, ob die Website unter IPv6 erreichbar ist.

image

Danksagungen

Weitere Lernressourcen

Lernen Sie andere Übungen auf docs.oracle.com/learn kennen, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube Channel zu. Außerdem können Sie education.oracle.com/learning-explorer besuchen, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.