APACHE2-Start beim Booten

MaMaBacardi

Well-Known Member
Ich habe folgendes Problem: Seit der letzten PHP-Installation startet der APACHE2-Server nicht mehr automatisch beim Booten.

In der rc.conf steht "apache2_enable="YES"" und die Pfade zu httpd.conf, httpd und apachectl sind:

/usr/local/apache2/conf/httpd.conf
/usr/local/apache2/bin/apachectl
/usr/local/apache2/bin/httpd

nach der PHP-Installation hinzugekommen:

/usr/local/etc/apache2/httpd.conf
/usr/local/sbin/apachectl
/usr/local/sbin/httpd

Wenn ich "apachectl start" eingebe, dann startet der Server auch ordnungsgemäß und mit "ps -ax" erhalte ich unter anderem:

/usr/local/apache2/bin/httpd -k start

Weiß jemand RAT?
 
MaMaBacardi schrieb:
/usr/local/apache2/conf/httpd.conf
/usr/local/apache2/bin/apachectl
/usr/local/apache2/bin/httpd
Wo kommt das denn her? Hast Du mal einen apache2 selber ohne Port gebaut?

MaMaBacardi schrieb:
Wenn ich "apachectl start" eingebe, dann startet der Server auch ordnungsgemäß und mit "ps -ax" erhalte ich unter anderem:

/usr/local/apache2/bin/httpd -k start
Du scheinst »/usr/local/apache2/bin« vor »/usr/local/bin« in $PATH zu haben.
Damit startet wohl der falsche(?) apache.

Was passiert denn bei einem?
Code:
/usr/local/etc/rc.d/apache2.sh start

Grüße paefchen
 
pkg_info ergab folgendes:
apache-2.0.54_4 Version 2 of Apache web server with prefork MPM

Ist es das was DU wissen wolltest cnopers?

Ich habe das Problem übrigens gelöst!

Im Shell-Skript /usr/local/etc/rc.d/apache.sh waren falsche Werte eingetragen bei "command=" und "required_files=". Nach Änderung dieser Werte bzw. der Pfade funkionierte alles wieder wie gewünscht.

Trotzdem Danke für Eure Bemühungen
 
Ja habe Apache2 mal ohne Ports gebaut.

Genauso scheint es gewesen zu sein paefchen!!! :-)
Nur kann ich mit Deinem $PATH noch nichts anfangen, bitte um Erklärung.
Sieht aus wie ne Variable aber wo finde ich sie?
 
Das ist die "WEG"-Variable fuer die jeweilige shell, wo sie Programme finden kann, die man direkt beim namen aus jedem verzeichnis heraus starten kann. Fuer die sh musst du /etc/profile editieren, fuer die csh /etc/csh.cshrc (fuer systemweite PATH). Bitte schau im Handbuch nach fuer andere shells und verschiedenen Variablendefinitionen jeder Shell. Du kannst ganz normal mit echo auslesen.
 
MaMaBacardi schrieb:
Nur kann ich mit Deinem $PATH noch nichts anfangen, bitte um Erklärung.
Sieht aus wie ne Variable aber wo finde ich sie?

Code:
echo $PATH
in deiner Shell eingeben.
Das ist eine Umgebungsvariable[1] der Shell. Dort stehen : separiert Pfade drinnen wo in genau der Reihenfolge nach den abgesetzten Kommandos gesucht wird.

MaMaBacardi schrieb:
Im Shell-Skript /usr/local/etc/rc.d/apache.sh waren falsche Werte eingetragen bei "command=" und "required_files=". Nach Änderung dieser Werte bzw. der Pfade funkionierte alles wieder wie gewünscht.

»falsche Werte« Nö. Der Skript kommt von dem Port www/apache2.
Zu diesem gehört der Apache unter /usr/local/bin, und du wirst wohl den unter /usr/local/apache2 eingetragen haben.

Das kann man natürlich machen, "lang lebe das Chaos" :p

[1] http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/shells.html
 
Naja paefchen nicht ich habe diese Werte in dieses Shell-Skript eingetragen, sondern wie oben gesagt, wollte der Apache2-Server nach der erneuten Installation von PHP mit Extensions nicht mehr beim Booten starten.
Die Werte müssen vorher anders gewesen sein und durch die PHP-Installation wurden halt die anderen Verzeichnisse angelegt. Auf diese Verzeichnisse verwiesen die Werte (Pfade).
Nun stehen wieder die richtigen Pfade drin und schon funzt es wieder.

Warum soll das keinen Sinn machen Kamikaze? Wenn man noch nichts von den Ports weiß, macht es schon Sinn, GELLE? Kannte mich überhaupt nicht aus mit BSD, Unix oder Linux und mußte innerhalb von 2 Wochen für die Firma, für die ich arbeite, einen Server mit Bugtracking-System, MediaWIKI usw. aufsetzen. Das war auch gleichzeitig mein erster Kontakt mit FreeBSD und Ports waren mir zu diesem Zeitpunkt auch noch völlig fremd.
 
Einfach, weil es viel komplizierter ist? Das kommt davon wenn man das Handbuch nicht liest.
 
HÖHÖ klar liest man es nicht, wenn man kaum Zeit hat, Scherzkeks!
Allerdings habe ich ehrlich gesagt bis heute auch noch nicht alles gelesen. :rolleyes: Ich gehe da sehr selektiv vor. Nur das lesen, was gerade relevant ist, ist mein Motto!
 
Ich Wette du wärst mit Apache installieren schneller fertiggewesen, wenn über das Inhaltsverzeichnis gegangen wärst und Kapitel 4 entdecht hättest.

Das ist nämlich genau das was man macht wenn man keine Zeit hat - man schaut ins Handbuch.
 
Ist es so? Wahrscheinlich schon aber was ist, wenn man noch gar nichts von dem Handbuch wußte? :zitter:

Eigentlich ist es ja auch egal. Ich frage mich nur warum jemand soviel Zeit damit verschwendet "Antworten" zu schreiben, die keinem weiterhelfen. Schon merkwürdig, findest DU nicht Kamikätzchen?

Also laß gut sein und schönen Dank für all die hilfreichen Beiträge!!!;)
 
Warum stellst du uns Fragen, die das Handbuch beantwortet hätte...

Die Leute die dir 'hilfreiche Antworten' gegeben haben schneiden sich damit ins eigene Fleisch unnötige Fragen zu beantworten.

RTFM.
 
Kommt beide runter. Bitte.

Handbuch lesen ist wichtig und produktivsysteme für die Firma aufsetzen ohne die Doku zu lesen blanker Wahn. Korrekt. Freundlich zu Neulingen zu sein ist auch wichtig. Korrekt.

Bitte wieder on Topic.
 
Hallo MaMaBacardi,

an Deiner Stelle würde ich jetzt so vorgehen:
  • pkg_delete aller Pakete, die irgendetwas mit Apache und PHP zu tun haben
  • Löschen aller Verzeichnisse und Config-Dateien, die irgendwie etwas mit PHP und Apache zu tun haben.
  • /etc/rc.conf auf "Vor-Apache" umstellen
  • System neu starten
  • Jetzt hast Du erstmal wieder ein sauberes System und kannst von vorne anfangen
  • heraussuchen der wichtigen Packages unter Berücksichtigung, dass Du Apache2 und PHP haben möchtest; Notiere Dir die Paketnamen!
  • pkg_add des RICHTIGEN PHP-Packages und Apache2
  • Konfiguiere Apache2 ohne PHP und teste diesen ausführlich - soviel Zeit muss sein
  • Konfiguriere PHP und teste dieses ebenfalls ausführlich
Ganz wichtig bei diesem ganzen Gerödel: tail -f /var/log/httpd-access.log, tail -f /var/log/httpd-error.log und tail -f /var/log/messages

Einen Tip habe ich noch, aber nich gleich böse werden. Ich weiß selber, wie es ist, wenn man plötzlich ein Projekt vor die Nase gesetzt bekommt, bei dem man nicht weiß, wo hinten und vorne ist.
Deshalb nimm Dir am Anfang immer eine halbe Stunde Zeit und recherchiere im Handbuch. Drucke Dir das FreeBSD-Manual einmal komplett aus (2 Handbuchseiten auf eine DIN-A4-Seite, die Rückseite ist dann für die Dokumentation von Fallstricken!!!), klebe bei jedem Kapitel Post-Its mit Kapitel-Nr. und kurzer Inhaltsangabe auf die Seite.
Und ganz wichtig: Es ist immer von Vorteil, wenn man schnell wichtige Infos extrhieren und dieses Extrakt auch schnell inhalieren kann.
Mache Dir auch Notizen zu den einzelnen Installationsschritten, schreibe Dir zu den Schritten eventuelle Fehlermeldungen auf, dann hast Du es leichter bei der Fehlersuche, weil Du weißt, woher sie kommen.

Wie geschrieben, dass sind nur Tips, die nach meiner Erfahrung sehr gut funktionieren und mich schon durch viele Projekte gerettet haben.

Viele Grüße und einen schönen Sonntag

Jürgen
 
Danke Juedan für die Tipps, ich werde einiges davon in Zukunft umsetzen.

Da wie weiter oben schon gesagt jetzt alles wieder funktioniert, ich keinen Test-Server zur Verfügung habe und außerdem wieder mit anderen Projekten beschäftigt bin, werde ich Deinen Rat bezüglich des sauberen Systems nicht umsetzen können.

Darüberhinaus bin ich ähnlich vorgegangen bei der Installation von Apache und PHP - erst Apache installiert und ausprobiert dann das gleiche mit PHP. Allerdings mußte ich PHP immer wieder ergänzen, da die Entwickler der Firma immer wieder neue Wünsche (Featurewünsche) geäußert haben, die nur mit zusätzlichen Modulen zu realisieren waren.

@ALL THX
 
Zurück
Oben