PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : apache feste ip?



david.preuss
12.06.03, 17:11
ich versuche nen apache aufzubauen. der rechner war vorher dhcp client. ich muss doch jetzt ne feste ip einrichten oder?

dp

HirschHeisseIch
12.06.03, 17:24
Nö, wieso solltest du?? Der Apache horcht einfach nur auf Port 80 (default) Ist natürlich einfacher zu finden, wenn du ne feste IP einrichtest ;)

david.preuss
12.06.03, 21:12
weil er irgendwie sagt cannot bind to 0.0.0.0:80...

DJDHG
12.06.03, 23:34
Moin Moin


weil er irgendwie sagt cannot bind to 0.0.0.0:80

wenn ich mich nicht teusche heist das, das der port 80 schon belegt ist.

mfg DJDHG

Andy09
12.06.03, 23:37
warum soll er dann aber 0.0.0.0 sagen?! schließlich kann auch 192.168.48.99:80 schon belegt sein, dass interessiert dann aber 0.0.0.0 nicht. Also muss was wohl eher in der etc/httpd/httpd.conf entsprechend eingetragen werden, behaupte ich jedenfalls mal.

Gruß
Andy

DJDHG
13.06.03, 00:29
woher soll der apache wissen das er z.b. auf der IP 192.168.100.1 rumreitet?

der apche lauscht nur am port 80, falls nicht anders eingestellt.

ich habe mal die ganze fehlermeldung rausgesucht


Only one usage of each socket address (protocol/network address/port) is normally permitted. : make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down

daraus lässt sich schon einfacher sagen das der port 80 belegt ist.

:edit:

ich bin in meinem netzwerk unter ip 192.168.100.1 und habe 2 mal den apache starten
wollen. beim erstenmal ging es beim, 2. kam obige fehlermeldung
:/edit:

mfg DJDHG

HirschHeisseIch
13.06.03, 01:25
Du hast anscheinend den Apachen auf ip 0.0.0.0 gebunden... Kann man irgendwo in den Settings einstellen... Hab jetzt aber kein Plan wo :rolleyes:

DJDHG
13.06.03, 01:28
wenn ich gemeint bin.
Nein, mein apache läuft auf keiner fest zugewiesenen IP.

mfg DJDHG

david.preuss
13.06.03, 07:27
ok, danke für die antworten, aber wo liegt jetzt das problem? ich versuche den auf suse 6.1 zu installieren, muss ich dann in etc.config irgendwas einstellen?

dp

Andy09
13.06.03, 10:01
Hi,

schau mal ob du in /etc die Datei httpd.conf findest, oder in
/etc/httpd weiss nicht so genau. Wenn du sie dann gefunden hast,
dann Poste die Datei hier einfach mal, damit kann der eine oder
andere sicher eher was anfangen ;)

Gruß
Andy

david.preuss
13.06.03, 11:23
mache ich gleich heut abend, bin im moment in der firma. bitte etwas geld...

bis heut abend...

DJDHG
13.06.03, 11:29
geld oder gedult? :D

david.preuss
13.06.03, 12:01
wenn deine antwort gut ist, vielleicht geld ;-) ... natürlich geduld!

wisnitom
14.06.03, 11:28
hi,

weiss jetzt nicht, ob ich dein Problem richtig verstehe,
wenn du keine feste IP hast , dann binde doch den Apache an 127.0.0.1
mit ServerName 127.0.0.1:80 in der httpd.conf.
Wegen der Erreichbarkeit von aussen (mittels dyndns etc.) kommt
es darauf an, was du vor hast und wie deine Infrastruktur aussieht.
Der Rechner muss eben an seiner dhcp Adresse bekannt und
erreichbar sein.

grüsse,

david.preuss
14.06.03, 12:02
ich hab den apache und php auf mac osx installiert. wenn ich nun mit emacs in htdocs ne datei namens test.html schreibe und versuche die mittels http://127.0.0.1/test.html im browser zu öffnen, funktionert das nicht. die dateien die schon bei der installation drin waren klappen aber! woran könnte das liegen?

wisnitom
14.06.03, 12:13
hi,

wenn du auf das htdocs verzeichnis zugreifen kannst und nur
gewisse Dateien dort nicht sehen kannst, hat das meist 3 Gründe.

- entweder ist es eine Datei, die man nicht sehen soll (kann in der httpd.conf eingestellt werden)
- oder die Zugriffsrechte für die Datei auf Verzeichnisebene sind nicht richtig
- in der httpd.conf .. z.B. im entsprechenden Directory, Location Container stimmen die Rechte etc. nicht

mit welchen User läuft der apache bei dir ? ... user, gruppe in der httpd.conf
sind die Rechte im htdocs Verzeichnis einheitlich/gleich .. meist ist es so, das
die neuen Dateien nach dem Kopieren nochmal rechtemäßig angepaßt werden
müssen (je nachdem woher sie kommen)

Lege dir aber besser ein paar Unterverzeichnisse an und verwalte diese
in der httpd.conf mittels Location Container.


grüsse,

david.preuss
15.06.03, 12:38
- entweder ist es eine Datei, die man nicht sehen soll (kann in der httpd.conf eingestellt werden)

wie?

- oder die Zugriffsrechte für die Datei auf Verzeichnisebene sind nicht richtig

meinst du chmod a+x?

- in der httpd.conf .. z.B. im entsprechenden Directory, Location Container stimmen die Rechte etc. nicht

wie?

danke

david.preuss
15.06.03, 12:42
ich habe die testdatei in emacs direkt in das verzeichnis geschrieben mit der suffix html. müsste doch soweit funktionieren oder?

wisnitom
15.06.03, 14:32
Original geschrieben von david.preuss
- entweder ist es eine Datei, die man nicht sehen soll (kann in der httpd.conf eingestellt werden)
wie?
- oder die Zugriffsrechte für die Datei auf Verzeichnisebene sind nicht richtig
meinst du chmod a+x?
- in der httpd.conf .. z.B. im entsprechenden Directory, Location Container stimmen die Rechte etc. nicht
wie?
danke
zu 1: (httpd.conf)
#
# IndexIgnore is a set of filenames which directory indexing should ignore
# and not include in the listing. Shell-style wildcarding is permitted.
#
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

zu 2:
dein apache Hauptprozess wird mit root Rechten gestartet, die weiteren
Kindprozesse mit den in der http.conf angegebenen User und Gruppenname
bzw. ID (bei Standardinstallation mit prefork)
User apache
Group apache
(default steht da nobody, nogroup oder so ähnlich, für apache habe einen
eigenen User und eine eigene Gruppe eingerichtet)
Für diese User und Gruppen gebe ich dann auch die Rechte im Verzeichnis.

zu 3:
# ***************************************
# Einträge für test Verzeichnis
#
# ***************************************
<Location /test>
order deny,allow
allow from all
</Location>

Dies würde dir das Unterverzeichnis test unter htdocs für alle zum Zugriff
freischalten.

Da Apache unheimlich an Konfigurations- und Einstellungsmöglichkeiten hat,
solltest du dich unbedingt in entsprechende Dokumentation einlesen.
Es geht ja auch um die Sicherheit, wenn du deinen Rechner für Zugriff von
aussen freischaltest.

grüsse,

Pingu
15.06.03, 19:42
Original geschrieben von david.preuss
[B- oder die Zugriffsrechte für die Datei auf Verzeichnisebene sind nicht richtig

meinst du chmod a+x?[/B]
Der Apache soll die Datei nicht ausführen. Er soll sie lesen, also 'chmod +r'.

Soweit ich weiß (bitte korrigiert mich) müssen Dateien, damit sie vom Indianer ausgeliefert werden welt-lesbar sein. Also für Verzeichnisse 'chmod 0755' und für Dateien 'chmod 0644'.

-= Pingu =-

david.preuss
15.06.03, 20:01
so, hab einen rechner mit suse 8.1, dort wurde ein apache und php paket installiert. nun kann ich wenigstens php testen.

wird eigentlich wenn zb. jetzt den apache2 installiere dieser alte überschrieben? startet der befehl "apachectl start" dann den apache2? weil der mit suse installierte apache liegt in ganz anderen verzeichnissen! das gleiche problem hab ich übrigens auch mit macosx, dort ist ja auch schon ein apache vorinstalliert und es wird auch immer der "alte" gestartet obwohl ich schon den 2er installiert habe! wo muss ich dann eine änderung vornehmen?

wisnitom
16.06.03, 00:00
Original geschrieben von david.preuss
so, hab einen rechner mit suse 8.1, dort wurde ein apache und php paket installiert. nun kann ich wenigstens php testen.
wird eigentlich wenn zb. jetzt den apache2 installiere dieser alte überschrieben? startet der befehl "apachectl start" dann den apache2? weil der mit suse installierte apache liegt in ganz anderen verzeichnissen! das gleiche problem hab ich übrigens auch mit macosx, dort ist ja auch schon ein apache vorinstalliert und es wird auch immer der "alte" gestartet obwohl ich schon den 2er installiert habe! wo muss ich dann eine änderung vornehmen?
hi,

wenn du ein Programm von der Distri installiert hast, dann befindet sich dessen Startdatei/Script
meist unter /usr/bin /usr/sbin/ var/lib oder einem Verzeichnis, welches in dem Suchpfad (PATH)
ganz oben aufgenommen ist. Hast du parallel z.B. einen Apache 2 installiert, so installiert sich dieser
unter /usr/local/apache2/ und im Unterverzeichnis bin .. findest du auch wieder das apachectl ...
du musst es also dann direkt aus diesem Verzeichnis heraus starten.

So viel als Kurzantwort .. es gibt natürlich auch noch die Möglichkeit symbolische Links zu erstellen,
damit der alte Programmstart (oder ein neuer Link) auf die neue Version verweist. Aber darauf zu achten,
ob evtl. noch Konfigurationsdateien anzupassen sind und evtl. noch libraries bekannt sein müssen
(Eintrag des entsprechenden lib Verzeichnisses in die Datei /etc/ld.so.conf und danach ldconfig
ausführen).

grüsse,

david.preuss
16.06.03, 07:10
vielen dank für deine hilfe!

mfg, dp

Pingu
16.06.03, 08:04
Original geschrieben von david.preuss
so, hab einen rechner mit suse 8.1, dort wurde ein apache und php paket installiert. nun kann ich wenigstens php testen.

wird eigentlich wenn zb. jetzt den apache2 installiere dieser alte überschrieben? startet der befehl "apachectl start" dann den apache2? weil der mit suse installierte apache liegt in ganz anderen verzeichnissen! das gleiche problem hab ich übrigens auch mit macosx, dort ist ja auch schon ein apache vorinstalliert und es wird auch immer der "alte" gestartet obwohl ich schon den 2er installiert habe! wo muss ich dann eine änderung vornehmen?

Bei Mac OS X befindet sich das Startup Script in '/System/Library/StartupItems/Apache/' bzw. das genaue Script ist in diesem Verzeichnis das Script 'Apache', wer hätte es gedact ;)

-= Pingu =-