Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Téma založeno: Thomas_Kr 17 Března 2023, 18:42:38
-
Instaloval jsem webový server Apache a z Firefoxu ve Windows volně spouštím skript z Ubuntu. Problém je v tom, že přestal fungovat jeden modul, který vypíše:
Trying to connect to localhost:8001
Connected
a čeká.
Současně dostávám chyby:
system1@pc-my:~$ sudo systemctl status apache2 [sudo] password for system1:
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
a
system1@pc-my:~$ nc -zv localhost 8001
nc: connect to localhost (127.0.0.1) port 8001 (tcp) failed: Connection refused
Ping na localhost chodí a firewall je inactive. SW: Windows 10, WSL, Ubuntu 22.04.
Jak opravit chyby Host is down a Connection refused?
-
http://localhost
píše co?
sudo systemctl start apache2
píše co?
V "/etc/apache2/port.conf" máš port 8001 povolen?
Z tvého popisu moc nevyčtu, neznám tvou konfiguraci Apache etc...
-
system1@pc-my:~$ http://localhost
-bash: http://localhost: No such file or directory
system1@pc-my:~$ sudo systemctl start apache2
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
obsah ports.conf:
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf
Listen 80
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
-
Ubuntu vo WSL v defaulte nepouziva Systemd. Da sa to nastavit v konfiguraku /etc/wsl.conf, ktory treba vytvorit a do neho vlozit toto:
[boot]
systemd=true
V tomto konfiguraku sa potom da nastavit aj mnozstvo RAM a poctu CPU jadier, ku ktoremu ma WSL pristup.
-
Přiznávám, že linux ve WSL neznám - nepoužívám. Podle mne a tvých výpisů Apache zjevně neběží nebo má problém s přístupovými právy. Ale pokud zde není "systemd", měl by apache jít spustit klasicky přes "/etc/init.d/apache2". Ovšem to už jen hádám, chce to někoho, kdo tuto kombinaci (W+WSL+(Ubuntu, Mint, Debian, etc...) používá. Sám používám samotný Debian (bez X11), takže sorry...
Prohlédni si "/var/log/apache2/", pokud tam je, nebo "/var/log/syslog". Zde najdeš ev. problémy.
Ještě - pokud apače rozjedeš - zkus přidat do "port.conf" řádek (myslím, že stačí přidat číslo portu za už zapsaný standardní 80 viz. manuál Apache2 na "https://httpd.apache.org/docs/") tedy:
Listen 80 8001
Tím zpřístupníš apače na portu 8001, který potřebuješ. Ale to už záleží na konkrétní konfiguraci.
-
v souboru ports.conf jsem nastavil Listen 80 8001, ale to nepomohlo.
Zapomeňme na aplikaci apache, s tou nemám žádný problém.
Problém je v této chybě, která stále trvá:
system1@pc-my:/$ nc -zv localhost 8001
nc: connect to localhost (127.0.0.1) port 8001 (tcp) failed: Connection refused
-
v souboru ports.conf jsem nastavil Listen 80 8001, ale to nepomohlo.
Zapomeňme na aplikaci apache, s tou nemám žádný problém.
Problém je v této chybě, která stále trvá:
system1@pc-my:/$ nc -zv localhost 8001
nc: connect to localhost (127.0.0.1) port 8001 (tcp) failed: Connection refused
a trvat bude dokud ten apache (nebo jiný server) nepoběží...
Pokud s "aplikací" apache nemáš problém, tak ho má ona s tebou.
-
Zkus oskenovat porty, např "nmap", jestli je 8001 otevřený....
-
v souboru ports.conf jsem nastavil Listen 80 8001, ale to nepomohlo.
Zapomeňme na aplikaci apache, s tou nemám žádný problém.
Problém je v této chybě, která stále trvá:
system1@pc-my:/$ nc -zv localhost 8001
nc: connect to localhost (127.0.0.1) port 8001 (tcp) failed: Connection refused
a trvat bude dokud ten apache (nebo jiný server) nepoběží...
Pokud s "aplikací" apache nemáš problém, tak ho má ona s tebou.
"Dikyy". "Zkušená rada".
-
Zkus oskenovat porty, např "nmap", jestli je 8001 otevřený....
odinstaloval jsem Ubuntu i WSL a opět nainstaloval WSL a Ubuntu 22.04.1 LTS.
Úplně první příkaz, který jsem po nové instalaci Ubuntu spustil, byl:
system1@pc-my:~$ nc -zv localhost 8001
nc: connect to localhost (127.0.0.1) port 8001 (tcp) failed: Connection refused
system1@pc-my:~$
-
Zkus oskenovat porty, např "nmap", jestli je 8001 otevřený....
odinstaloval jsem Ubuntu i WSL a opět nainstaloval WSL a Ubuntu 22.04.1 LTS.
Úplně první příkaz, který jsem po nové instalaci Ubuntu spustil, byl:
system1@pc-my:~$ nc -zv localhost 8001
nc: connect to localhost (127.0.0.1) port 8001 (tcp) failed: Connection refused
system1@pc-my:~$
instaloval jsem a spustil nmap. Výpis je dlouhý, ale položka 8001
v něm není. Původně jsem tu chybu Connect to localhost 8001 failed:
Connection refused neměl, začalo to až po určitých aktivitách
v Ubuntu. Teď to pokračuje i po totální přeinstalaci wsl i Ubuntu.
-
Port 8001 po čisté instalaci není standardně povolen (proto jsi ho ve výpisu nenašel). Pokud je potřeba, měla by si ho příslušná aplikace povolit při instalaci sama nebo je (mělo by) u ní popsáno, že je třeba ho povolit, případně jak. Jedna z možností je vcelku podrobně popsána zde:
https://cs.soringpcrepair.com/how-to-open-port-in-linux/
Omluvám se, že to nepopíšu podrobně, řeším to jen když sám potřebuji a jako starý sklerotik to pokaždé znovu hledám - je to dobrá metoda učení. Google ti podrobnosti vyhledá...
-
Port 8001 po čisté instalaci není standardně povolen (proto jsi ho ve výpisu nenašel). Pokud je potřeba, měla by si ho příslušná aplikace povolit při instalaci sama nebo je (mělo by) u ní popsáno, že je třeba ho povolit, případně jak. Jedna z možností je vcelku podrobně popsána zde: https://cs.soringpcrepair.com/how-to-open-port-in-linux/
Omluvám se, že to nepopíšu podrobně, řeším to jen když sám potřebuji a jako starý sklerotik to pokaždé znovu hledám - je to dobrá metoda učení. Google ti podrobnosti vyhledá...
Spustil jsem příkazy:
system1@pc-my:~$ sudo iptables -I INPUT -p tcp --dport
8001 -j ACCEPT
a dosáhl jsem stavu:
system1@pc-my:~$ sudo iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:8001
ACCEPT tcp -- anywhere anywhere tcp dpt:1924
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:http
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
system1@pc-my:~$
Ve výpisu příkazu "nmap" položka 8001 není a zůstává:
system1@pc-my:~$ nc -zv localhost 8001
nc: connect to localhost (127.0.0.1) port 8001 (tcp) failed: Connection refused
system1@pc-my:~$
-
Všechno už ti kolegové napsali. Poté jsi sám začal tvrdit, že 0 je 1. A tím rady zhasly.
Veškerý postup tu máš.
-
Všechno už ti kolegové napsali. Poté jsi sám začal tvrdit, že 0 je 1. A tím rady zhasly.
Veškerý postup tu máš.
Co konkrétně myslíš?
-
Co na to odpovědět?
Jak už jsem psal výše, ten server není spuštěn! Michal napsal jak ve WSL nakonfigurovat aby ti šel systemd a tím pádem platné rady zprovoznění apache v ubuntu pod windowsem (tvl z té kombinace mrazí). S apache už jsem si více jak deset let nehrál. Ale mám za to, že v základu je povolen jen port 80 ne 8001. Apache může naslouchat na více portech. To zprovozníš v konfiguračním souboru serveru httpd.conf pomocí directivy Listen. Takže přidáním dvou řádků:Listen 80
Listen 8001
bude apache naslouchat na těchto portech. Ale nejdříve musí ten server (apache) běžet! A bez hlubší znalosti runlevelů ap, to bez systemd neuděláš. A že ten systemd nemaká tě napsala hned první chybová hláška co jsi postnul:system1@pc-my:~$ sudo systemctl status apache2 [sudo] password for system1:
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
Tak jsi to celé smazal a nainstaloval jen ubuntu a zkusil jsi se připojit na něco co nemůže fungovat když to není ani nainstalováno. Asi by tě mohlo napadnout, že ta samá opakující se chyba s nebo bez apache může znamenat jen jedno jediné. A to, že apache není spuštěn!
Howgh