Mittwoch, 2. Juli 2008

Perl-Suchmaschine.de: Rund 4.970.000 Seiten im Suchindex

Perl-Suchmaschine.de, eine Spezialsuchmaschine rund um die dynamische Programmiersprache Perl, enthält inzwischen etwas mehr als 1.000 Einträge im Suchindex. Ein Eintrag kann eine einzelne Seite oder auch eine ganze Website repräsentieren.

Insgesamt werden ca. 4.970.000 Seiten durchsucht. (Quelle: Suchmaschinen Statistik von Google CSE.)

Verbesserungsvorschläge sind nach wie vor willkommen.


Siehe auch: Vorhergehende Artikel zur Perl-Suchmaschine

Movable Type Security Update bei Strato (Powerweb-Pakete) installieren

Eine kleine Anleitung um Movable Type 4.1 OS bei Strato (Powerweb-Pakete) installieren habe ich erst vor kurzem veröffentlicht.

Zwischenzeitlich (bereits am 19. Juni 2008) ist ein Movable Type Security Update erschienen. Glücklicherweise muss nur eine einzige Datei (Search.pm) ausgetauscht werden.

Also nur die aktuelle Version MTOS-4.12-de downloaden oder den Patch, auspacken und die Datei ./MTOS-4.12-de/lib/MT/App/Search.pm nach /cgi-bin/mt/lib/MT/App/Search.pm hochladen.
Ein Backup der alten Search.pm kann allerdings nicht schaden.




That's it.

Dienstag, 24. Juni 2008

The Perl Review 4.3 - Summer 2008 erschienen

Bereits am Wochenende ist die Ausgabe 4.3 von The Perl Review erschienen.




Inhalt


  • Google's Summer of Code—Eric Wilhelm (first page)

  • TPF Grants—Alberto Manuel Simões (first page)

  • Test Anywhere Protocol—Jeremy Foster (first page)

  • My Own Test Module—Jonas B. Nielsen (first page)

  • Perl and Undecidability: Rice's Theorem—Jeffrey Kegler (first page)

  • Test::Builder::Tester—brian d foy (first page)




Abo

Man kann The Perl Review zum Preis von 9 USD (derzeit 5,78 EUR) als "Web access only" für ein Jahr abonnieren. Im Preis inbegriffen ist der Zugang zu allen bisher erschienen Ausgaben als PDF. Als Zahlungsmittel werden Kreditkarten und PayPal akzeptiert.

Es gibt natürlich auch die Möglichkeit die gedruckte Ausgabe zu bestellen. Weiterhin gibt es spezielle Angebote für Firmen mit mehreren Programmierern.


Es lohnt sich!

Freitag, 20. Juni 2008

Movable Type 4.1 OS bei Strato (Powerweb-Pakete) installieren

Nachfolgend eine kleine Anleitung um Movable Type Opensource (MTOS) 4.12. beim Webhoster Strato auf STRATO PowerWeb-Paketen zu installieren.

Notwendige Anpassungen

Ausführbare Perlprogramme im cgi-bin-Verzeichnis müssen bei Strato die Endung .pl haben. MTOS liefert aber alle Programmdateien mit der Endung .cgi aus. Daher müssen alle Dateien mit der Endung .cgi in .pl umbenannt werden. Im MTOS-Code müssen zusätzlich noch alle Verweise von .cgi auf .pl geändert werden.

Mit Linux und Perl ist das kein großes Problem.

Änderungen offline durchführen

Die Pakete Basic und Advanced enthalten keinen SSH oder Telnet-Zugang. Die notwendigen Änderungen müssen daher offline durchgeführt werden. Die geänderten Dateien werden anschließend per FTP auf den Server übertragen. Bei Paketen mit SSH-Zugang können die nachfolgenden Schritte auch auf dem Strato-Server durchgeführt werden.

Schritt 1: MTOS downloaden und auspacken


cd /tmp/
mkdir ./MovableType
cd ./MovableType

wget http://www.movabletype.org/downloads/stable/MTOS-4.12-de.zip
unzip -a MTOS-4.12-de.zip



Schritt 2: Dateiendungen und Quelltext anpassen

Das folgende kleine Shell-Skript benennt alle .cgi-Dateien in .pl um und ändert die Verweise auf .cgi-Dateien im Quelltext auf .pl.


#!/bin/bash

MTOSDIR='./MTOS-4.12-de/'

# Dateiendungen anpassen aka move *.cgi to *.pl

move=$(which mv);

for file in `find ${MTOSDIR} -name '*.cgi' -print `
do
dname=`dirname $file`
bname=`basename $file .cgi`
newname="${dname}/${bname}.pl"
$move $file $newname
done

# Konfigurationsdatei umbenennen

$move ${MTOSDIR}mt-config.cgi-original ${MTOSDIR}mt-config.pl-original


# Jetzt den Sourcecode anpassen
for file in `find ${MTOSDIR} -type f -print | grep -v '.gif' | grep -v '.jpg' | grep -v '.png' `
do
perl -pi -e 's/mt\-add-notify\.cgi/mt-add-notify.pl/g' $file
perl -pi -e 's/mt\-atom\.cgi/mt-atom.pl/g' $file
perl -pi -e 's/mt\.cgi/mt.pl/g' $file
perl -pi -e 's/mt\-check\.cgi/mt-check.pl/g' $file
perl -pi -e 's/mt\-comments\.cgi/mt-comments.pl/g' $file
perl -pi -e 's/mt\-feed\.cgi/mt-feed.pl/g' $file
perl -pi -e 's/mt\-search\.cgi/mt-search.pl/g' $file
perl -pi -e 's/mt\-tb\.cgi/mt-tb.pl/g' $file
perl -pi -e 's/mt\-testbg\.cgi/mt-testbg.pl/g' $file
perl -pi -e 's/mt\-upgrade\.cgi/mt-upgrade.pl/g' $file
perl -pi -e 's/mt\-wizard\.cgi/mt-wizard.pl/g' $file
perl -pi -e 's/mt\-xmlrpc\.cgi/mt-xmlrpc.pl/g' $file
perl -pi -e 's/mt\-mirror\.cgi/mt-mirror.pl/g' $file
perl -pi -e 's/rate\.cgi/rate.pl/g' $file
perl -pi -e 's/l10nsample\.cgi/l10nsample.pl/g' $file
perl -pi -e 's/mt\-config\.cgi/mt-config.pl/g' $file
perl -pi -e 's/mt\-config\.cgi\-original/mt-config.pl-original/g' $file
done


Exkurs: Bei einigen, älteren Strato-Servern, also andere als die hier angesprochenen PowerWeb-Pakete, ist Perl 5.8 als /usr/bin/perl58 installiert, d.h. die Shebang-Zeile muss entsprechend geändert werden.

# Auf manchen Strato-Servern gibt es mehrere Perlversionen
# Perl 5.8 muss manchmal explizit als #!/usr/bin/perl58 aufgerufen werden.
# Also erst Perl-Version prüfen, bevor dieser Teil genutzt wird
for file in `find ${MTOSDIR} -name '*.pl' `
do
perl -pi -e 's~#!/usr/bin/perl ~#!/usr/bin/perl58 ~' $file
done


Schritt 3: Geänderte Dateien per FTP übertragen

MTOS legt statische Dateien im Verzeichnis /mt-static ab und dynamische Programme im Verzeichnis /cgi-bin/mt/. Daher wird zuerst die Verzeichnisstruktur des Servers auf der lokalen Festplatte nachgebildet.

cd MTOS-4.12-de/
mv mt-static/ ../
cd ..
mv MTOS-4.12-de mt

Nun können die Dateien per FTP übertragen werden.

ncftpput -f login.cfg -R / mt-static
ncftpput -f login.cfg -R cgi-bin mt

Die Konfigurationsdatei (login.cfg) für ncftpput hat folgendes Format:

host sphygmomanometer.ncftp.com
user gleason
pass mypassword


Schritt 4: MTOS Setup

Das Konfigurationsmenü wird als http://ihre-domain.tld/cgi-bin/mt/mt.pl im Browser aufgerufen und ist weitgehend selbsterklärend.

Nicht vorhandene optionale Module

  • Crypt::DSA - Dieses Modul beschleunigt die Anmeldung als Kommentarautor.

  • Archive::Zip - Dieses Modul ist zur Archivierung von Dateien bei der Erstellung und Wiederherstellung von Sicherheitskopien erforderlich.

  • Archive::Tar - Dieses Modul ist zur Archivierung von Dateien bei der Erstellung und Wiederherstellung von Sicherheitskopien erforderlich.

  • IO::Uncompress::Gunzip - Dieses Modul ist zum Entpacken von Dateien bei der Erstellung und Wiederherstellung von Sicherheitskopien erforderlich.

  • IO::Compress::Gzip - Dieses Modul ist zur Komprimierung von Dateien bei der Erstellung und Wiederherstellung von Sicherheitskopien erforderlich.

  • Image::Magick - Dieses Modul ist zur Erzeugung von Vorschaubildern von hochgeladenen Dateien erforderlich.

  • Mail::Sendmail - Dieses Modul ist zum Verschicken von E-Mails über SMTP-Server erforderlich.

  • DBD::Pg - Ein DBD::Pg-Datenbanktreiber ist erforderlich, um eine PostgreSQL-Datenbank zu nutzen. Mindestens erforderliche Version: 1.32

  • DBD::SQLite2 - Ein DBD::SQLite2-Datenbanktreiber ist erforderlich, um eine SQLite-Datenbank (v2) zu nutzen.


Strato stellt die für MTOS zwingend erforderlichen CPAN-Module zur Verfügung, leider fehlen einige gängige Module. Die Funktionalität von MTOS wird dadurch jedoch nur (sehr) wenig eingeschränkt. Das ist halt mal so in dieser Preisklasse.

Schritt 5: MySQL-Datenbank

Die genauen Zugangsdaten für Ihre Webpräsenz finden Sie im Strato-Kundencenter.

Benötigt werden Datenbankhost (meist rdbms.strato.de), Datenbankname, -user und -passwort.

Schritt 6: Mailkonfigurierung

E-Mails werden per Sendmail versandt. Bei Strato ist der Sendmailpfad

/usr/lib/sendmail


Schritt 7: Zugriff auf Konfigurationsdatei sperren

Nach erfolgreicher Konfiguration werden die Einstellungen in /cgi-bin/mt/mt-config.pl gespeichert.

Der Zugriff auf mt-config.pl sollte noch durch eine .htaccess-Datei im Verzeichnis /cgi-bin/mt/ gesichert werden.

Beispiel .htaccess-Datei

<Files mt-config.pl>
<Limit GET>
deny from all
</Limit>
</Files>


Lessons learned

Movable Type Opensource (MTOS) 4.1. veröffentlicht Weblogeinträge statisch. Das ist von Vorteil bei kleinen, sprich leistungsschwachen, Hosting-Paketen.

Der Zugriff ist für Leser dank der statischen HTML-Seiten wesentlich schneller als bei vergleichbarer Weblog-Software, die alle Seiten dynamisch erzeugt und bei jedem Zugriff viel Rechenpower benötigt.

Andererseits dauert die Veröffentlichung neuer Einträge auf so kleinen Hosting-Paketen (nicht nur bei Strato) schon mal ein oder zwei Minuten, bei sehr vielen Einträgen auch gerne länger.

Falls Sie sehr viel bloggen, sollten Sie besser ein (etwas) leistungsfähigeres Hosting-Paket wählen und auf jeden Fall Movable Type Opensource (MTOS) verwenden.

Viel Spass beim Bloggen!


Update:
Siehe auch:

Movable Type Security Update bei Strato (Powerweb-Pakete) installieren

Mittwoch, 18. Juni 2008

Talk: Introduction to Mason

Die Slides von Dave Rolsky (‎autarch‎) Vortrag Introduction to Mason sind online.

"An introduction to Mason. Mason (aka HTML::Mason) is one of the most popular Perl templating systems. This talk will cover its basic syntax, some of its features, and also talk briefly about using Mason as part of a larger MVC system, with Catalyst as an example."

Enjoy!

Siehe auch:

Talk: Essential One-Liners

Die Slides (PDF) des YAPC::NA 2008 Vortrag ‎Essential One-liners‎ von Walt Mankowski (‎waltman‎) (Philadelphia.pm) sind online.

"Perl is not only a world-class programming language but also a potent command-line tool. However, even if you already write the occasional one-liner in Perl, chances are you're not taking advantage of all the tricks and shortcuts you could be. In this tour de force of compact Perl prowess, every audience member will become a command-line ninja!"

Enjoy!



Siehe auch:

Donnerstag, 12. Juni 2008

Perl-Suchmaschine als Search Engine Plugin für Firefox 2.x

Seit heute besteht die Möglichkeit die Suche in Perl-Suchmaschine.de komfortabel als Firefox Search Engine Plugin zu nutzen.



Installation via Autodiscovery

Einfach auf Perl-Suchmaschine.de gehen. Firefox erkennt, das ein Search Engine Plugin für Perl-Suchmaschine.de zur Verfügung steht. Anschließend in der Suchleiste auf "Perl-Suchmaschine hinzufügen" klicken. Fertig.




Das Plugin wird in Kürze auch für IE7 für Windows XP zur Verfügung stehen.

Siehe auch: