我想为 Ubuntu(和 Debian)打包我的 java web 应用程序http://kunagi.org/ 。
包是否应该创建一个用户kunagi
,为现有的提供一个初始化脚本和配置文件tomcat6
,以便我的应用程序在具有自己权限的单独 jvm 实例中运行?或者该包应该只是将 Web 应用程序放入/var/lib/tomcat6/webapps/
,以便它以 tomcat 进程和权限运行?
我想为 Ubuntu(和 Debian)打包我的 java web 应用程序http://kunagi.org/ 。
包是否应该创建一个用户kunagi
,为现有的提供一个初始化脚本和配置文件tomcat6
,以便我的应用程序在具有自己权限的单独 jvm 实例中运行?或者该包应该只是将 Web 应用程序放入/var/lib/tomcat6/webapps/
,以便它以 tomcat 进程和权限运行?
那应该是系统管理员的选择。只需打包应用程序即可开箱即用。如果系统管理员想要提高安全性,那是他的工作:)
无需修改现有的 tomcat/webapp 安装,您可以提供 (1) 与嵌入式 Web 服务器一起运行的独立包,以及 (2) 提供一个简单的“.war”文件,人们可以下载并安装到他们自己的 tomcat 中(或码头或玻璃鱼或......)服务器。(如果您有一个独立服务器的 versino,那么将战争作为单独的下载也很简单。)
至于升级,单机版可以用你的包管理器升级(apt、rpm、yum等);但是,如果人们将战争安装到 tomcat 中,则由安装它的人手动升级它,或者您可以在 Web 应用程序中提供更新程序。有关这方面的一个非常好的示例,请参阅jenkins(以前称为 hudson)。 Sonatype/nexus也有单独的安装选项。
给最终用户的一般指导是:为了快速轻松地安装个人 PC,请使用独立版本。对于成熟的数据中心和长期易于管理,请使用现有应用服务器中的“.war”。
包管理器修改现有 tomcat 安装的问题在于,该 tomcat 内可能存在 ump-teen webapps,并且通常在 tomcat 版本和 webapps 版本之间存在出乎意料的紧密依赖关系。最好先升级tomcat,测试一下是否所有的webapps都还可以,然后再逐个升级webapps。(或者,也许我只是偏执,因为这是历史上唯一对我有用的方法。)