FollowSymlinks σε cgi-bin directory στον Apache
George Notaras
gnot at g-loaded.eu
Mon Apr 27 15:59:45 EEST 2009
Alexandros Kosiaris wrote:
> George Notaras wrote:
>> Alexandros Kosiaris wrote:
>> Η αλήθεια είναι ότι τα 'γραψα λίγο χύμα. :)
>> Τα configurations βρίσκονται στο /etc/awstats, ώστε κάνοντας χρήση του
>> script awstats_updateall.pl να ενημερώνονται τα awstats databases για
>> όλα τα sites.
>>
>> Όμως, το awstats.pl τρέχει ως cgi script ως εξής:
>>
>> http://www.example.org/awstats/awstats.pl
>> ή
>> http://www.example.org/awstats/awstats.pl?config=www.example.org
>>
>> Και στις δύο περιπτώσεις το awstats.pl ψάχνει το configuration αρχείο
>> awstats.www.example.org.conf στον κατάλογο από τον οποίο τρέχει. Δεν
>> μπορεί να ρυθμιστεί (ή τουλάχιστον εγώ δεν ξέρω πως θα γίνει αυτό χωρίς
>> να πειραχτεί ο κώδικας) να ψάχνει τα configs στο /etc/awstats/.
>
> Από τον κώδικα του awstats.pl γραμμή 1622
>
> # Check config file in common possible directories :
> # Windows : "$DIR" (same dir than awstats.pl)
> # Standard, Mandrake and Debian package : "/etc/awstats"
> # Other possible directories : /usr/local/etc/awstats", "/etc"
> # FHS standard, Suse package : "/etc/opt/awstats"
>
> Αυτά είναι τα σχόλια. Όντως όμως από τον κώδικα μερικές γραμμές πιο κάτω
> ορίζει τον πίνακα
>
> @PossibleConfigDir = (
> "$DIR", "/etc/awstats",
>
> "/usr/local/etc/awstats", "/etc",
>
> "/etc/opt/awstats" );
>
> και μετά ψάχνει το config file στα διάφορα directories. με την σειρά.
>
> Έκδοση awstats-6.9,1:
>
>> Οπότε, είναι αναγκαίο σε κάθε script aliased directory από το οποίο θα
>> τρέχει το awstats.pl, να υπάρχουν δύο symlinks:
>>
>> cd /home/user1/www.example.org/awstats/
>> ln -s /usr/share/awstats/wwwroot/cgi-bin/awstats.pl awstats.pl
>> ln -s /etc/awstats/awstats.www.example.org.conf \
>> awstats.www.example.org.conf
>>
>> Ελπίζω τώρα να είναι λίγο πιο ξεκάθαρο πού αντιμετωπίζω πρόβλημα γιατί
>> είναι μάλλον απαραίτητο να υπάρχουν τα παραπάνω symlinks μέσα στο
>> script-aliased directory.
>
> Τουλάχιστον για το .conf ελπίζω να είναι ξεκάθαρο πλέον ότι δεν το
> χρειάζεσαι. Για το awstats.pl θέλει το shared cgi directory που έγραψα
> στο προηγούμενο e-mail.
>
>>> Από εκεί και πέρα το να μετακινούνται(ή κοπιάρονται) τα αρχεία είναι
>>> εντομάκι που περιμένει να σε δαγκώσει. Και τα symlinks εκτός εάν
>>> φτιάξεις σταθερή διαδικασία που θα την τηρείς ευλαβικά κάποια φορά θα τα
>>> ξεχάσεις.
>> Γενικά για τα περισσότερα administration tasks φτιάχνω κάποιο script για
>> να κανει τις αλλαγές αμεσα σε όλα τα vhosts ή σε καθένα ξεχωριστά, οπότε
>> αυτο πιθανότατα δε θα είναι πρόβλημα.
>
> Καλό αυτό.
>
>>> Μπορείς να κάνεις μία παρασπονδία όμως φτιάχνοντας πχ ένα
>>> ειδικό cgi directory που θα περιέχει μόνο το awstats και θα είναι shared
>>> μεταξύ των vhosts.Πχ
>>>
>>> Εκτός των vhost declarations
>>>
>>> Alias /awstats "/usr/local/www/awstats/cgi-bin/"
>>> <Location /awstats>
>>> AddHandler cgi-script .pl
>>> Options +ExecCGI
>>> DirectoryIndex awstats.pl
>>> </Location>
>>>
>>> <Directory "/usr/local/www/awstats/">
>>> Options None
>>> AllowOverride None
>>> Order allow,deny
>>> Allow from all
>>> </Directory>
>> Το παραπάνω προϋποθέτει ότι όλα τα awstats configurations θα βρίσκονται
>> στο /usr/local/www/awstats/cgi-bin/ ? Αυτό είναι πολύ καλή ιδέα, αλλά θα
>> πρέπει ίσως να βρεθεί και κάποιος τρόπος ώστε να μην μπορεί ο ένας
>> χρήστης να βλέπει τα στατιστικά του άλλου.
>
> Τσού. Όλα βρίσκονται στο /usr/local/etc/awstats. Από εκεί και πέρα
> βάζοντας στο Location authentication, suEXEC στο κάθε virtualhost και τα
> κατάλληλα permission σε configuration και awstat databases λύθηκε το
> πρόβλημα.
>
Ευχαριστώ για την όλη βοήθεια. :)
Note to self: dammit, γιατί ακόμα θεωρώ τόσο extreme το να ρίξω μια
ματιά στον κώδικα;
More information about the Linux-greek-users
mailing list