httpd.conf -> Logfiles mit userdir

  1. balufreak

    balufreak Thread StarterMacUser Mitglied

    Mitglied seit:
    12.10.2003
    Beiträge:
    1.556
    Zustimmungen:
    28
    Hallo Leute!

    Ich möchte gerne dass mein Apache für jeden User einzeln ein access_log erstellt. Also ich hab den mod_userdir aktiviert

    nur wie kann ich jetz machen, dass wenn ich auf http://meinedomain/~meinuser gehe, dass er dann das logfile von diesem user schreibt?

    greets balu
     
    balufreak, 31.10.2004
  2. Adrenalinpur

    AdrenalinpurMacUser Mitglied

    Mitglied seit:
    07.07.2004
    Beiträge:
    666
    Zustimmungen:
    0
    du mußt in der vhosts für jeden user der auf seine domain zugreift als Beispiel

    > #<VirtualHost *>
    > # ServerAdmin webmaster@dummy-host.example.com
    > # DocumentRoot /www/docs/dummy-host.example.com
    > # ServerName dummy-host.example.com
    > # ErrorLog logs/dummy-host.example.com-error_log
    > # CustomLog logs/dummy-host.example.com-access_log common
    > #</VirtualHost>

    anlegen oder meinst du was anderes?
     
    Adrenalinpur, 31.10.2004
  3. balufreak

    balufreak Thread StarterMacUser Mitglied

    Mitglied seit:
    12.10.2003
    Beiträge:
    1.556
    Zustimmungen:
    28
    Ich glaube ich meine etwas anderes.

    Und zwar: beim mod_userdir.c kann man eben den UserDir angeben. Der ist bei mir public_html.

    Wenn ich jetzt in meinem browser http://meineserverip/~username eintippe holt apache automatisch die dateien aus dem homeverzeichnis/public_html ordner vom user username
    für das brauche ich ja keinen virtualhost.
     
    balufreak, 31.10.2004
  4. Placebo

    PlaceboMacUser Mitglied

    Mitglied seit:
    24.10.2004
    Beiträge:
    210
    Zustimmungen:
    0
    Virtualhosting wäre aber eine Möglichkeit, das ist vollkommen richtig.

    Du kannst nämlich in einem httpd.conf-File nicht zweimal einen Eintrag für Logfile eingeben. In jeder eigenen virtuellen Umgebung dagegen ja.

    Versuche es mal mit einer .htaccess-Datei im Rootverzeichnis des Webordners des Users. Dazu mußt du allerdings die Option (Allow Override All) in der httpd.conf eintragen. Somit könntest du einmalig den Wert für das Hauptverzeichnis des Users mit .htaccess überschreiben.

    Bitte mal hier abgrunzen wenns funktioniert hat.
     
    Placebo, 31.10.2004
  5. balufreak

    balufreak Thread StarterMacUser Mitglied

    Mitglied seit:
    12.10.2003
    Beiträge:
    1.556
    Zustimmungen:
    28
    also ich habs jetzt so gemacht

    in der httpd.conf habe ich:
    <Directory / >
    Allow Override All
    </Directory>

    und dann habe ich im userverzeichnis die .htaccess datei mit dem inhalt

    CustomLog /home/user/logs/access_log combined

    Das gibt bei mir jetzt ein internal server error

    EDIT: Der server meldet, dass an dieser stelle wo das .htaccess file ist, kein CustomLog erlaubt ist.
     
    balufreak, 31.10.2004
  6. Placebo

    PlaceboMacUser Mitglied

    Mitglied seit:
    24.10.2004
    Beiträge:
    210
    Zustimmungen:
    0
    Dann mußt du die conf-Datei benutzen die für jeden User zuständig ist. Sie liegt wie alle Configs im Verzeichnis /etc/httpd/users und trägt vorn den Kurz-Namen des Users. Z.B. Rotzfresse, dann ist es rotzfresse.conf

    Dann trage mal das Logfile dort ein.

    Wenn das auch nicht geht, bin ich zunächst mal überfragt.

    Wer macht auch so einen Unsinn?
     
    Placebo, 04.11.2004
  7. cilly

    cilly

    Liegt wohl daran, dass der httpd, also der User names www, keine Schreibrechte hat, um das Logfile zu erstellen, bzw. zu verändern.

    Folgendes könnte helfen:

    Code:
    chgrp www <logfiledir>
    chmod g+rwx <logfiledir>
     
    cilly, 04.11.2004