Ich habe den Apache-Webserver mit MySQL und PHP installiert, kann aber /var/www/html
von außen über meine öffentliche IP-Adresse nicht auf die Website zugreifen.
Ich habe auf meinem Router eine Portweiterleitung für das Gerät eingerichtet, auf dem sich die Website befindet. Beim Eingeben der URL http://<public IP address>:8080
erhalte ich jedoch die Meldung, dass die Seite nicht gefunden werden kann.
Wenn ich jedoch die URL „localhost“ verwende, kann ich die Website sehen. Was muss ich sonst noch überprüfen, da bei meinem Setup eindeutig etwas vergessen wurde?
Antwort1
Ich würde Ihnen empfehlen, das Tool Uncomplicated Firewall zu verwenden -ufw
, in diesem Zustand. Es ist einfach, das Frontend voniptables
Die GUI-Version heißtgufw
.
1.Installiere die App:
sudo apt install ufw
2.Richten Sie die Standardrichtlinie ein, um den gesamten eingehenden Datenverkehr abzulehnen und den gesamten ausgehenden Datenverkehr zuzulassen:
sudo ufw default deny incoming
sudo ufw default allow outgoing
3.Erlauben Sie eingehenden Datenverkehr auf bestimmten Ports. Wenn Ihr Apache-Server beispielsweise auf Port lauscht, 80
verwenden Sie diese Regel:
sudo ufw allow 80/tcp
Oder Sie können das Anwendungsprofil von Apache verwenden:
sudo ufw allow Apache
Möglicherweise möchten Sie den Zugriff auch auf den SSH-Port erlauben. Für diesen FallGrenzeist die bessere Regel:
sudo ufw allow 22
Oder verwenden Sie die StandardeinstellungAnwendungsprofilfür SSH:
sudo ufw allow ssh
4.Aktivieren Sie die Firewall:
sudo ufw enable
Verweise:
Antwort2
sudo ufw status verbose
zeigt Ihnen, ob die Firewall aktiv/aktiviert ist und welche Ports ggf. zugelassen/blockiert sind.
Wenn Sie Port 8080 auf dem Router weitergeleitet haben, stellen Sie sicher, dass er durch die Firewall gelassen wird, stellen Sie aber auch sicher, dass Apache auf Port lauscht 8080
. Der Standard in /etc/apache2/ports.conf
und den sites-available
.conf-Dateien ist Port 80
.