Apache beim Start beenden?

S

sftwin

Neues Mitglied
Thread Starter
Dabei seit
17.04.2004
Beiträge
14
Reaktionspunkte
0
Koennte mir Einer der Unix-Kenner da draussen sagen, ob es moeglich ist, per Script im Startobjekte-Ordner Apache herunterzufahren ('apachectl stop')?
Wenn ein Benutzer keine Administratorrechte hat, laeuft das Script nicht, weil dieser 'sudo' nicht benutzen darf...

Ich moechte nur sichergehen, dass Apache nach dem booten nicht laeuft, da ich ihn manchmal aktiviere, um an php-Scripts zu basteln.
Danke...
 
sftwin schrieb:
Ich moechte nur sichergehen, dass Apache nach dem booten nicht laeuft, da ich ihn manchmal aktiviere, um an php-Scripts zu basteln.

Der normale Weg wäre, den Apache überhaupt nicht automatisch beim Booten zu starten.

Und nur dann, wenn man ihn benutzen möchte, per apachectl zu starten und zu stoppen.

Nebenbei: Apache braucht zum Starten auch nur dann root Rechte, wenn er auf einen Port < 1024 hören soll (Standard ist 80). Um einen Apache auf z.B. Port 2000 zu starten braucht man kein root (der Port muß dann noch vorher in der Config eingetragen sein). Der Aufruf der Seiten ändert sich dann in localhost:2000/
 
sftwin schrieb:
Koennte mir Einer der Unix-Kenner da draussen sagen, ob es moeglich ist, per Script im Startobjekte-Ordner Apache herunterzufahren ('apachectl stop')?
Wenn ein Benutzer keine Administratorrechte hat, laeuft das Script nicht, weil dieser 'sudo' nicht benutzen darf...

Ich moechte nur sichergehen, dass Apache nach dem booten nicht laeuft, da ich ihn manchmal aktiviere, um an php-Scripts zu basteln.
Danke...

Eigentlich wäre das eine Aufgabe für ein StartupItem.
Da es aber ein StartupItem für den Webserver schon gibt (/System/Library/StartupItems/Apache/Apache), wäre eine Möglichkeit, dieses so zu ändern, dass der Webserver nur noch manuell gestartet werden kann (apachectl start).

Dazu könnte man z. B. die Zeilen 9 - 24 im o.g. Skript einfach auskommentieren.
Dies müsste für Deine Zwecke eigentlich reichen und lässt sich auch leicht wieder rückgängig machen.
 
hallo Woulion,

das ist natürlich eigentlich die sinnvollste Variante.

Nur:
wenn man dann "aus Versehen" doch einmal in der Systemeinstellung "Sharing" den Webser einschaltet, wird die Datei "/etc/hostconfig" wieder geändert.
 
Hi

Für diesen Fall würde ich die Hürde der Authetifizierung einbauen und die Sharing-Einstellungen sichern, so das nur Personen mit Admin-Account die Einstellung ändern dürfen. Die Admin müssen den Apache dann halt immer mit dem Terminal starten.

W
 
danke

ok, danke, dann waehle ich die simple loesung:
Apache immer per script apachectl starten, dann laeuft er garantiert nur bis zum naechsten neustart...
Das Problem war ja nur, dass man mit 'WebSharing' den Server immer fuer ALLE Benutzer hochfaehrt und er dann aktiviert bleibt.
Dank und Gruss
kr
 
Wenn man die Einstellungsdateien der einzelnen Benutzer so bearbeitet, daß sie selbst und auch andere keinen Zugriff auf den WebServer haben, kann dir eigentlich egal sein ob der WebServer nun läuft oder nicht.

Die *conf's der Benutzer liegen im Verzeichnis (/etc/httpd/users/) und tragen den selben Namen wie die Systemuser. Dort trägst du einfach folgende Anweisungen ein:

Order deny, allow
Deny from all

Options -Indexes

Somit hat niemand mehr Zugriff auf die Webseiten ala /~username, selbst du nicht. Wobei du aber weiterhin deine Seiten und das Web-Root aufrufen kannst. Mit HTACCESS kannst du dann deine eigenen Seiten noch vor Fremdzugriff schützen:

AuthType Basic
AuthName "Protected"
AuthUserFile "/home/php/.htpasswd"
Require valid-user

Order deny,allow
#Deny from all
Allow from all

DirectoryIndex index.html
 
Zurück
Oben Unten