Far partire il bundle di lifery come servizio non è stata una cosa semplice. Ho provato diverse opzioni per fare partire lo startup.bat ma senza nessun risultato. Mi sa che per i servizi bisogna usare per forza un exe, volevo usare lo startup perchè con quello funzionava tutto.
Le due guide di riferimento sono per versione tomcat6 e la prima che si è guardata generica che vale per tomcat5
http://www.liferay.com/community/wiki/-/wiki/Main/Tomcat+6+as+a+Windows+Service
http://www.liferay.com/community/wiki/-/wiki/Main/Starting+Liferay+as+a+Windows+Service
Per prima cosa va settato il file setenv.bat va preparato con catalina home e java home facendo attenzione agli / che devono essere stile posix linux anche se siamo su windows quindi invertire dopo lanciarlo e verificare l'output così si capisce se funziona. Purtroppo il file definitivo è rimasto sulla macchina di Taranto e non l'ho copiato. Spero di riuscirci quando mi collegherò in remoto.
Per funzionare come servizio dentro la directory bin di tomcat devono essere presenti i due tomcat exe (tomcat6.exe e tomcat6w.exe) uno è il tomcat vero e proprio l'altro avvia una interfaccia dove si inseriscono dei parametri di configurazione. I parametri di configurazione riportati nella guida sono questi
-XX:MaxPermSize=512m
-Dfile.encoding=UTF8
-Duser.timezone=GMT
-Djava.security.auth.login.config="%CATALINA_HOME%/conf/jaas.config"
-Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false
Non tutti si possono inseire perchè per esempio nelle versioni di tomcat che ho usato il file jaas.config non era presente e non ho trovato come una versione da editare per capire come funzionava. Quindi quella riga è stata soppressa. Quando si apre l'interfaccia di tomcat6w.exe dove si inseriscono le java options in basso si trovano anche i parametri
Inizia memory pool:
Maximum memory pool:
Threat stack size:
I primi due dovrebbero (non ne sono sicuro perchè ho sempre fatto una configurazione più specifica e non così generale) riferirsi ai valori dello heap totali di inizializzazione. Nel nostro caso dato che usavano un'architettura software a 32 bit (pessimi questi che ci hanno dato win2008 a 32 bit) la dimensione massima sembra che non possa essere > 1024 MB. Il valore del thread non so cos'è.
Dopo cambiare in service.bat cambiare i tomcat5.exe con i tomcat6.exe altrimenti lui dice che non ha trovato il tomcat e che la variabile catalina_home è sbagliata ma invece e che lui cerca i tomcat5, infine eseguire
service.bat install tomcat6
sperando che non dia errori smile
Avviando il servizio con il service di windows controllare dentro la cartella log di tomcat se tutto è andato a posto e che non ci siano troppe eccezioni.