Pearl-Script in der URL [gelöst]

Alles, was den Apache betrifft, kann hier besprochen werden.

Pearl-Script in der URL [gelöst]

Postby xRobert » 17. November 2009 19:02

Hallo,

ich habe seit langem auf einem Server unter anderem einen Apache2 laufen. An dem vergangenen Wochenende wollte ich der Forderung einiger Nutzer nachkommen, auf dem Server eine Statistik für Webseiten zu installieren. Meine Wahl viel auf AWStats, da diese als Debian-Paket zur Verfügung steht, in deutscher Sprache ist und eine Menge an Informationen schön aufbereitet darstellt. Da ich bisher für jeden Virtuellen Host eine eigene access.log eingerichtet hatte, wollte ich dieses auch fortführen. Nach einiger Zeit fand ich eine passende Anleitung zur Konfiguration der AWStats nach meinen Anforderungen.

Die Statistik läuft wunderbar, jedoch stört mich die URL, unter der diese aufgerufen werden muss! Mir ist jetzt schon klar, dass die Nutzer sich diese nicht länger als einen Tag merken können: http://domain.tld/awstats/awstats.pl
Mein Ziel ist es, dass die Statistik unter http://domain.tld/stats aufgerufen werden kann.

Den Alias awstats habe ich bereits in stats umbenannt, jedoch ist es immer noch notwendig, das Pearl-Script mit dem Dateinamen zu starten.

Hier noch einmal die entschiedenen Punkte:

1) Die Datei awstats.pl liegt in dem Verzeichnis /usr/lib/cgi-bin

2) /etc/apache2/conf.d/awstats:
Code: Select all
Alias /awstatsclasses "/usr/share/awstats/lib/"
Alias /awstats-icon/ "/usr/share/awstats/icon/"
Alias /awstatscss "/usr/share/doc/awstats/examples/css"
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
ScriptAlias /stats/ /usr/lib/cgi-bin/
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch


Ich würde mich freuen, wenn jemand eine Alternative zum Anlegen von Bookmarks hat. :wink:
Last edited by xRobert on 19. November 2009 10:19, edited 1 time in total.
MfG

xRobert
Bikers-IRC
xRobert
 
Posts: 8
Joined: 17. November 2009 18:17

Re: Pearl-Script in der URL

Postby Wiedmann » 17. November 2009 20:24

dass die Nutzer sich diese nicht länger als einen Tag merken können: http://domain.tld/awstats/awstats.pl

Mein Ziel ist es, dass die Statistik unter http://domain.tld/stats aufgerufen werden kann.

Den Alias awstats habe ich bereits in stats umbenannt, jedoch ist es immer noch notwendig, das Pearl-Script mit dem Dateinamen zu starten.

Also benutzt du aktuell: "http://domain.tld/stats/awstats.pl" und möchtest a) "http://domain.tld/stats" oder b) "http://domain.tld/stats/" haben?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Pearl-Script in der URL

Postby xRobert » 17. November 2009 20:57

Hallo Wiedmann,

mein Traum ist die Lösung b). Als würde man demnach mit dem Browser noch ein Verzeichnis hinter dem FQDN mit angeben. Dann wird eine darin enthaltene index.html auch automatisch gestartet und muss nicht mit angegeben werden.

Ich habe bereits in dem Verzeichnis /usr/lib/cgi-bin einen Symbolic Link index.html mit dem Verweis auf die awstats.pl erstellt. Ohne Erfolg...
MfG

xRobert
Bikers-IRC
xRobert
 
Posts: 8
Joined: 17. November 2009 18:17

Re: Pearl-Script in der URL

Postby Xardas der Dunkle » 17. November 2009 22:00

Versuch mal folgendes:
Code: Select all
    Alias /stats /usr/lib/cgi-bin/awstats.pl/
    <Location /stats>
        Options ExecCGI
        Allow from all
    </Location>


So habe ich es zwar nicht für awstats sondern für Trac, aber dort funktionierst.
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Re: Pearl-Script in der URL

Postby Wiedmann » 17. November 2009 22:15

Wiedmann wrote:Also benutzt du aktuell: "http://domain.tld/stats/awstats.pl"

:?:
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Pearl-Script in der URL

Postby xRobert » 17. November 2009 22:57

Xardas der Dunkle wrote:Versuch mal folgendes:
Code: Select all
    Alias /stats /usr/lib/cgi-bin/awstats.pl/
    <Location /stats>
        Options ExecCGI
        Allow from all
    </Location>


So habe ich es zwar nicht für awstats sondern für Trac, aber dort funktionierst.

Hallo Xardas,

vielen Dank! Das ist der richtige Weg! Das funktioniert soweit. Perfekt wäre es nun noch, wenn die Stats nun auch ohne den letzten Slash in der URL aufgerufen werden könnte:
http://domain.tld/stats/
Dieser Slash wird sonst bei der Angabe eines Verzeichnisses normalerweise ja nicht benötigt. Gebe ich die URL ohne diesen Slash an, bekomme ich die Meldung Not Found.

Wiedmann wrote:Also benutzt du aktuell: "http://domain.tld/stats/awstats.pl"

Mein Eröffnungsbeitrag 2. Absatz 1. Satz... Kurz: Jo! :-)
MfG

xRobert
Bikers-IRC
xRobert
 
Posts: 8
Joined: 17. November 2009 18:17

Re: Pearl-Script in der URL

Postby Wiedmann » 17. November 2009 23:03

Mein Eröffnungsbeitrag 2. Absatz 1. Satz...

Da steht "http://domain.tld/awstats/awstats.pl" und nicht "http://domain.tld/stats/awstats.pl"...

Perfekt wäre es nun noch, wenn die Stats nun auch ohne den letzten Slash in der URL aufgerufen werden könnte:
http://domain.tld/stats/

xRobert wrote:mein Traum ist die Lösung b)

Das war aber:
Wiedmann wrote:oder b) "http://domain.tld/stats/"


also möchstest du Lösung a) haben?:
Wiedmann wrote:möchtest a) "http://domain.tld/stats" ... haben?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Pearl-Script in der URL

Postby xRobert » 17. November 2009 23:09

Ich wünsche mir das selbe Verhalten im Browser wie bei einem regulärem Verzeichnis. Dieses kann mit oder ohne den Slash aufgerufen werden.

Ich hatte das oben falsch verstanden. Ich dachte .../stats wäre eine Datei und .../stats/ ein Verzeichnis.
MfG

xRobert
Bikers-IRC
xRobert
 
Posts: 8
Joined: 17. November 2009 18:17

Re: Pearl-Script in der URL

Postby Wiedmann » 17. November 2009 23:22

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
ScriptAlias /stats/ /usr/lib/cgi-bin/

Also daraus macht man ein:
Code: Select all
ScriptAlias /stats /usr/lib/cgi-bin/
<Location /stats>
    DirectoryIndex awstats.pl
</Location>


Ich habe bereits in dem Verzeichnis /usr/lib/cgi-bin einen Symbolic Link index.html mit dem Verweis auf die awstats.pl erstellt. Ohne Erfolg...

Und das macht man wieder rückgängig.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Pearl-Script in der URL

Postby xRobert » 18. November 2009 08:17

Ich bekomme dort ein
Forbidden

You don't have permission to access /stats/ on this server.

Der letzte Slash an der URL wird allerdings schon automatisch gesetzt. So weit funktioniert es. Ich muss gestehen, ich habe mich noch nie mit Berechtigungen eines Apaches beschäftigt. Ich habe bisher alles mit Nutzer- und Gruppenrechten auf Datei- und Verzeichnisebene und mit .htaccess / .htusers gelöst.
MfG

xRobert
Bikers-IRC
xRobert
 
Posts: 8
Joined: 17. November 2009 18:17

Re: Pearl-Script in der URL

Postby Nobbie » 18. November 2009 11:09

xRobert wrote:Ich muss gestehen, ich habe mich noch nie mit Berechtigungen eines Apaches beschäftigt. Ich habe bisher alles mit Nutzer- und Gruppenrechten auf Datei- und Verzeichnisebene und mit .htaccess / .htusers gelöst.


Dann wird es dringend Zeit. Du mußt Apache beibringen, dass er Dateien von /usr/lib/cgi-bin/ laden darf (und zwar nicht nur auf Betriebssystemebene, da müssen auch die Berechtigungen stimmen, d.h. der Prozess Apache muss dort lesen dürfen), sondern auch innerhalb von Apache. Apache ist (eine Ebene höher) quasi das "Betriebssystem" des Servers aus Sicht des Anwenders (Browsers).

Dazu mußt Du via <Directory ...>-Direktive den Zugriff erlauben (so eine Anweisung findest Du für das DocumentRoot-Verzeichnis, meist irgendwas mit .../htdocs, beispielhaft in der httdp.conf):

Code: Select all
<Directory "/usr/lib/cgi-bin/">
Order deny,allow
Allow From all
</Directory>


Und bitte dringend(!) die Doku von Apache bookmarken - sie sollte zur Standardlektüre werden (siehe http://www.apache.org).
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Pearl-Script in der URL

Postby xRobert » 18. November 2009 11:19

Nobbie wrote:Und bitte dringend(!) die Doku von Apache bookmarken - sie sollte zur Standardlektüre werden (siehe http://www.apache.org).


Ich denke nach drei Tagen lesen von Dokumentationen, Foren und Herumprobieren ist nichts gegen ein Eintrag im Forum einzuwenden. Wozu gibts die schließlich? Sonst kann das Forum hier auch geschlossen werden! Mein Problem scheint ja auch nicht so einfach zu lösen zu sein. Denn hier mein Eintrag in der /etc/apache2/sites-available/default:

Code: Select all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
</Directory>
MfG

xRobert
Bikers-IRC
xRobert
 
Posts: 8
Joined: 17. November 2009 18:17

Re: Pearl-Script in der URL

Postby Nobbie » 18. November 2009 12:44

xRobert wrote:Mein Problem scheint ja auch nicht so einfach zu lösen zu sein.


Für Dich nicht. Für andere schon. Wenn ich davor sitzen würde, wäre es in 2 Minuten erledigt. Aber "remote" ist es um Faktor 1000 schwerer.

xRobert wrote:Denn hier mein Eintrag in der /etc/apache2/sites-available/default:

Code: Select all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
</Directory>


Obligate Gegenfrage: wird diese Datei auch wirklich includiert? Und werden diese Zeilen auch wirklich interpretiert (oder steht ggf. irgendein if-Konstrukt drumherun?)?
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Pearl-Script in der URL

Postby xRobert » 18. November 2009 13:01

Nobbie wrote:
xRobert wrote:Mein Problem scheint ja auch nicht so einfach zu lösen zu sein.


Für Dich nicht. Für andere schon. Wenn ich davor sitzen würde, wäre es in 2 Minuten erledigt. Aber "remote" ist es um Faktor 1000 schwerer.

Das glaube ich Dir. Ich habe bisher nur mit html- und php-Seiten zu tun gehabt. Das lief soweit alles. Und ich bin für die Hilfe hier sehr Dankbar, weil ich schon so viel probiert hab und bisher keinen Schritt vorwärts gemacht habe, bis ich den Thread hier eröffnet habe.

Nobbie wrote:Obligate Gegenfrage: wird diese Datei auch wirklich includiert? Und werden diese Zeilen auch wirklich interpretiert (oder steht ggf. irgendein if-Konstrukt drumherun?)?


Die Datei enthält außer diesem Eintrag nur noch den Default-Eintrag für den Virtual Host in /var/www/, der auch funktioniert. Unter /etc/apache2/sites-enabled/ ist ein Symbolic Link auf die diese Datei in /etc/apache2//sites-available/. Der Inhalt der Datei ist immer noch der originale wie nach der Installation des Apache2-Paketes.
xRobert
 
Posts: 8
Joined: 17. November 2009 18:17

Re: Pearl-Script in der URL

Postby Nobbie » 18. November 2009 13:50

Ich habe das mal bei mir getestet, es liegt an der ScriptAlias-Direktive, die kriegt das im Zusammenhang mit DirectoryIndex nicht hin (wahrscheinlich ein Reihenfolgeproblem).

Deswegen mußt Du es leicht ändern:

Code: Select all
Alias /stats /usr/lib/cgi-bin
<Location /stats>
    Options ExecCGI
    AddHandler cgi-script .pl
    DirectoryIndex awstats.pl
</Location>


So herum funktioniert es.

P.S.: Und unbedingt mit F5 die Seite refreshen!! Sonst bekommst Du evtl. alte Fehlermeldungen aus dem Browsercache.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Next

Return to Apache

Who is online

Users browsing this forum: No registered users and 18 guests