﻿PREMESSA
--------

Questo è il client EPP che ho scritto per soddisfare le mie esigenze, che non prevedono la registrazione diretta del dominio da web da parte dell'utente. Se può essere utile a qualcuno, lo condivido con tutti.

Di fatto è solo un'interfaccia web verso la libreria EPP fornita dal registro che, in più, registra su DB i dati dei domini/contatti che gestisce. L'interfaccia è tremendamente spartana, non avendo io bisogno di qualcosa di più articolato; ho testato il software prevalentemente con MSIE come browser e Access come database, tuttavia dovrebbe funzionare anche con altre combinazioni (segnalo che, se non si vuole installare tomcat e java su un proprio server web, se installato con Access il software gira anche su una macchinetta virtuale windows con pochissime pretese).

Per qualsiasi supporto, istruzioni e mailing-list su http://www.noxia.it/microSynchro/ .

Lelio della Pietra (NOXIA-REG), lelio (at) noxia.it


REQUISITI
---------

- Java SE JDK (http://java.sun.com/javase/downloads/widget/jdk6.jsp)
- Apache Tomcat (http://tomcat.apache.org/download-60.cgi)
- Un database a scelta, fra Access MDB, MySQL, PostgreSQL, SQL Server
- Un account di test sull'EPP del registro (chiedere a test-epp@nic.it) o l'account EPP definitivo

ATTENZIONE: l'ODBC di MDB non è supportato su sistemi a 64bit; se si ha un Windows a 64bit installare Java e Tomcat a 32 bit o scegliere un altro database.

Il database si suppone già creato; nel caso di MDB è sufficiente creare un file MDB vuoto in una directory accessibile dall'utente con cui gira Tomcat: in tal caso, lasciare vuoti i campi "utente", "password" e "nome database" nella schermata di setup.

Per il seguito, si supporrà installato il tomcat su http://localhost:8080 .


ISTRUZIONI PER GESTIRE LE APPLICAZIONI SU TOMCAT
------------------------------------------------

Andare sulla pagina di amministrazione (http://localhost:8080/manager/html) ed elencare le applicazioni presenti. Da questa schermata è possibile:

a) "disinstallare" un'applicazione (Undeploy)
b) "riavviare" un'applicazione (Reload)
c) "installare" un'applicazione (WAR deploy)

L'applicazione è costituita dal file WAR accluso. Se il nome del file è microSynchro.war, una volta effettuato il deploy essa sarà accessibile da http://localhost:8080/microSynchro . Il file dell'applicazione della directory principale (/) si chiama ROOT.war (quindi per installare il microSynchro sulla root, rinominare microSynchro.war in ROOT.war prima del deploy). Occhio che per installare l'applicativo su / bisogna prima disinstallare quello già presente; analogamente, per aggiornare il software bisognerà prima disinstallare il vecchio e quindi installare il nuovo.

Se, per una ragione qualsiasi, fatto l'undeploy l'applicativo non scompare dalla lista, fermare il tomcat, cancellare la directory [directory di Tomcat]/webapps/nomeapplicativo e riavviare il tomcat.


PRIMA INTALLAZIONE
------------------

Creare un database vuoto sul server o un file MDB vuoto. Effettuare il deploy dell'applicativo (si supponga, per il seguito, con il nome microSynchro, ma se si cambia il nome la cosa è indifferente).

Aprire http://localhost:8080/microSynchro e inserire:

a) i dati del database (con il path dell'MDB se si è scelto Access e l'indirizzo del server se si è scelto un altro DB);
b) i dati del server EPP forniti dal registro (è preconfigurato il server di test);
c) i dati del whois autenticato del registro;
d) nome utente e password HTTP che verrà chiesta per accedere al software; se vuoto, non chiede password;
e) il contatto TECH da proporre come default quando si registra un dominio;
f) il prefisso per tutti i contatti creati (se ABC i contatti saranno creati come ABC-1, ABC-2, ecc.);
g) i DNS da proporre come default, separati da punto e virgola;
h) l'intervallo in secondi tra un'interrogazione della coda di messaggi e la successiva (0 = coda interrogata a mano).

Verrà anche chiesta una lista di domini da importare nel database; nella installazione di test non compilare tale lista, in quanto il database di test del nic.it è diverso da quello di runtime e, anche inserendo i "propri" domini, questi non saranno stati ancora caricati nel server di test (e si riceverà dunque un errore di autorizzazione). La lista verrà poi compilata all'atto dell'accorpamento degli oggetti MNT e REG.

Terminato il setup, ricaricare la pagina; se non esce la main page del software, riaviare l'applicazione da Tomcat manager.


CONFIGURAZIONI SUCCESSIVE E UPGRADE
-----------------------------------

La configurazione viene salvata nel file [directory di Tomcat]/webapps/microSynchro/WEB-INF/microsynchro.properties .  E' possibile modificare il file a mano, ma le modifiche saranno ricaricate solo riavviando l'applicazione da Tomcat manager. Volendo, è possibile cancellare il file: dopo aver riavviato l'applicativo da Tomcat manager sarà riproposta la configurazione manuale.

In caso di successivo upgrade del software è necessario salvare il file microsynchro.properties PRIMA di effettuare l'undeploy (oltre al database, ovviamente!) e reinserirlo o nel file WAR (che, di fatto, è un file zip) o al suo posto una volta effettuato l'aggiornamento del programma; in entrambi i casi, il file va inserito nella directory WEB-INF.

I dati dei domini sono invece nel database: tenendo il database fuori dalla directory dell'applicativo ([directory di Tomcat]/webapps/microSynchro) questo non verrà cancellato durante un'operazione di upgrade.

Verificare sempre nel file UPGRADE.txt se ci sono aggiornamenti manuali da effettuare alla configurazione o al database.


ESECUZIONE DEL TEST DI ACCREDITAMENTO
-------------------------------------

Il test (automatico) di accreditamento va eseguito da shell (o Prompt dei comandi).

Scompattare il WAR dell'applicativo (che, in realtà, è un file zip) in una directory. Verificare, scaricando da arp.nic.it il documento sul test di accreditamento, se è stata assegnata la versione 1.0 o 2.0 del test e, nella directory testData, rinominare il file test1_0.properties o test2_0.properties in test.properties; editare tale file e modificare le sole prime cinque impostazioni:

 - server di test (https\://epp-acc1.nic.it/ o https\://epp-acc2.nic.it/, ve lo assegnano alla prenotazione del test);
 - login e password del primo account;
 - login e password del secondo account.

Windows: editare il file testData\windows.bat sostituendo il path del java.exe nella seconda riga.
Linux: il file è testData\linux.sh.

Aprire una shell, effettuare il CD nella directory dove si è scompattato il tutto e lanciare:

Windows: testData\windows.bat
Linux: sh testData\linux.sh

NOTA BENE: nel test 2.0 si verificheranno due errori, ma sono effettivamente previsti dal test di accreditamento (passi 15 e 23).


MIGRAZONE MNT->REG
------------------

Poiché l'accorpamento degli oggetti MNT e REG non è contestuale alla creazione del REG (per i primi giorni coesisteranno entrambi),
sarà possibile cominciare a registrare domini in sincrono da un oggetto REG "vuoto" (privo di domini) sin dal primo momento. Quando poi il NIC provvederà al cambio della delega sui domini, effettuare la seguente sequenza di operazioni:

 a) procurarsi (via rain.nic.it, con l'esportazione CVS) una lista dei domini ex-MNT, un dominio per riga senza spazi o virgole aggiuntive; non inserire nella lista i "nuovi" domini registrati nel frattempo con l'oggetto REG;
 b) cancellare il file [directory di Tomcat]/webapps/microSynchro/WEB-INF/microsynchro.properties e riavviare l'applicativo da Tomcat manager;
 c) riconfigurare l'applicativo facendo attenzione a non reinizializzare il database;
 d) quando viene proposta la finestra dei domini da importare, effettuarvi il paste della lista di cui al punto a);
 e) terminato il setup, ricaricare la pagina; se non esce la main page del software, riaviare l'applicazione da Tomcat manager.


OPERATIVITA'
------------

Non spiegherò qui le operazioni sui domini, che dovrebbero essere note a tutti. Si tenga presente che:

a) il database è usato per memorizzare tutti i domini e i contatti che transitano per il software, ma ad ogni operazione di aggiornamento i dati vengono scaricati nuovamente dal server EPP e aggiornati all'ultima versione; il database è pertanto da considerarsi una risorsa a sola lettura (può però essere utile, ad esempio, per recuperare gli authInfo);
b) pertanto, se si vuole conoscere l'ultimo stato di un contatto/dominio, così com'è sul database del Registro, basta andare sul comando Update, caricare i dati e quindi NON effettuare l'update vero e proprio;
c) tutte le operazioni di cambio registrar/registrant sono effettuate tramite il comando Update;
d) se l'account EPP è inattivo da un po' di tempo sarà necessario cambiare la password (normalmente arriva un avviso in coda di messaggi, ma se non la si è letta...); se all'avvio il registro non consente alcuna operazione, si provi a cambiare immediatamente la password (menu System);
e) se succede un qualsiasi problema, i dettagli delle eccezioni sono nei log di Tomcat, il programma riporta a video i soli codici di errore forniti dal registro;
f) c'è un limite di cinque sessioni EPP contemporanee aperte; se si effettua uno shutdown gentile dell'applicativo, questo effettua il logout e non "brucia" una sessione. Tuttavia, se si avvia e spegne in continuazione (e in modo non graceful) il tomcat, è possibile che, al saturarsi delle cinque sessioni disponibili, il registro vi rifiuti l'operatività per i successivi trenta minuti;
g) si tenga  conto che il sincrono, a differenza dell'asincrono, vi fa registrare il dominio anche se il DNS non è ancora configurato;
h) per generare il successivo ID da utilizzare per la creazione di contatti e domini il programma usa la sequenza (o contatore o identità) del database; per cui si deve, per una qualsiasi ragione, resettare il database, bisogna riportare la sequenza delle taballe contacts e domains al valore corretto.


Buon lavoro a tutti.
 Lelio