====== HTML5 Validator Installeren ======
Installatie van een HTML5 Validator op de eigen, lokale machine (PC of notebook) heeft het voordeel dat lokaal ontwikkelde HTML5 pagina's direct op de lokale machine kunnen worden gevalideerd. Ze hoeven dus niet meer te worden geupload naar een externe validatie site (zoals bv. de site van w3.org).\\
Handig voor wie webpagina's het liefst ontwikkelt en test op de eigen PC of notebook!
Dit document beschrijft:
* installatie van de HTML5 validator **validator.nu engine** op de lokale machine
* integratie van de validator.nu engine met de lokaal ge_i:nstalleerde **w3c-markup-validator**
De validator.nu engine is JAVA-gebaseerd.
Build/Installatie: d.m.v. een python script, dat alle dependencies rechtstreeks van Internet ophaalt.
Na een succesvolle build/installatie wordt de validator.nu engine meteen vanuit een terminalvenster gestart.\\
Bij het starten worden diverse validatie-schema's rechtstreeks van het Internet opgehaald.
Getest op:
* Tux4u(r)/Penguin Suite, versie "PS-wheezy"
* w3c-markup-validator, versie 1.3
===== 1. Vereisten =====
* ge_i:nstalleerde **JDK** - JavaDevelopmentKit\\ (Debian pakket: **openjdk-6-jdk** met o.a. 'javac' en 'jar')((Debian 'fastjar' wordt door de validator.nu software niet ondersteund!))
* werkende Internet-connectie
* git
* python
Voor integratie met de w3c-markup-validator:
* ge_i:nstalleerde **w3c-markup-validator**,\\ bv. versie 1.2 (PS-app: "network-webcheck, versie 1.10-3")\\ of versie 1.3 (voor download en installatie: zie website van w3.org)
* werkende Apache2 server
===== 2. Bug =====
De software bevat een bekende java bug, waardoor het python build script de eerste keer struikelt over een "ClassCastException" en nog een tweede keer gerund moet worden om succesvol te eindigen.
===== 3. Stappenplan installatie validator.nu engine =====
Er moeten allerlei zaken van Internet worden opgehaald.\\
Build/Installatie als "superuser" (root) is daarom een mogelijk veiligheidsrisico.\\
**=> Voer de installatie uit vanuit het "operator"-account.**
- Maak als gebruiker "operator" een nieuwe directory t.b.v. installatie, bv. onder /usr/local
$ su - operator
Password:
$ cd /usr/local
$ mkdir html5-checker
- Ga naar de nieuwe directory; kloon de validator **build** directory van github en check het resultaat.
$ cd html5-checker
$ git clone https://github.com/validator/build.git build
$ ll -a build
drwxr-sr-x 8 operator staff 4096 Jun 18 11:58 .git
-rw-r--r-- 1 operator staff 5 Jun 18 11:58 .gitignore
-rw-r--r-- 1 operator staff 2063 Jun 18 11:58 README
-rwxr-xr-x 1 operator staff 43135 Jun 18 11:58 build.py
-rw-r--r-- 1 operator staff 64845 Jun 18 11:58 build.xml
- Check/Zet de **JAVA_HOME** env-parameter (nodig voor het runnen van het build script)
$ env | grep 'JAVA_HOME'
$ export JAVA_HOME=/usr/lib/jvm/default-java
- Run vervolgens het build script met de optie "all". ((Het build script zal diverse subdirectories aanleggen. Run het vanuit de "html5-checker" directory en niet vanuit de "build" subdirectory!))\\ Door de java bug zal het python build script de eerste keer niet zover komen dat de validator.nu engine gestart wordt.
$ cd ..
$ python build/build.py all
- Run het python build script opnieuw.\\ De validator.nu engine zal nu wel gestart worden. ((Zoniet: run het script opnieuw! Er kan bv. sprake zijn van timeouts als zaken niet snel genoeg van Internet binnengehaald kunnen worden.))
$ python build/build.py all
De laatste stap moet o.m. melden:
* BUILD SUCCESSFUL
* nu.validator.servlet.VerifierServletTransaction - Initialization complete.\\ 2014-06-18 17:33:26.226:INFO::jetty-6.1.26\\ 2014-06-18 17:33:26.334:INFO::Started SocketConnector@0.0.0.0:8888
De validator.nu engine blijft nu in het betreffende terminalvenster lopen en geeft daar ook zijn debugging messages.
===== 4. Gebruik, stop/herstart, "help" en "test" =====
- Om HTML5 code te valideren: gebruik de validator in de web browser via de URL: **http://localhost:8888/**
- Stop de validator in het terminalvenster met: **Ctrl+C**
- Herstart de validator via het build script met de optie "run": ((Herstart vereist een correcte JAVA_HOME parameter en een werkende Internet-connectie!!))
$ python build/build.py run
- Handige opties:
$ python build/build.py --help
$ python build/build.py test > $HOME/validatortest.out 2>&1
===== 5. Integratie met de w3c-markup-validator =====
De w3c-markup-validator kan zelf geen HTML5 code checken.
De integratie met de validator.nu engine is al helemaal voorbereid in het configuratiebestand **/etc/w3c/validator.conf**:\\
haal (als "superuser") in de "External" directive het hekje voor de HTML5 regel weg!
$ su -
Password:
# vi /etc/w3c/validator.conf
# HTML5 = http://localhost:8888/
HTML5 = http://localhost:8888/
Check het resultaat:\\
* zorg eerst dat de validator.nu engine up&running is;\\
* start vervolgens de lokale w3c-markup-validator in de web browser en laat hem een HTML5 document checken.
===== 6. Startscript =====
Om de validator.nu engine na installatie wat makkelijker te starten, kan in de HOME-dir van operator een startscript worden aangelegd:
$ su - operator
Password:
$ vi html5-validator-start.sh
De inhoud van het startscript kan bv. zijn:
#!/bin/bash
export JAVA_HOME=/usr/lib/jvm/default-java
cd /usr/local/html5-checker
python build/build.py run
Maak het script uitvoerbaar ('executable') voor de eigenaar (operator):
$ ls -l html5-validator-start.sh
-rw-r--r-- 1 operator operator 112 jun 25 10:39 html5-validator-start.sh
$ chmod u+x html5-validator-start.sh
$ ls -l html5-validator-start.sh
-rwxr--r-- 1 operator operator 112 jun 25 10:40 html5-validator-start.sh
Run het script om de validator.nu engine te starten:
$ ./html5-validator-start.sh
"git" pull -q -r https://github.com/validator/build.git master
...
...
nu.validator.servlet.VerifierServletTransaction - Schemas read.
nu.validator.servlet.VerifierServletTransaction - Reading spec.
nu.validator.servlet.VerifierServletTransaction - Spec read.
nu.validator.servlet.VerifierServletTransaction - Initialization complete.
2014-06-25 10:41:25.510:INFO::jetty-6.1.26
2014-06-25 10:41:25.621:INFO::Started SocketConnector@0.0.0.0:8888
Om het script (en de validator.nu engine!) te stoppen: **Ctrl+C**.
===== 7. Documentatie en Sources =====
Validator.nu engine:\\
http://about.validator.nu/\\
http://about.validator.nu/#src
Integratie met W3C Markup Validator:\\
http://validator.w3.org/docs/install.html#install-configure
W3C Markup Validator:\\
http://validator.w3.org/about.html\\
http://validator.w3.org/source/
====== . ======
Copyright (c) 2014 Integrated Services; Tux4u.nl\\
Author: M. Waldorp-Bonk; html5-validator.txt 2014-06-24, updated 2014-08-04