2016-04-13 4 views
-1

Ich habe die Frage umgeschrieben, indem ich die Antwort von Pedro benutze.iptables, Apache, Linux Mint (Ubuntu), von Port 80 nach 1080 weiterleiten, keine hörbaren Sockets verfügbar, heruntergefahren

Ich erhalte den Fehler “no listening sockets available, shutting down”, wenn ich versuche, einfaches Skript auszuführen:

$ apache2ctl -f `pwd`/conf/httpd.conf -d `pwd` 

auf Linux Mint basiert auf Ubuntu.

ich bin im Verzeichnis /usr/www/apache3/site.toddle, Der Inhalt /usr/www/apache3/site.toddle/conf/httpd.conf ist

User www-data 
Group www-data 
# added to get rid of apache2: Configuration error: No MPM loaded 
Include /etc/apache2/mods-enabled/*.load 
Include /etc/apache2/mods-enabled/*.conf 

#copied from 000-default.conf from /etc/apache2/sites-available 
<VirtualHost *:1081> 
    ServerName my586 
    ServerAdmin [email protected] 
    DocumentRoot /usr/www/apache3/site.toddle/htdocs/ 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

ich die Pedro Antwort und Links gefolgt.

1) unter Verwendung von sudo gedit /etc/apache2/ports.conf hinzugefügt, um die /etc/apache2/ports.conf die Zeile und die Datei gespeichert:

#original: Listen 80 
Listen 1081 

2) wieder gestartet Apache verwendet $ sudo /etc/init.d/apache2 restart

3) konfiguriert iptables Pedro Beispiel für den Port 1081:

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 1081 
sudo iptables-save 
sudo iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j REDIRECT --to-ports 1081 
sudo iptables-save 

Aber den Befehl ausgeführt: apache2ctl -f pwd /conf/httpd.conf -d pwd gibt den Fehler "no listening sockets available, shutting down AH00015: Unable to open logs Action '-f /usr/www/apache3/site.toddle/conf/httpd.conf -d /usr/www/apache3/site.toddle' failed."

mit netstat überprüfen, gibt, dass Apache den Port lauscht 1081: zum Umleiten eingehenden Datenverkehr auf Port 80 zu einem Apache-Server immer gearbeitet

$ sudo netstat -ltnp | grep ':1081' 
tcp6  0  0 :::1081  :::* LISTEN  3160/apache2 
+0

könnte eine dumme Frage, aber haben Sie versuchte etwas wie 'sudo service apache2 restart'? Sie versuchen möglicherweise, es zu starten, ohne es zuerst zu stoppen. – Pedro

Antwort

1

Die Regeln, die für mich haben 1080 Häfen sind:

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 1080 
sudo iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j REDIRECT --to-ports 1080 

Sie diese Regeln durch das hören mit netcat auf Port 1080 auf Ihrem Server testen konnten, und zu versuchen, auf den Server auf Port 80 mit netcat von einer anderen Maschine zu verbinden.

Dann stellen Sie sicher, dass Ihr Apache-Server hat es Config-Set ist für Sie Port 1080.

diesen Beitrag anzeigen Apache für die Einstellung auf anderen Port laufen: Configure apache to listen on port other than 80

+0

vielen Dank. Scheint mein Fehler ist woanders. Wenn ich dich mag sagte, bekomme ich den Fehler: '(98) Adresse bereits verwendet: AH00072: make_sock: konnte nicht an die Adresse [::]: 1080 (98) Adresse bereits verwendet: AH00072: make_sock: konnte nicht an Adresse 0.0.0.0.01080 binden keine Listening Sockets verfügbar, Herunterfahren. "Scheint der Grund ist, dass mein Skript envoke /usr/www/apache3/site.toddle/conf/httpd.conf, die nicht in der Lage ist um 1080 zu verbinden, weil /etc/apache2/ports.conf auch diesen Port hört. – olga

+0

Ich habe 'listen 1081' aus '/ usr/www/apache3/site.toddle/conf/httpd.conf' gelöscht, wobei' listen 1081' nur in '/ etc/apache2/ports.conf' übrig geblieben ist. Ich habe deine (Pedro) Anweisungen/Befehle befolgt. Wenn ich '$ sudo netstat -ltnl | grep ': 1081' '----> Ich bekomme:' tcp6 0 0 ::: 1081 ::: * LISTEN', was nicht apache2 als Hörprogramm gibt. Wie kann ich diese Ausgabe verstehen?Wie auch immer, mein Skript funktioniert immer noch nicht und ich bekomme den Fehler: 'keine hörenden Sockets verfügbar, heruntergefahren'. – olga

+0

Haben Sie apache3 und apache2 ausgeführt? Wenn dies der Fall ist, versuche einen von ihnen anzuhalten, da sie sich möglicherweise über Ports streiten. Probieren Sie die Option -p aus, damit Netstat das Programm anzeigt. Ihre grep'd-Ausgabe legt nahe, dass Sie nur mit ipv6 auf 1081 hören. – Pedro