Kunagi è una semplice applicazione Web Java per la quale stiamo già creando un pacchetto binario .deb
per i nostri utenti. Questo pacchetto dipende da tomcat6
e inserisce il file .war
in /var/lib/tomcat6/webapps
. Funziona alla grande su Debian e Ubuntu.Come creare un pacchetto Debian per la mia applicazione Web Java?
Ora voglio creare un vero pacchetto sorgente che possa essere integrato in Debian. Purtroppo non riesco a trovare alcun tutorial. Ci sono molte informazioni frazionate su strumenti come CDBS, DH7 o javahelper e i loro comandi. Ma quale dovrei usare?
Ho anche qualche domande concettuali:
Di solito, le applicazioni web sono installate copiando il webapp nella
webapps
directory del web container. Sarebbe giusto quindi rendere il mio pacchetto dipendente datomcat6
e installare la mia webapp direttamente su/var/lib/tomcat6/webapps
? O la mia webapp dovrebbe essere installata da qualche altra parte, fornendo una configurazione Tomcat separata ed eseguita con il proprio utente, come fanno gli altri servizi?La mia webapp utilizza librerie (JAR) da altri progetti. Di solito questi sono posti nella sottodirectory
WEB-INF/lib
della directory webapp. Poiché includere le librerie in un pacchetto non è consentito in Debian, sarebbe corretto aggiungere questi progetti come dipendenze nel mio pacchetto e creare collegamenti simbolici nella mia directoryWEB-INF/lib
? O come potrei risolvere questo problema?La mia webapp deve scrivere file (dati dell'applicazione). Poiché Tomcat è in esecuzione come utente
www-data
su Debian, l'unica directory in cui la mia app Web può scrivere è/var/lib/tomcat6/webapps
. È il posto giusto dove inserire i miei dati? O il mio pacchetto dovrebbe creare qualcosa come/var/lib/my-webapp-name/
e concedere autorizzazioni di scrittura per l'utentewww-data
?
Qual è il modo migliore per informare gli sviluppatori di debian su questa domanda qui? – Witek
hai un pacchetto deb per mettere il war su tomcat. Potresti condividerlo? Stiamo cercando di fare la stessa cosa. –
Deve davvero essere un pacchetto .deb? Puoi creare una finestra mobile conteriner (https://www.docker.com/) con tomcat e la tua webapp. I contenitori funzionano come macchine virtuali, la finestra mobile consente di apportare facilmente modifiche e condividerle. Il tuo cliente deve solo installare la finestra mobile dal repository Debian ed eseguire un comando per scaricare ed eseguire il contenitore. Posso darti un esempio se questo può essere considerato come una soluzione. Il tuo contenitore può avere già incorporato tomcat, puoi semplicemente modificare questa immagine del contenitore pubblico (https://hub.docker.com/_/tomcat/). – Damian