Passwort in Apache

minbo

Aktives Mitglied
Thread Starter
Dabei seit
30.05.2003
Beiträge
1.163
Reaktionspunkte
2
An der FH haben wir eine Webseitenerstellkurs. Ich darf freundlicherweise mein PowerBook benutzen, allerdings habe ich bei der Konfiguration manchmal Probleme.
Ich muss ein passwortgeschützes Verzeichnis anlegen in meinen DocumentRoot. Wie mache ich das bei Mac OS X 10.4.3? PHP läuft, Apache kann ich auch starten nur wie fummle ich am Apachen rum?

Die Aufgabenstellung ist folgende für Windows:

1. Legen Sie das zu schützende Verzeichnis an, z.B. Verzeichnis
”Vertraulich“ unter htdocs.
2. Fügen Sie folgenden Eintrag in der httpd.conf ein (am Ende):
<Directory "C:/Programme/Apache Group/Apache2/htdocs/Vertraulich" >
AuthType Basic
AuthName "Interne Dokumente"
AuthUserFile "C:/Programme/Apache Group/Apache2/conf/wwwusers"
Require user username
</Directory>
Ersetzen Sie dabei ggf. die Pfade und geben Sie für username einen eigenen Usernamen an.
3. Wechseln Sie in der DOS-Box in das Verzeichnis C:
\Programme\Apache Group\Apache2\bin und
führen Sie aus:
htpasswd -bc ../conf/wwwusers username passwort
Dabei ersetzen Sie
”username“ und ”passwort“ sinngemäß durch eigene Werte. (htpasswd ohne
weitere Parameter ruft die Hilfe auf.) Dieser Befehl erzeugt das File wwwusers im conf-Verzeichnis,
legt User
”username“ mit Passwort ”passwort“ an (mit MD5-verschlüsseltem Passwort).)
4. Restarten Sie den Apache. Legen Sie ein test.html file in das Verzeichnis
”Vertraulich“ und rufen Sie
es im Browser auf. Sie sollten nach Usernamen und Passwort gefragt werden. (Hinweis: Der Browser
merkt sich den Usernamen und das Passwort; wenn Sie später zu dieser Seite zurückkehren, werden
Sie nicht noch einmal nach dem Passwort gefragt, es sei denn, Sie schließen Ihren Browser und
starten ihn erneut.)


edit und Offtopic für maceis: ä, ü, ö und ß ergänzt
 
Zuletzt bearbeitet:
Guggst Du hier.

Ach übrigens; wenn Du zu faul bist, deine Frage mit korrekten Umlauten zu posten, solltest Du auch nicht allzuviel Fleiß von anderen erwarten.
 
An Deinem Rechner ist doch betimmt eine Tastatur angeschlossen *kopfschüttel*.
Aber halt, ich vergaß - da muss man evtl. mehr als zwei Tasten drücken.
 
maceis schrieb:
An Deinem Rechner ist doch betimmt eine Tastatur angeschlossen *kopfschüttel*.
Aber halt, ich vergaß - da muss man evtl. mehr als zwei Tasten drücken.
Ich habe es doch verbessert. Wo ist denn jetzt das Problem? Warum soviel Offtopic?
 
steht doch alles drin, was du tun mußt, ich sehe dein Problem nicht...
 
Incoming1983 schrieb:
steht doch alles drin, was du tun mußt, ich sehe dein Problem nicht...
Auf dem mac habe ich weder eine DOS-Box noch ein Verzeichnis c:/Programme.
Ich weiss nicht wie ich in welches Verzeichnis ich wechseln soll und wie die Befehle heissen.
 
maceis schrieb:
Guggst Du hier.

Ach übrigens; wenn Du zu faul bist, deine Frage mit korrekten Umlauten zu posten, solltest Du auch nicht allzuviel Fleiß von anderen erwarten.
böser, böser maceis. :D
Der Link ist nicht schlecht, muss ich mir mal durchlesen, wenn ich Zeit habe. :)

@minbo
Weißt du was ein Terminal ist? Findest du unter Applications/Utilities/.
die http.conf findest du da: /etc/httpd/httpd.conf.

C: gibt es bei Mac nicht. Findest du alles unter /.
Der Webserver Ordner findest du unter /Library/WebServer/. Dort gibt es 2 Ordner, einer für CGI Skripte und einer für die HTML-Seiten etc.

Jetzt müsstest du alles wissen. :eek:
 
TerminalX schrieb:
böser, böser maceis. :D
Der Link ist nicht schlecht, muss ich mir mal durchlesen, wenn ich Zeit habe. :)
...
Der sollte Pflicht sein, bevor man überhaupt etwas posten darf :D.

@ minbo
Nichts für ungut - meist bin ich sehr hilfsbereit, aber manchmal kann ich mir sowas nicht verkneifen.
Bei jemandem mit über 1.000 Postings hatte ich angenommen, dass er das Terminal und die Dateistruktur von Mac OS X zumindest schon kennt - zumal in Deiner ursprünglichen Frage nicht erwähnt war, dass Du konkret in diesem Bereich Hilfe erwartest.
Nimm´s nicht persönlich.

Wenn Du noch konkrete Fragen hast, immer raus damit.
 
maceis schrieb:
Der sollte Pflicht sein, bevor man überhaupt etwas posten darf :D.

@ minbo
Nichts für ungut - meist bin ich sehr hilfsbereit, aber manchmal kann ich mir sowas nicht verkneifen.
Bei jemandem mit über 1.000 Postings hatte ich angenommen, dass er das Terminal und die Dateistruktur von Mac OS X zumindest schon kennt - zumal in Deiner ursprünglichen Frage nicht erwähnt war, dass Du konkret in diesem Bereich Hilfe erwartest.
Nimm´s nicht persönlich.

Wenn Du noch konkrete Fragen hast, immer raus damit.
Das Fehlen der Platten- oder auch Partitionsbezeichnung wie C, D usw. ist mir bekannt. Nichtsdestotrotz habe ich nicht gewusst, dass die httpd.conf nicht sichtbar ist und sichtbar gemacht werden muss, wenn man sie im Finder darstellen möchte. Das halte ich nicht für ein Basiswissen, denn die wenigsten müssen sich mit php und Apache herumschlagen. Ich tue es das erst Mal.

Nungut, mein Fehler, dass mir erst nach dem Posten aufgefallen ist, dass bei copy&paste die Umlaute nicht mitkopiert worden sind.

Konkrete Frage: Wie muss ich die Pfade anpassen? Ich hatte bei Win XP einen Ordner mit der Bezeichnung -> wwwusers. Nun benötige ich bei Mac OS X etwas äquivalentes. Was und wo ist es?

Mein Stammverzeichnis müsste unter Benutzername/Sites liegen. Bei windows kann ich den kompletten Pfad angeben z.B. C:/Apachezeugs/phpzeugs/vertrauchlichsdokument dann guckt sich der Rechner den Pfad an und holt die Dateien da raus oder schreibt welche rein.

Bei Mac OS X habe ich pro Benutzer ein Stammverzeichnis (oder?) aber nur eine httpd.conf indem ich einen Pfad eingeben kann. Wie macht man das, dass der Pfad zu einem bestimmten Ordner hin soll, hier speziell der versteckte Ordner.
 
Vielleicht hilft es für's Verständnis, wenn Du Dich ein wenig mit Unix/Linux-Verzeichnisstrukturen auseinandersetzt. Wo Dein Stammverzeichnis ist, kannst Du in der Konfigurationsdatei Deines http-Servers finden (/etc/httpd/httpd.conf - wenn Du bei Linux einen Pfad "komplett" angeben möchtest, beginnst Du mit einem "/").

Öffne das Terminal (in Dienstprogramme); hier ist Deine "DOS-Box", die Dir weiter oben fehlte. Gib das da ein:
Code:
more /etc/httpd/httpd.conf | grep 'DocumentRoot'
und Du bekommst das Hauptverzeichnis und mit
Code:
more /etc/httpd/httpd.conf | grep 'UserDir'
das Benutzerverzeichnis.

Der volle Pfad entspricht dann:
Code:
/Users/mimbo/Sites

Innerhalb dieses Verzeichnisses musst Du die Verwendung einer .htaccess-Datei bzw. der Verwendung der Auth-Direktive evtl. noch zulassen. Hilfreich ist hier das Nachschlagen per Google, per Handbuch und bei einschlägigen Seiten.
 
minbo schrieb:
...
Konkrete Frage: Wie muss ich die Pfade anpassen? Ich hatte bei Win XP einen Ordner mit der Bezeichnung -> wwwusers. Nun benötige ich bei Mac OS X etwas äquivalentes. Was und wo ist es?
...
Du kannst entweder die DocumentRoot in der httpd.conf ändern (Serverneustart nicht vergessen) oder die voreingestellte (/Library/WebServer/Documents/).
Im zweiten Fall kannst Du Dir auch einen symbolischen link in / anlegen, um es etwas komfortabler zu haben:
Code:
sudo ln -s /Library/WebServer/Documents/ /wwwroot

minbo schrieb:
...
Mein Stammverzeichnis müsste unter Benutzername/Sites liegen. Bei windows kann ich den kompletten Pfad angeben z.B. C:/Apachezeugs/phpzeugs/vertrauchlichsdokument dann guckt sich der Rechner den Pfad an und holt die Dateien da raus oder schreibt welche rein.
...
Unter OS X empfehle ich Dir, Dich mit dem Terminal zu beschäftigen und die Seiten ebenso wie die Konfigurationsdatei mit eiem terminaleditor zu bearbeiten.
Wenn man das gewohnt ist, geht das wesentlich schneller un komfortabler als mit grafischen Programmen.
minbo schrieb:
...
Bei Mac OS X habe ich pro Benutzer ein Stammverzeichnis (oder?) aber nur eine httpd.conf indem ich einen Pfad eingeben kann. Wie macht man das, dass der Pfad zu einem bestimmten Ordner hin soll, hier speziell der versteckte Ordner.
Lege einen Symlink an, das ist das einfachste.
Oder du legst einen Ordner an und definierst den als DocumentRoot.

HTH

PS: Noch was: Lies Dir wenigstens das grundlegende Basiswissen zum Apache an, sonst wirst Du kaum Freude damit haben.
Anleitungen im Web gibts massenhaft und vom Anfänger- bis zum Expertenniveau.
Das muss nicht Mac OS X spezifisch sein, jede Linux oder Unix Anleitung tuts genauso.

Außerdem empfehle ich Dir *dringend* die httpd.conf einmal von Anfang bis Ende zu lesen. Die ist sehr gut dokumentiert.
Wenn Du da durch bist, wird Dir vieles schon klarer sein.
 
Hilarious schrieb:
...
Code:
more /etc/httpd/httpd.conf | grep 'DocumentRoot'
...
Code:
more /etc/httpd/httpd.conf | grep 'UserDir'
...
Das ist ja fast wie "useless use of cat" :D.
Schlechte Angewohnheiten sollte man nicht auch noch weiter verbreiten ;).
Besser:
Code:
grep DocumentRoot /etc/httpd/httpd.conf
und:
Code:
grep UserDir /etc/httpd/httpd.conf
 
maceis schrieb:
Das ist ja fast wie "useless use of cat" :D.
Schlechte Angewohnheiten sollte man nicht auch noch weiter verbreiten ;).
Besser:
Code:
grep DocumentRoot /etc/httpd/httpd.conf
und:
Code:
grep UserDir /etc/httpd/httpd.conf

Stimmt! (Ich bin voll davon ;) ) Danke für den Tipp, maceis!
 
Sofern noch nicht erledigt, kannst du den Passwortschutz auch dezentral im betrefenden Ordner durchführen. Dieser gilt dann für alle Unterordner. dazu brauchst du soweit ich weiß eine .htaccess und ein .htuser Datei. weiteres dazu unter http://de.selfhtml.org/servercgi/server/htaccess.htm (selfhtml ist überhaupt sehr empfelenswert, auch für Serverfrage, etc)

lg, joedelord

PS: Wozu dieses ganze OT Zeugs, schließlich geht es doch darum zu helfen. imho
 
Zurück
Oben Unten