Essa deve ser a escolha do sysadmin. Basta empacotar o aplicativo para que ele seja executado imediatamente. Se o administrador de sistema quiser maior segurança, esse é o trabalho dele:)
Eu gostaria de empacotar o meu aplicativo java link para o Ubuntu (e Debian).
Se o pacote criar um usuário kunagi
, forneça um script de inicialização e arquivos de configuração para o tomcat6
existente, para que meu aplicativo seja executado em uma instância jvm separada com seus próprios privilégios? Ou deveria o pacote simplesmente soltar o aplicativo da web em /var/lib/tomcat6/webapps/
, para que ele seja executado com o processo e os privilégios do tomcat?
Essa deve ser a escolha do sysadmin. Basta empacotar o aplicativo para que ele seja executado imediatamente. Se o administrador de sistema quiser maior segurança, esse é o trabalho dele:)
Em vez de modificar uma instalação existente do tomcat / webapp, você pode fornecer (1) pacote independente executado com um servidor da Web incorporado e (2) fornecer um arquivo ".war" simples que as pessoas possam baixar e instalar seu próprio servidor tomcat (ou jetty ou glassfish ou ...). (Se você tem um versino que é um servidor independente, então é trivial também fornecer a guerra como um download separado.)
Quanto aos upgrades, a versão independente pode atualizar com o gerenciador de pacotes (apt, rpm, yum, etc); mas, se as pessoas instalarem a guerra no tomcat, caberia à pessoa que a instalou atualizar manualmente, ou você pode fornecer um atualizador dentro do aplicativo da web. Para um bom exemplo disso, veja jenkins (anteriormente hudson). Sonatype / nexus também tem opções de instalação separadas.
A orientação geral a ser fornecida aos usuários finais é: para o rápido & amp; fácil instalação pessoal do PC, vá com a versão stand-alone. Para um data center maduro e facilidade de gerenciamento a longo prazo, use o ".war" em um servidor de aplicativos existente.
O problema com um gerenciador de pacotes que modifica uma instalação existente do tomcat é que pode haver aplicações web dentro do tomcat, e geralmente há uma dependência inesperada entre uma versão do tomcat & amp; as versões das aplicações web. É melhor atualizar o tomcat primeiro, testar para ver se todos os aplicativos Web ainda funcionam e, em seguida, atualizar os aplicativos da web um por um. (Ou talvez eu esteja apenas paranóico, já que esse é o único método que funcionou para mim, historicamente.)