Homepage email me grab rss 2.0 feed

Archiv für Schublade Code

Ruby on Rails Spielwiese

Ruby on RailsJuhuu – ich habe eine neue Subdomain! :-)

rails.altes-kind.de soll meine ersten (zaghaften) Gehversuche mit dem Webdevelopment-Framework Ruby on Rails aufzeichnen. Noch ist alles sehr, sehr einfach (habe ja auch erst gestern kurz angefangen) – aber schon bald sollte sich da einiges tun.

Und sorry Hil – in den nächsten Wochen sollten mehrere Einträge über Ruby on Rails folgen. ;-)

3 Kommentare

Veränderung der Permalink Struktur in WordPress

Gestern Abend habe ich die Permalink Struktur meines WordPress Blogs geändert, und zwar auf die allseits beliebte “Date and name based” – Variante – also auf die Struktur /%year%/%monthnum%/%day%/%postname%/.

Für die Änderung der Struktur genügt in WordPress ein Klick – wer dabei allerdings die Meldung “You should update your .htaccess now” angezeigt bekommt, muss vorher noch die Zugriffsrechte seiner .htaccess Datei im root-Verzeichnis der WordPress-Installation ändern, so dass auch “Sonstige” oder “Andere” Schreibzugriff auf diese Datei bekommen. Dannach kann man die Änderung der Permalink Struktur in WordPress nochmal probieren – dann sollte es auch ohne Fehlermeldung klappen.

WordPress fügt dabei einfach folgenden Code in der .htacces Datei ein:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Noch ein Tipp: falls anschließend z.B. Bilder nicht mehr angezeigt werden liegt dass wahrscheinlich an einem relativen Pfad – also einfach alle Bilder mit einem absoluten Pfad versehen und dann sollte auch das funktionieren.

Außerdem bleibt der Blog auch über die alte Linkstruktur ereichbar – also keine Angst das die hart erarbeiteten Einträge bei Google & Co nach einer Änderung nichts mehr Wert sind.

Kein Kommentar

Meine neue und frei zugängliche Besucherstatistik

AWStats - häßliches Logo aber tolle Software!Bis jetzt habe ich die Besucher meiner jeweils aktuellen Webseite noch von einem externen Dienstleister (besuchercounter.de) erfassen lassen – aber das ist ab heute vorbei! Der letzte Besucher wurde heute um 10:48:19 Uhr erfasst und war Nummer 12399.

Da ich – wie ich in meinem ersten Eintrag auf altes-kind.de – ver 6 schon schrieb – seit bald 2 Monaten im Besitz von “eigenem”

Webspace bin, habe ich die Möglichkeit mit verschiedenen Tool die Server-Logdateien auswerten zu lassen, und habe somit Zugriff auf eine weitaus detaillierte Statistik. Standartmäßig ist zur Auswertung dieser Dateien bei den meisten Webservern die Software Webalizer installiert – die aber leider in mancher Hinsicht nur unbefriedigende Auswertungen ermöglichst.

Deutlich genauer lassen sich die Server-Logdateien z.B. mit der Open-Source-Software AWStats auswerten, dessen aktuelle stabile Version 6.5 ich mir gestern auf meinem Webserver installiert habe. Die Statistik ist übrigens auch öffentlich zugänglich – zu finden unter statistik.altes-kind.de (auch zu finden über den Link unter “Anderes”).

Installtion von AWStats

Eigentlich ist es überhaupt nicht schwer AWStats auf seinem Server bzw. seinem Webspace zu installieren, trotzdem scheitert wohl so ziemlich jeder mit seinem ersten Versuch. Deswegen möchte ich hier eine kleine Anleitung geben.

1. Zuerst lädt man sich die aktuele stabile Version von AWStats herunter und entpackt es auf der Festplatte.

2. Mit einem FTP-Client legt man im “Root-Verzeichnis” (dem obersten Verzeichnis) einen Verzeichnis namens awstats an. Im Verzeichnis cgi-bin (das bereits vorhanden sein sollte) legt man die Verzeichnisse awstats und awstats/data an.

3. Nun öffnet man das entpackte Verzeichnis auf der Festplatte und kopiert mit dem FTP-Client das Verzeichnis wwwroot/icon (nur icon kopieren!) ins Verzeichnis awstats (in das Root-Verzeichnis des Webservers)

4. Schließlich kopiert man noch alle Dateien des Vezeichnisses wwwroot/cgi-bin nach cgi-bin/awstats auf den Webserver.

5. Nun geht es an die Konfiguration von AWStats: Dazu muss man das “model” der Datei cgi-bin/awstats/awstats.model.conf mit dem eigenen Hostnamen ersetzen, in meinem Fall heißt die Datei also nun cgi-bin/awstats/awstats.altes-kind.de.conf.

6. Dann öffnet man die Datei awstats.[hostname].conf und ändert ein paar Parameter. Als Beispiel habe ich meine Angaben in dieser Datei aufgeführt:
# SiteDomain="altes-kind.de"
# HostAliases="www.altes-kind.de"
# DirData="./data"
# DirCgi="/cgi-bin/awstats"
# DirIcons="/awstats-files/icon"
# AllowToUpdateStatsFromBrowser=1

7. Der wichtigste Parameter ist allerdings LogFile, denn dort gibt man an welche Logfile gerade ausgewertet werden soll. In welchem Format diese vorliegen ist von Hoster zu Hoster unterschiedlich, bei mir z.B. liegen sie tagesaktuell in einem GZip komprimierten Format vor. Die Logfiles für den vorherigen Tag werden also bei meinem Hoster jeden Nacht zwischen 1 und 3 Uhr in das Verzeichnis logs geschrieben, und liegen dort im Format access_log_YYYY-MM-DD.gz vor (also z.b. access_log_2006_05_26.gz).
Mein Parameter sieht also wie folgt aus: LogFile="gzip -d ../../logs/access_log_%YYYY-24-%MM-24-%DD-24.gz |"%YYYY, %MM, %DD werden durch die gerade aktuellen Werte ersetzt und -24 heißt einfach nur das auf die Datei vom letzten Tag zugeriffen wird (denn das ist ja die aktuellste).

8. Dann kann man die Seite cgi-bin/awstats/awstats.pl aufrufen. Am Anfang sind noch keine Daten ausgewertet. Dazu muss man auf “Jetzt aktualisieren” klicken. Wenn man alles richtig gemacht wird nun die Logfile des letzten Tages ausgewertet. Wer auch seine alten Logfiles auswerten will oder die Aktualisierung automatisieren will muss jetzt noch das nächste Kapitel lesen… ;-)

Alte Logfiles und automatische Aktualisierung

Eine Sache muss allerdings noch beachtet werden und ist wohl ein Nachteil von AWStats. Die Software führt eigene Dateien in denen die relevanten Werte für alle Tage gesammelt werden, allerdings müssen diese in der chronologisch richtigen Reihenfolge “importiert” werden. Das bedeutet folgendes:

1. Es muss jeden Tag ein Update gemacht werden und die geweils aktuelle Logfile (vom letzten Tag) einzulesen. Natürlich nur wenn der Hoster die Logfiles tagesaktuell zur Verfügung stellt, was aber meistens der Fall ist.
Das lässt sich aber mit einem sogenannten Cronjob leicht realisieren, bei cronjob.de kann man sich auch kostenlos welche erstellen. Bei mir wird z.B. per Cronjob automatisch zweimal am Tag (um sicher zu gehen) die Adresse …/cgi-bin/awstats/awstats.pl?framename=mainright&update=1 aufgerufen und AWStats so automatisch aktualisiert.

2. Wer die alten Logfiles einlesen will muss die für jede Logfile einzeln machen (die älteste zuerst!), also dem Parameter LogFile alle Logfiles der Reihe nach übergeben und dann ein Update ausführen – also z.B. LogFile="gzip -d ../../logs/access_log_2006-04-03.gz |", dann LogFile="gzip -d ../../logs/access_log_2006-04-04.gz |", LogFile="gzip -d ../../logs/access_log_2006-04-05.gz |" usw.
Ab dem aktuellen Tag kann man dann einen Parameter wie LogFile="gzip -d ../../logs/access_log_%YYYY-24-%MM-24-%DD-24.gz |" (siehe oben) verwenden und die Aktualisierung einem Cronjob überlassen.

Ok – ich gebe zu: das Ganze klingt wirklich kompliziert – aber eigentlich lässt sich das alles (wenn man nicht auch noch die alten Logfiles einlesen lassen will) in ca. 15 Minuten erledigen! Und dann hat man eine wirklich tolle Besucherstatistik – es lohnt sich also!

Viel Spaß! :-)

5 Kommentare

Weiterleitung mittels .htaccess …

… oder wie kriege ich das “www” aus meiner Domain!?

Wer wie ich seine Domain lieber ohne “www” mag, entweder aus ästhetischen Gründen, oder auch um in der “Top Referrer”-Lister anderer Seiten (siehe www.thomas-matterne.de) nur unter einer Domain zu erscheinen (unabhängig davon ob die eigene Domain mit oder ohne “www” aufgerufen wurde), kann wie folgt vorgehen.

1. Eine Datei names .htaccess im Root-Ordner der Domain erstellen.

2. Auf die richtigen Rechte achten, z.B. -rw-r--r-- (also Schreibrechte nur für den Eigentümer, Leserechte für alle).

3. Folgende Zeilen in die .htaccess schreiben (dabei natürlich altes-kind.de durch die eigene Domain ersetzen).

# .htaccess - altes-kind.de
# =========================
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.altes-kind\.de$ [NC]
RewriteRule ^(.*) http://altes-kind.de/$1 [R=301,L]

Natürlich lässt sich so auch eine Eingabe ohne “www” auf die Domain mit “www” umleiten, dazu einfach die beiden letzten Zeilen abändern.

Probiert es einfach mal aus, es ist leicher als es ausschaut. Bei Fragen einfach einen Kommentar schreiben…

4 Kommentare