PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : httpd(nicht aus Paketen) beim booten starten



uuser
02.02.10, 11:40
hallo,

ich habe Gestern zum ersten Mal einen apache, nicht aus Paketquellen, aufgesetzt. Host ist ein ubuntu-server (6.06). Es muss die Version sein. Ich danke aber dass das keine besondere Rolle spielen sollte.

Was mir Sorgen macht ist, dass der apache nicht automatisch mit dem System Startet. Ich habe eine kopie der "httpd" Datei in /etc/init.d/ platziert und mit
sudo update-rc.d httpd start 09 2 3 4 5 . stop 91 0 6 . in die jeweiligen runlevels verlinkt.
Das hat soweit auch funktioniert und httpd wird beim Start geladen wird aber nicht ausgeführt, mit der Meldung, dass 'ne Option fehlt, also "httpd -k ..."
Ist das das Problem?
Apache an sich lauft ohne Probleme.
Bitte um Hilfe!

Gruß

drcux
02.02.10, 11:55
Was mir Sorgen macht ist, dass der apache nicht automatisch mit dem System Startet. Ich habe eine kopie der "httpd" Datei in /etc/init.d/ platziert

Das Binary httpd oder ein Initskript mit dem Namen?

uuser
02.02.10, 12:55
Ich habe einfach die "httpd" Datei von (in meinem Fall) /etc/apache2/bin/httpd nach /etc/init.d kopiert und dann die links, wie schon erwähnt, erstellt. Beim Booten bekomme ich folgente Meldung:

Usage: /etc/init.d/httpd [-D name] [-d directory] [-f file]
[-C "directive"] [-c "directive"]
[-k start|restart|graceful|graceful-stop|stop]
[-v] [-V] [-h] [-l] [-L] [-t] [-S]
Options:
-D name : define a name for use in <IfDefine name> directives
-d directory : specify an alternate initial ServerRoot
-f file : specify an alternate ServerConfigFile
-C "directive" : process directive before reading config files
-c "directive" : process directive after reading config files
-e level : show startup errors of level (see LogLevel)
-E file : log startup errors to file
-v : show version number
-V : show compile settings
-h : list available command line options (this page)
-l : list compiled in modules
-L : list available configuration directives
-t -D DUMP_VHOSTS : show parsed settings (currently only vhost settings)
-S : a synonym for -t -D DUMP_VHOSTS
-t -D DUMP_MODULES : show all loaded modules
-M : a synonym for -t -D DUMP_MODULES
-t : run syntax check for config files

Andere grundliegende Frage. Ist das, was ich mache der Weg um apache automatish starten zu lassen? Danke!

marce
02.02.10, 12:57
ja, das ist der falsche Weg.

In /etc/init gehören die init-Scripte, die das jeweilige Binary starten. Vermutlich (bei vielen Distris so) gibt's irgendwo ein Skeleton-Script, das den grundlegenden Aufbau der Init-Scripte zeigt und das man kopieren und anpassen kann.

Alternativ einfach eines der anderen Scripte anschauen und nehmen. Mehr dazu gibt's in der Doku von *buntu - wobei ich gerade nicht weiß, ob die zur 6.06 noch Online ist.

uuser
02.02.10, 13:31
danke für die Antworten! Ich verstehe nicht, wo genau das Problem ist, denn alles was ich lese, beschreibt genau das, was ich gemacht habe. Auch wenn ich versuche den server manuell zu starten bekomme ich die selbe Fehlermeldung, wie beim booten:

user@606-server:~$ sudo /etc/init.d/httpd start
Password:
Usage: /etc/init.d/httpd [-D name] [-d directory] [-f file]
[-C "directive"] [-c "directive"]
[-k start|restart|graceful|graceful-stop|stop]
[-v] [-V] [-h] [-l] [-L] [-t] [-S]
Options:
-D name : define a name for use in <IfDefine name> directives
-d directory : specify an alternate initial ServerRoot
-f file : specify an alternate ServerConfigFile
-C "directive" : process directive before reading config files
-c "directive" : process directive after reading config files
-e level : show startup errors of level (see LogLevel)
-E file : log startup errors to file
-v : show version number
-V : show compile settings
-h : list available command line options (this page)
-l : list compiled in modules
-L : list available configuration directives
-t -D DUMP_VHOSTS : show parsed settings (currently only vhost settings)
-S : a synonym for -t -D DUMP_VHOSTS
-t -D DUMP_MODULES : show all loaded modules
-M : a synonym for -t -D DUMP_MODULES
-t : run syntax check for config files
user@606-server:~$

Es geht erst dann, wenn ich die "-k" Option miteingebe (was beim Starten des Systems nicht der Fall ist):

user@606-server:~$ sudo /etc/init.d/httpd -k start
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
user@606-server:~$
Ich bin fast am verzweifeln, wie bekomme ich den apache zu starten? Bitte um Rat und danke!

PS: apache ist 2.2.14, gestern heruntergeladen.

marce
02.02.10, 13:33
such mal nach einen Script apachectl - das ist eigentlich dafür gedacht, den Server zu starten.

Die Fehlermeldung ("could not..."), die Du bekommst hat damit aber an sich erst mal nichts zu tun - da ist Deine Serverkonfiguration noch nicht "perfekt". Die Lauffähigket beeinflusst das aber erst mal nicht.

Ansonsten würde ich Dir empfehlen, mal die Doku des Apache-Projektes zu lesen - da wird auf all das auch eingegangen...

http://httpd.apache.org/docs/2.2/install.html

drcux
02.02.10, 13:38
danke für die Antworten! Ich verstehe nicht, wo genau das Problem ist, denn alles was ich lese, beschreibt genau das, was ich gemacht habe.

Dann hast du falsch gelesen! Du kannst nicht einfach das Binary vom apache nacht /etc/init.d/ kopieren/linken! Du musst ein Initskript haben!

eule
02.02.10, 13:47
Ich habe einfach die "httpd" Datei von (in meinem Fall) /etc/apache2/bin/httpd
Das habe ich noch nie gesehen. In welcher Anleitung steht das so?

uuser
02.02.10, 14:05
@marce
Dane für den Hinweis, der hats gebracht! Apache startet nun beim booten mit :) Jetzt weiß ich, die richtige Datei ist "$ PREFIX/bin/apachectl" und nicht "$ PREFIX/bin/httpd"

@drcux und eule
also die Schritte, die mich zum Erfolg gebracht hatten. Ich habe selbst kein init-Skript erstellen müssen.



sudo cp PREFIX/bin/apachectl /etc/init.d/apachectl


sudo update-rc.d apachectl start 91 2 3 4 5 . stop 09 0 1 6 .

sudo shutdown -r now (das muss wirklich nicht sein ich wollte schnell sehen ob es geklappt hat -- und apache läuft


Falls ihr denkt, dass ich etwas falsch mache, bitte! Ich wills auch lernen und besser machen. Danke

marce
02.02.10, 14:06
Na, also Shutdown ist ein bisserl hart... - ein passendes init sollte es eigentlich auch tun...

Hättest Du übrigens die Doku zum Apache gelesen - so wärest Du nie auf die Idee gekommen, es anders zu probieren - vor allem, wenn Du die Sourcen von apache.org holst. "3rd-Party"-Tutorials sind manchmal auch einfach nur falsch oder auf "Sonderfälle" hin ausgerichtet (ja, es gibt Disitributionen, die, wenn man dort Apache aus dem Source-Tree _der Distribution_ baut, kein apachectl haben sonder ein Script namens httpd...)

uuser
02.02.10, 14:23
(ja, es gibt Disitributionen, die, wenn man dort Apache aus dem Source-Tree _der Distribution_ baut, kein apachectl haben sonder ein Script namens httpd...)
genau diesen Punkt hat mich in das Irrtum getrieben. Dazu steht noch auf der apache Seite:

Download $ lynx http://httpd.apache.org/download.cgi
Extract $ gzip -d httpd-2_0_NN.tar.gz
$ tar xvf httpd-2_0_NN.tar
Configure $ ./configure --prefix=PREFIX
Compile $ make
Install $ make install
Customize $ vi PREFIX/conf/httpd.conf
Test $ PREFIX/bin/apachectl start

Obwohl ich, zu meinem Scham, über 20 Mal auf der seite war, nahm ich das nicht wahr. Auf jeden Fall danke ich Dir für die Unterstützung.