Einige Worte zu den Fehlern, die Sie in Zukunft hoffentlich vor ähnlichen Situationen bewahren werden.
In Linux sind Ports von 0 bis 1024 für die Verwendung durch das System reserviert. Dies bedeutet, dass Sie die Berechtigung haben müssen, auf grundlegende Systemeinstellungen zuzugreifen, um eine zu verwenden. Der Root-Benutzer hat solche Rechte und kann tatsächlich einen Port zwischen 0 und 1024 verwenden.
Wie Sie sehen können, gibt das System durch die Apache2-Antwort die Wurzel des Problems an ([...] konnte nicht an die Adresse bla bla 80 gebunden werden ):
(13)Permission denied: make_sock: could not bind to address [::]:80
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
Wenn der Apache2-http-Daemon gestartet wird, versucht er, den 80-Port zu binden, da dies der Standardport für die Verwendung in HTTP ist. Dies ist ein Port innerhalb des Systems, dem Ports zugewiesen sind, und als solcher kann nur root darauf zugreifen.
Sie haben den Befehl start als typischer Benutzer ohne Root-Berechtigungen ausgeführt und dies nicht getan.
In einfachen Worten:
Du:
Hallo Apache2. Ich bin Kongthap und ich sage dir, dass du anfangen sollst ( /etc/init.d/apache2 start
)
Apache2:
OKAY. Ich starte (Starte Webserver apache2)
System, bitte geben Sie mir Port 80, um Verbindungen zu verwenden und zu überwachen.
System:
OKAY. Einen Moment, um zu überprüfen ...
Ahh ... Entschuldigung Apache2, aber ich kann nicht zulassen, dass Sie bei 80 Port laufen, es ist für den persönlichen Gebrauch.
Und Sie haben nicht die richtigen Berechtigungen, um es zu binden. ( Operation not permitted
)
Apache2:
Ohh, Kongthap ich konnte nicht starten, das System hat es nicht zugelassen ( (13)Permission denied:[...]
)
Fazit
Es gibt hauptsächlich zwei Lösungen für dieses Problem:
Führen Sie den Apache2-HTTP-Daemon mit Root-Rechten aus sudo
:
sudo service apache2 start
oder:
sudo /etc/init.d/apache2 start
Ändern Sie den Standard - Port von 80
etwas mehr als 1024
, sagen wir 2000
, 2500
, 9000
usw. Ein typischer Hafen laufen , wenn in einer solchen Situation ist8080
sudo vi /etc/apache2/ports.conf
suchen oder wenn nicht da hinzufügen:
Listen 8080
oder ein anderer Port Ihrer Wahl, z. B. Port, > 1024
und der ausgewählte Port wird von keinem anderen Prozess verwendet.