User directory soll lokal so sein wie auf Rootserver
Ich möchte im LAN auf einer Suse 8 box eine gleiche Testumbgebung wie
auf einem Rootserver aufsetzten.
Deshalb habe ich in suse_public_html.conf geändert:
<IfModule mod_userdir.c>
# UserDir public_html ## Default
UserDir html
</IfModule>
Hallo Maggi, hallo Leute, Am Montag, 22. März 2004 08:06 schrieb Maggi:
Ich möchte im LAN auf einer Suse 8 box eine gleiche Testumbgebung wie auf einem Rootserver aufsetzten. Deshalb habe ich in suse_public_html.conf geändert: <IfModule mod_userdir.c> # UserDir public_html ## Default UserDir html </IfModule>
So einfach ist das nicht ;-)
Deine lokalen URLs lauten dann http://localhost/~webX/ - was Du
vermutlich nicht willst.
Davon abgesehen ist ~/public_html in diversen Apache-Binaries
*hardcodiert*. Um das zu ändern, musst Du Apache neu compilieren.
Suche mal wegen der Hintergründe im Listenarchiv, Ratti wollte vor
längerer Zeit auch schon mal ~/public_html umbenennen. Im damaligen
Thread wurden die ganzen Haken und Ösen auch genauer erläutert.
Wenn Du wirklich gleiche Bedingungen haben willst, schau mal auf dem
Rootserver in /etc/httpd/*confixx* (den genauen Dateinamen weiß ich
jetzt nicht auswendig) - darin findest Du für jede Domain einen
Abschnitt
Bei der Umstellung habe ich - in der Konsole SUSEconfig aufgerufen um die Einbindung von suse_public_html.conf in die httpd.conf zu machen - apachectl graceful Ist das der richtige Ansatz?
Ich verwende üblicherweise rcapache restart ;-) Ansonten: Wie bereits geschrieben, ist public_html an einigen Stellen hartcodiert. Ich würde also keine Änderung empfehlen.
Es wurden die Änderungen in der suse_public_html.conf nicht zuverlässig aufgenommen.
???
1. Kann ich irgendwo sehen, was die effektive httpd.conf ist, die durch Suse (oder confixx auf dem Rootserver) zusammenbebastelt wird?
Ein fertiges Tool dafür kenne ich leider nicht, aber ein Studium der httpd.conf sollte diese Frage klären (insbesondere die include-Befehle beachten).
2. Wo wird der Defaultwert eingegeben für das Anlegen der ~user Directories? Mit yast ist es - auf dem Rootserver /home/www/~user mit Suse 8.1 - aber /home/~user auf dem lokalen Suse 8.0 Ich vermute confixx hat auf dem Rootserver auch nur einen anderen Defaultwert vorgegeben.
Nach etwas Greppen: vi /etc/default/useradd Man kann allerdings useradd (das von YaST und Confixx aufgerufen wird) per Parameter das gewünschte Homeverzeichnis angeben und damit diesen defaultwert umgehen. Gruß Christian Boltz -- "Der Unterschied zwischen einem Windows- und Linux-User ist der, daß ein Linux-User lesen kann!" [Frank Gerd Walzebuck in suse-linux]
Hallo, Am Wed, 24 Mar 2004, Christian Boltz schrieb:
Davon abgesehen ist ~/public_html in diversen Apache-Binaries *hardcodiert*. Um das zu ändern, musst Du Apache neu compilieren.
Bis auf CGIs funktioniert bei mir alles. # strings /usr/sbin/httpd /usr/lib/apache/*.so | grep -i 'public_html' public_html # rpm -ql apache | grep 'bin/\|\.so' | xargs strings | grep public_html public_html # strings /usr/lib/apache/mod_userdir.so | grep public_ public_html Also, bei meinem Apachen ist das _genau_ einmal "hartkodiert", und zwar in mod_userdir.so. Wo hab ich nur die Quellen? *kruschtel* Ah, zum einen betrifft das suEXEC: ==== --suexec-userdir=_DIR_ Define to be the subdirectory under users' home directories where suEXEC access should be allowed. All executables under this directory will be executable by suEXEC as the user so they should be "safe" programs. [..] Default value is "public_html". If you have virtual hosts with a different UserDir for each, you will need to define them to all reside in one parent directory; then name that parent directory here. _If this is not defined properly, "~userdir" cgi requests will not work!_ ==== Verwendet wird public_html als string in httpd.h und das wiederum nur in mod_userdir.c. In den Kommentaren im Quelltext wird auf die suEXEC Doku verwiesen, und dort findet sich z.B.: ==== The _suEXEC_ feature -- introduced in Apache 1.2 -- provides Apache users the ability to run _CGI_ and _SSI_ programs under user IDs different from the user ID of the calling web-server. Normally, when a CGI or SSI program executes, it runs as the same user who is running the web server. ==== d.h. nur wenn man suEXEC und CGIs im UserDir verwenden will muss man evtl. apache neukompilieren. -dnh -- If you haven't got time to RTFM, you haven't got time to whine on this mailing list.
Moin, Am Mi, den 24.03.2004 schrieb Christian Boltz um 0:11:
Davon abgesehen ist ~/public_html in diversen Apache-Binaries *hardcodiert*. Um das zu ändern, musst Du Apache neu compilieren.
Präzise: Ich glaube, in suExec war das so, und ich glaube, daß das eine der Apache-FAQs war. GRuß, Ratti
participants (4)
-
Christian Boltz
-
David Haller
-
Joerg Rossdeutscher
-
Maggi