Server hosten, portforwarding geht nicht und keine ipv6?

Hallo,

ich möchte einen dedicated Server hosten, auf dem andere joinen können. Früher hatte portforwarding mit meiner öffentlichen ipv4 Addresse auch nie funktioniert, jetzt hatte ich es wieder versucht, ohne Erfolg. (Würde auch gerne von Außerhalb auf meine Nextcloud zugreifen.) Mein Anbieter ist Deutsche Glasfaser, ich habe gelesen, dass man keine echte eigene ipv4 Addresse bekommt, und das so nicht funktionieren kann.

Was ich probiert habe:

  • Der Rechner auf dem der Server gehostet werden soll hat eine statische private ip (192.168.1.222)
  • Duckdns eingerichtet (beispiel.duckdns.org) und auf die "public" ipv4 Addresse (94.31.8*.***) -> funktioniert nicht, (mit der private ip geht es natürlich im lokalen Netzwerk)
  • Portforwarding auf 192.168.1.222 mit den Ports, jeweils UDP und TCP freigegeben -> geht nicht
  • DMZ auf 192.168.1.222 versuchtsweise eingerichtet. Kann im Routermenü nur Einschalten und eine IP eingeben, dann mit Firewall auf dem Rechner die Ports erlaubt -> geht nicht
  • Dann hatte ich gelesen, dass Deutsche Glasfaser oft nur DSLITE verwendet(?) und ich dann eine öffentliche ipv6 Addresse verwenden muss. Habe (testweise erstmal auf meinen Windows 10 PC) ipv6 in den Adapteroptionen aktiviert. Bekomme eine "Verbindungslokale" ipv6 aber habe keine public ipv6 (auch auf Seiten wie wieistmeineip.de wird keine angezeigt) In meinen Routereinstellungen kann ich auch nicht viel einstellen. Habe mal zwei Bilder von der Router Seite gemacht.

Weiß jemand eine Lösung für mein Problem? Wie bekomme ich den meine Public ipv6. Bei Windows kann man in den Eigenschaften ja auch manuell eine ipv6 zuweisen, aber was muss man da eingeben? Welcher DNS server ich dort eintragen muss weiß ich auch nicht. Hamachi oder sowas möchte ich nicht benutzen.

Bild zu Frage
Server, Computer, Internet, Technik, Hosting, Port, Technologie, Spiele und Gaming
Problem mit Docker?

Problem mit Docker

und zwar haut bei mir der Befehl

RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli

nicht hin.

Ich erstelle ein Image über ein Dockerfile (docker build -t [name] .)

Das Image basierd auf debian:latest

Danach wird apt-get update & apt-get upgrade ausgeführt

Dann werden Komponenten installiert (sudo, apache2, php, cron, ...)

und wiederum danach werden die apache2 Konfigurierung angepasst das der Apache2-Server auf /webserver das DocumentRoot setzt

Soweit alles gut.

jetzt kann ich über den docker run befehl den parameter --mount hinzufügen und darüber ein externes Verzeichnis auf /webserver binden.

Bis hier her Funktioniert alles noch.

Jetzt wenn ich eine index.html aufrufe funktioniert das eine index.php funktioniert auch. Wenn ich jetzt jedoch in der .php Datei folgenden code Benutze(um auf MySql - Server zuzugreifen zu können):

      $mysqli = new mysqli("host_ip","bn","pw","tabelle");
      //echo mysqli_get_host_info($mysqli);
      if ($mysqli->connect_errno) {
          echo "Verbindung fehlgeschlagen: " . $mysqli->connect_error;
          return false;
      }else{
          return $mysqli;
      }

Kommt ein 500-ServerError.

Soweit ich es jetzt ergoogeln konnte muss ich zusätzlich den Port 3306(MySql-Port) Exposen und zusätzlich mit -p 3306:3306 in den docker run befehl einbauen.

Außerdem muss man antscheinend mit

RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli

Das MySqli modul installieren & aktivieren.

Hier ist auch schon das Problem:

Wenn ich mit oben genannten befehl mein Image aus dem Dockerfile erstellen möchte kommt (wenn er an der Stelle mit "RUN docker-php..." ankommt):

RUN docker-php-ext-install mysqli
 ---> Running in bce06404a5ca
/bin/sh: 1: docker-php-ext-install: not found
The command '/bin/sh -c docker-php-ext-install mysqli' returned a non-zero code: 127

Und jetzt meine Frage wie kann ich diesen fehler Beheben, ich weiß leider nicht mehr weiter!

Für die vollständigkeit hier noch der docker run befehl(den ich benutze wenn ich das Funktionierende Image ohne "RUN docker-php-..." nutze):

docker run --name webserver \
-p 80:80 \
-p 3306:3306 \
--mount type=bind,source="/lokaler/pfad",destination=/webserver [name_des_images]
Computer, Technik, Apache, container, Image, MySQL, PHP, Port, Technologie, PDO, Docker, Spiele und Gaming

Meistgelesene Fragen zum Thema Port