logo blechtrottel.net blechtrottel.net
English

W3C-Validator lokal

installation

  1. Die installation der MSI-datei des Apache2 gestaltet sich nicht wirklich schwierig. Als standard-installationspfad wird [...]\Apache Software Foundation\Apache2 angeboten. Bei der installation (nicht nur) von Linux-anwendungen empfiehlt es sich jedoch, keine verzeichnisnamen mit leerzeichen zu verwenden. Deshalb hat blechtrottel brodaktschns den pfad C:\Web\Apache2 gewählt.
  2. Auch ActivePerl lässt sich als MSI-datei ohne probleme installieren. Dabei empfiehlt es sich, dem vorschlag des installers zu folgen und den pfad zur perl.exe in die umgebungsvariable PATH aufzunehmen. Dem grundpaket fehlen allerdings einige module, die das Perl-skript des validators zum laufen braucht. Dazu später mehr. Die installation ließen wir in das verzeichnis C:\Web\Perl durchführen.
  3. Der validator des W3C und die DTDs stehen als tar.gz zum download bereit. Wir entpackten sie in C:\Web\Apache2\validator und C:\Web\Apache2\sgml-lib.

feinabstimmung

  1. Die httpd.conf im ordner conf des Apache2 muss auf die lokalen bedürfnisse abgestimmt werden, wobei wir uns hier nur auf die einstellungen für den validator beziehen. (Tip: der server muss CGI und SSI unterstützen). Die angaben unter httpd/conf/httpd.conf können inzwischen fast unverändert übernommen werden. Hier sind unsere einstellungen:


    Ein listing zum kopieren und einfügen der einstellungen gibt es natürlich auch.
  2. ActivePerl muss mit dem mitgelieferten installationsmanager ppm noch um ein paar module erweitert werden. Als vorarbeit sollte man unter Windows das Perl-skript im ordner validator\httpd\cgi-bin von check (ohne dateiendung) in check.pl umbenennen und die erste zeile des skripts (Shebang) in
    #!perl -w
    ändern. Danach kann das skript in einer DOS-box mit dem befehl (wieder mit unserem beispielpfad)
    perl C:\Web\Apache2\validator\httpd\cgi-bin\check.pl
    aufgerufen werden. Es kommt dabei genau bis zur ersten fehlermeldung wegen eines fehlenden moduls. Dieses kann nun mit dem ppm installiert werden (Die bedienung des ppm ist in der hilfe recht gut beschrieben). Nach erfolgreicher installation kann dann das skript wieder aufgerufen werden, liefert die nächste fehlermeldung usw. Da wir das schon getan haben, kann man alternativ ganz einfach folgende module suchen: Config-General, Encode-HanExtra, HTML-Encoding, SGML-Parser-OpenSP.
    Manche module werden auf den servern von ActiveState allerdings nicht angeboten, dann empfiehlt sich das repository der universität Winnipeg (http://theoryx5.uwinnipeg.ca/ppms) oder die adresse: http://trouchelle.com/ppm/package.xml. Alle pakete gibt auch im ppm.zip von David Tibbe. Das paket SGML-Parser-OpenSP ist anderswo überhaupt nicht funktionierend zu finden. Außerdem enthält das zip auch einige andere erweiterungen, die in früheren versionen des Validators gebraucht wurden.
    Die SGML-Parser-OpenSP im paket ist version 0.99, der Validator arbeitet inzwischen mit version 0.99.1+, die nicht für Windows erhältlich ist. In zeile 61 der check.pl muss daher die versionsnummer geändert werden:
    use SGML::Parser::OpenSP 0.99 qw();
    In unseren tests hat der Validator trotzdem funktioniert.
  3. Bleibt zuletzt der validator selbst. Im ordner htdocs\config findet sich die validator.conf, in der stammpfad (Base) in zeile 22 angegeben werden muss. Achtung: Die datei erwartet normale schrägstriche (forward slashes):
    Base = C:/Web/Apache2/validator
    Zeile 42 erwartet den pfad zur sgml-bibliothek:
    Library = C:/Web/Apache2/sgml-lib
    Sollen seiten von privaten IP-adressen im eigenen netz geprüft werden, so muss zeile 57 angepasst werden:
    Allow Private IPs = yes
    Das skript check.pl ist ab version 0.8.0 des validators sehr einfach anzupassen. In zeile 94 muss der pfad zur konfigurationsdatei angepasst werden:
    my $base => ($ENV{W3C_VALIDATOR_HOME} || 'C:/Web/Apache2/validator'),
    In zeile 105/106 braucht das skript noch einmal pfad-nachhilfe:
    -ConfigFile => ('C:/Web/Apache2/validator/htdocs/config/validator.conf'),

weiterTeil1 - Teil2 - Teil3