Apache 2 nem indul el (80-as port)

Fórumok

Sziasztok!

Fedora 7 alatt használom az Apache 2.2.4-et. A /etc/httpd/conf/httpd.conf 134. sora:

Listen 127.0.0.1:80

Így viszont nem tudom elndítani a szolgáltatást!A szolgáltatás indításakor ezt a hibát kapom:


[root@localhost ~]# service httpd start
httpd indítása: (98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
                                                           [SIKERTELEN]
[root@localhost ~]#

Az fuser 80/tcp parancsnak nincs kimenete.

További próbálkozásaim:


root@localhost ~]# killall -9 httpd
httpd: nincs megölt folyamat
[root@localhost ~]# netstat -tulpn| grep :80
tcp        0      0 127.0.0.1:8000              0.0.0.0:*                   LISTEN      2072/nasd
[root@localhost ~]#

Van valami ötletetek, mit csinálhatok még, azon kívül, hogy átállítom a szervert pl. a 8080-as portra? (Mert úgy elindul a httpd.)

Hozzászólások

Szia!

Nem lehet, hogy van az Apache konfigban valahol máshol még egy Listen ami szintén arra akar bindelni?

Karatekutya. Olvasok is ám nem csak írok.
Most nézem hogy a grep 80 a 8000-t találta meg. Okosan. Ő a nasd. Karatekutya. Stornó. Karatekutya.

Parktikusan sunyi listen van valahol. Nézd meg az include fájlokat is. Milyen distro? Mer debiannál az izék betesznek izéket, pl: php, squirrelmail, ...

Néha kedveset mond az apache{2}cfg configtest is.

Csak most volt időm végigbogarászni a hozzászólásokat.
Köszönet tgyurcinak, de ugyanúgy a többeknek is!

Volt egy másik config fájl, a

/etc/httpd/conf.d/system-config-httpd.conf

(aminek a kiterjesztését átneveztem) — ez egyébként asszem a httpd config GUI saját fájlja, — ezek szerint Red Hat-re és Fedora-ra jellemző, hogy a GUI eltávolítása után is megmarad.) Egy ilyen szabályt találtam a httpd.conf-ban, ekkor kezdetem arra gyanakodni, amire tgyurci:

Include conf.d/*.conf

Szia!

Nem lehet hogy portsentryt telepitettél és fogja a 80-as portot:?

nem fut valami process, amit az apache user inditott el? mondjuk torrent vagy ilyesmi.

meg ezt is kilehet probalni.
ipcs -s | grep nobody | perl -e 'while () { @a=split(/\s+/); print `ipcrm sem $a[1]`}'

nobody az apache szervered userneve

Én mondanék egy ilyet:

# grep -R Listen /etc/httpd

Esetleg ha megprobalsz telneten belepni 80-as porton localhostra? hatha olyasmi fut ami egybol ad valami infot magarol.

nekem a skype fogta, be volt kapcsolva a beallitasok->specialis ban a 80 port.

nem tudok mas modszert mint hogy a proceszeket egyesevel kilovod es a nmap localhost -p 80 ellenorzod mikor lesz close.

greyow

Probald meg az 'lsof'-ot, hatha segit.

Yndy

Töröltem az apache2 eltávolítása után az /etc/init.d/apache2 fájlt, majd ismét telepítettem.
Szépen mutatja a böngésző a localhost-on az index oldalt.
Most ezt a hibát mutatja ha újra akarom indítani:

$sudo /etc/init.d/apache2 restart
sudo: /etc/init.d/apache2: command not found

Nem értem. Nem telepíti újra ezt a fájlt? Hogyan tudom elindítani, vagy újraindítani az apache2-t.
Ubuntu 10.04.
Találkoztatok már a gonddal? Interneten nem leletem angol nem-tudásomnak megfelelő megoldást. :(

"Töröltem az apache2 eltávolítása után az /etc/init.d/apache2 fájlt"
Hogyan távolítottad el a csomagot (pl. remove, vagy purge), és melyiket (metacsomagot, vagy a valódit)? Továbbá melyiket és hogyen (install vagy reinstall) telepítetted újra? A sejtésem az, hogy vagy metacsomagot távolítottál el, vagy nem a konfigfile-ok törlésével. Nem írtad, milyen rendszer alatt használod. Konkrét parancsot ezután tudunk írni.

Hű.
Igyekszem. Köszi a türelmet.
Először ledaráltam synapticcal, utána sudo mc-ben töröltem a /etc/init.d/apache2 fájlt, majd ezután az ezen az oldalon találaható "Példa a működésképtelen Apache2 teljes eltávolítására" résznél lelhető 3 parancsot kiadtam, majd ez után telepítettem ismét az ez alatt olvasható sudo apt-get install apache2 paranccsal.
Ubuntu 10.04, gnome. Nem tudom mi az, hogy metacsomag, így gyanítom, hogy a valódit távolítottam el. Hogyan tudom ezt ellenőrizni? Linux-generic és-preemt csomagok vannak fenn, ha ez számít.

$ apache2 -v
Server version: Apache/2.2.14 (Ubuntu)
Server built: Nov 18 2010 21:19:09

$ apache2 -V
Server version: Apache/2.2.14 (Ubuntu)
Server built: Nov 18 2010 21:19:09
Server's Module Magic Number: 20051115:23
Server loaded: APR 1.3.8, APR-Util 1.3.9
Compiled using: APR 1.3.8, APR-Util 1.3.9
Architecture: 64-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT=""
-D SUEXEC_BIN="/usr/lib/apache2/suexec"
-D DEFAULT_PIDLOG="/var/run/apache2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="/var/run/apache2/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
-D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"

Remélem elküldtem a szükséges adatokat. Nem értem mi lehet a gondja. Bár sosem a gép a hülye... :)

Rendben. Tehát elvileg a tokkal-vonóval töröltetted az apache kezdetű telepített csomagokat. Eddig jó.

Az /etc/init.d/apache2 file az apache2.2-common csomag része, azt kell újratelepítened.
man apt-get:

--reinstall
  Re-Install packages that are already installed and at the newest version. Configuration Item: APT::Get::ReInstall.

Azaz:

apt-get --reinstall install apache2.2-common

A metacsomag egy csak függőséget leíró csomag, mint például az apache2.

Gyanú: vagy lemaradt véletlenül a --purge kapcsoló, vagy az Ubuntuban lévő apt-get érzékeny a kapcsoló-parancs sorrendre.

Hm. A terminal ilyen szép hibaüzeneteket tud kiírni:

Beállítás: apache2.2-common (2.2.14-5ubuntu8.4) ...
ERROR: Module reqtimeout does not exist!

Beállítás: libapache2-mod-php5 (5.3.2-1ubuntu4.7) ...
Error: The new file /usr/share/php5/php.ini-production does not exist!
dpkg: hibás feldolgozás: libapache2-mod-php5 (--configure):
installed post-installation script alfolyamat 1 hibakóddal kilépett
dpkg: függőségi gondok miatt nem beállítható e csomag: php5:
php5 függőségek: libapache2-mod-php5 (>= 5.3.2-1ubuntu4.7) | libapache2-mod-php5filter (>= 5.3.2-1ubuntu4.7) | php5-cgi (>= 5.3.2-1ubuntu4.7); ám:
libapache2-mod-php5 csomag még beállítatlan.
`libapache2-mod-php5filter' csomag nincs telepítve.
`php5-cgi' csomag nincs telepítve.
dpkg: hibás feldolgozás: php5 (--configure):
függőségi hibák - e csomag beállítatlan maradt
Nem került írásra apport jelentés, mivel a hibaüzenet szerint ez a hiba egy korábbi hiba következménye
Hibák történtek a feldolgozáskor:
libapache2-mod-php5
php5
E: Sub-process /usr/bin/dpkg returned an error code (1)

Eszerint valamilyen csomag összefüggéstelenségi probléma lehet? Összevissza ütköznek ezek a csomagok. Hiányolja a libapache2-mod-php5filter csomagot, de ha telepíteni akarom, akkor ütközőnek látja a libapache2-mod-php5-tel. Érdemes visszatérnem az eredeti tárolókhoz, majd frissíteni?

Köszi.
Elkzedtem bedarálni a dolgokat. Sikerült úgy vélem az eredeti tárolókhoz eljutnom, de a php5-memcache csomagot sehogy sem tudom levakarni a rendszeremről.

Eltávolítás: php5-memcache ...
sed: nem lehet olvasni /etc/php5/conf.d/memcache.ini: Nincs ilyen fájl vagy könyvtár
dpkg: hibás feldolgozás: php5-memcache (--remove):
installed post-removal script alfolyamat 2 hibakóddal kilépett
Hibák történtek a feldolgozáskor:
php5-memcache
E: Sub-process /usr/bin/dpkg returned an error code (1)

Talán valamilyen program lefogja? Az nem szokott gondot okozni...

Aztán újraraktam az apacsot. Ilyet ír ki az apt-get:

apache2-common csomag nem elérhető, de egy másik hivatkozik rá
.A kért csomag tehát: hiányzik, elavult vagy csak más forrásból érhető el
De az alábbi csomagok felváltják:
apache2.2-common apache2-utils
E: apache2-common csomagnak nincs e telepítéshez kijelölhető változata

Ez a kettő pedig már fennt van, az apache2.2-common-ról azt írja, hogy kézi telepítésre állított, ami nem tudom mit jelent.

És még most is ez a megváltoztatandó helyzet:

$ sudo /etc/init.d/apache2 restart
sudo: /etc/init.d/apache2: command not found

Egyébként újabb hiány ez alapján:

sudo apache2ctl start
[sudo] password for diska:
apache2: Could not open configuration file /etc/apache2/apache2.conf: No such file or directory

"Talán valamilyen program lefogja?"
Azt írja, hogy nincs ilyen file. Mi történt ezzel a rendszerrel? Mitől törlődtek file-ok?

A helyzet ugyanaz, mint az előző libapache2-mod-php5 - php5-common csomagnál:

sed: nem lehet olvasni /etc/php5/conf.d/memcache.ini: Nincs ilyen fájl vagy könyvtár

dpkg: hibás feldolgozás: php5-memcache (--remove):

Az általad előzőleg linkelt leírásban csak a /etc/apache2-t és a /var/www-t törli, ez pedig nem ott van, mint ahogy a php5-common hiányzója sem ezeken a helyeken volt. Mi volt itt, beletörlés a rendszerbe, vagy félbeszakított telepítések?

apache2-common csomag nem elérhető, de egy másik hivatkozik rá
.A kért csomag tehát: hiányzik, elavult vagy csak más forrásból érhető el
De az alábbi csomagok felváltják:
apache2.2-common apache2-utils
E: apache2-common csomagnak nincs e telepítéshez kijelölhető változata

Mi ez? Mi hivatkozik az apache2-common-ra? Az elvileg egy virtuális csomag, és sejtésem szerint csak Conflicts függőség van rá.

"Aztán újraraktam az apacsot."
Teljes kiadott parancsokat légy szíves bemásolni, mert így sosem fogjuk megfejteni, hogy milyen csomagot próbáltál feltenni, az milyen függő csomagokat húzott magával. És nem mellékesen mi most a tárolólista?

"Egyébként újabb hiány ez alapján:"
"sudo: /etc/init.d/apache2: command not found"
Ne akard elindítani az Apache-ot addig, amíg nem települt fel.

A rendszeremről jobban utána gondolva:

az rsync nevű programmal készítettem, készítek rendszeresen mentéseket egy ugyanakkora lemezre, amin a rendszerem vagyon a teljes rendszerről, összes könyvtár gyökerestül.
Nem régen fedeztem fel, hogy a ppa-kkal újabb csoamgokat tudok beszerezni. Aztán valószínűleg ennek köszönhetően egyszercsak lefagyott minden, nem tudtam elindítani sehogy a rendszerem. A grubban ekkor fedeztem fel egy sort, ahol ugyanazzal a rendszeramagggal indítás /dev/sdb1/ helyről indítási lehetőség volt, és ez szépen elindult, de nagyon sok program nem indult el, ami addig megvolt,újra kellett telepíteni.
De a grubból alapértelmezetten elindult ez a rendszer már, nem kellett belenyúlnom. Egyébént a biztonsági másolat mindig is leválasztva fuott a frissítési időt kivéve.

Hm.
Utánagondolva, valószínűleg ez az a lemezem lehet, amire a rendszerem tokkal-vonóval feltoltam. Ezt látszik megerősíteni az, hogy viszonylag újabb fájlokat, amiket valószínűleg a régi rendszerben még az utolsó szinkronizálás ideje után készültek meg tudtam nézni abban a könytrában, ami a jelenlegi mentéses lemez, és vissza is tudtam másolni.

Az apache és a php, phpmysqladmin megmaradt, de a phpmyadmin egy könyvtárszerkezetet mutatott, nem a belépő oldalt. Tehát sikerült a gondot elmélyítenem.

Lehet, hogy badarság az elgondolásom, a rendszercsere elmélet, nem tudom, előfordulhat-e ilyen.
Viszont, ha igen, akkor sem értem, hogy miért nem működik a programtelepítés.

Az alábbi állapotfelmérő parancsok kimenetei itt vannak:

$ dpkg -l php5-common php5-memcache php5 libapache2-mod-php5 apache2-common apache2.2-common
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Név Verzió Leírás
+++-==============-==============-============================================
un apache2-common (nincs leírás)
ii apache2.2-comm 2.2.14-5ubuntu Apache HTTP Server common files
ii libapache2-mod 5.3.2-1ubuntu4 server-side, HTML-embedded scripting languag
ii php5 5.3.2-1ubuntu4 server-side, HTML-embedded scripting languag
ii php5-common 5.3.2-1ubuntu4 Common files for packages built from the php
ii php5-memcache 3.0.4-2build1 memcache extension module for PHP5

$ egrep -hv '(^#|^$)' /etc/apt/sources.list{,.d/*.list}
deb http://archive.ubuntu.com/ubuntu lucid main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lucid-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lucid-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lucid-proposed main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lucid-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu lucid partner
deb-src http://archive.canonical.com/ubuntu lucid partner

$ apt-cache showpkg apache2-common
Package: apache2-common
Versions:

Reverse Depends:
apache2-mpm-itk,apache2-common
apache2.2-common,apache2-common
apache2.2-common,apache2-common
apache2-utils,apache2-common
apache2-mpm-worker,apache2-common
apache2-mpm-prefork,apache2-common
apache2-mpm-event,apache2-common
apache2-mpm-itk,apache2-common
apache2.2-common,apache2-common
apache2.2-common,apache2-common
apache2-utils,apache2-common
apache2-mpm-worker,apache2-common
apache2-mpm-prefork,apache2-common
apache2-mpm-event,apache2-common
Dependencies:
Provides:
Reverse Provides:

Van egy biztonásgi mentésem a korábbi /etc/init.d/apache2 fájlból. Érdemes azt visszamásolnom ebbe az új rendszerbe?
Tartok tőle, hogy visszamenőlegesen nem fogom tudni pontosan mi történt a rendszeremmel, lehet, hogy túl sok ppa-t kevertem bele.

A php5-common újratelepítésekor ez a hibaüzenet a synapticban:

php5-common 5.3.2-1ubuntu4.7 cseréjének előkészítése (e csomaggal: .../php5-common_5.3.2-1ubuntu4.7_amd64.deb) ...
Csere kicsomagolása: php5-common ...
libapache2-mod-php5 triggereinek feldolgozása…
Your apache2 configuration is broken, so we're not restarting it for you.
Beállítás: php5-common (5.3.2-1ubuntu4.7) ...

Az Apache problémájára lehet ez megoldás, de az a gond ezzel, hogy az Apache-on kívül van néhány ismert (php5-memcache, php5-common, apache2.2-common), és ki tudja mennyi nem ismert telepített csomag, amelyekből file-ok tűntek el különböző helyekről (eddig: /etc/init.d, /etc/php5, /etc/apache2, /usr/share/php5). És ha innen nézzük, nem biztos, hogy csak az Apache-ot kell rendbe tenni, lehet, hogy inkább az egész rendszert.

"Érdemes visszatérnem az eredeti tárolókhoz, majd frissíteni?"
Mármint melyik eredetihez? Mi van most beállítva, és mi volt előtte? Ha az eredeti alatt a telepített rendszer disztribúciójának és a kiadásának megfelelőt érted, és most nem ilyen, akkor mindenképpen.

A hiba:

  Beállítás: libapache2-mod-php5 (5.3.2-1ubuntu4.7) ...

  Error: The new file /usr/share/php5/php.ini-production does not exist!

De hova lett az a bizonyos /usr/share/php5/php.ini-production file? Ez a php5-common csomag része , az pedig a php5 csomag függősége. És innentől kezd a dolog érdekessé válni, hogy miért nincs meg a php5-common egyik file-ja. Lehet, hogy az sem települt megfelelően? Nézd meg az állapotát, és ha rendben lévőnek látszik, telepítsd újra, és nézd, hogy van-e közben figyelmeztetés vagy hiba.

A Listen nem szereti a 127.0.0.1:80 paramétert, ha ezt megadod akkor valóban nem indul el.

Használd simán a

Listen 80

sort.

--
falura elmegy, városban meg úgy sem nézik...

Nem volt kedvem végigolvasni az összes hozzászólást, de
Debian alatt, meg szerintem az unix-ok alatt általában
az APACHE 2.* ezen része így szól :

Listen 80

oda vszeg. nem kell host, sem ip.

vagy kivételes esetben Listen *:80