部署到现有Apache Tomcat实例时无法运行JetBrains License Server

时间:2015-04-29 15:19:45

标签: tomcat

不幸的是,JetBrains没有地方报告许可证服务器的问题,所以我不得不在这里作为最后的手段。希望有人可以帮助我!

我正在尝试在Ubuntu 14.04上安装JetBrains许可证服务器。我一直关注的说明是here。到目前为止,我已成功:

  • 使用apt
  • 从webupd8team安装Oracle Java 8
  • 使用apt
  • 安装Apache Tomcat 7
  • 按照Tomcat文档的建议创建/usr/share/tomcat7/bin/setenv.sh,配置JAVA_HOME环境变量
  • 启用sudo chmod +x setenv.sh以确保脚本可执行
  • 已将licenseServer.war部署到/var/lib/tomcat7/webapps
  • 验证Tomcat启动时war文件已正确解压缩

然而,当我查看Tomcat的日志时,我看到许多似乎与权限相关的Java异常,但我不知道如何解决它们。以下是catalina.out中出现的例外情况:

ERROR PluginManagerImpl - Error while configuring logging
java.io.FileNotFoundException: /usr/share/tomcat7/logs/jetbrains-license-server/cfc7082d-ae43-4978-a2a2-46feb1679405.log (No such
file or directory)
        at java.io.FileOutputStream.open0(Native Method)
        at java.io.FileOutputStream.open(FileOutputStream.java:270)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:133)
        at org.apache.log4j.FileAppender.setFile(FileAppender.java:289)
        at org.apache.log4j.FileAppender.<init>(FileAppender.java:108)
...

ERROR XBM0H: Directory /usr/share/tomcat7/db cannot be created.
        at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
        at org.apache.derby.impl.services.monitor.StorageFactoryService$9.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.derby.impl.services.monitor.StorageFactoryService.createServiceRoot(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(Unknown Source)
...

不幸的是,JetBrains的文档对于这个应用程序非常稀疏,我对Tomcat没有多少经验。任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您的问题是位于此处的tomcat7目录的权限问题:kubectl。 Tomcat需要对此目录具有写权限才能创建名为db的文件夹。 Tomcat还需要/usr/share/tomcat7中的日志目录的写权限。

经过多长时间解决此问题并联系JetBrains有关此问题。我写了下面的文档,以便跟踪我为使其工作所做的工作。我确实赞扬了JetBrains Tech的支持,帮助我指出了解决我的权限问题的正确方向。

JetBrains许可证服务器(Linux安装)

  • 安装Ubuntu 14.04 LTS x86_64

    /var/lib/tomcat7/webapps

安装JAVA SE Development Kit 8

  

apt-get update && apt-get upgrade -ythanks to stackoverflow

     

cd /etc wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u51-b16/jdk-8u51-linux-x64.tar.gz

  • 输入以下内容更改java_home位置: tar xzvf jdk-8u51-linux-x64.tar.gz

  • 输入以下命令验证java home位置: export JAVA_HOME=/etc/jdk1.8.0_51

安装TOMCAT7

  

echo $JAVA_HOME outputs: /etc/jdk1.8.0_51

  • 输入以下命令更改tomcat的默认java home位置: apt-get install tomcat7 tomcat7-adminthanks to askubuntu.com
  

在注释行下面说明:   vim /etc/default/tomcat7   输入以下内容:       #JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk-8u51-linux-x64

  • 接下来为tomcat7设置用户:
    JAVA_HOME=/etc/jdk1.8.0_51

      

    在(删除单引号)之间输入以下内容   vim /etc/tomcat7/tomcat-users.xml

  • 您现在可以通过打开网络浏览器http://ServerName.example.com:8080/manager并输入tomcat-users标签中的用户名/密码来管理tomcat。

安装JetBrains许可证服务器 注意:许可证服务器确实需要特定的许可证密钥才能使用它。有关与许可证服务器一起使用的许可证密钥,请联系JetBrains销售团队。

  

<'tomcat-users'> <'/tomcat-users'> tags <'role rolename="manager-gui"/'> <'user username="<username>" password="<password>" roles="manager-gui">

打开网络浏览器http://ServerName.example.com:8080/licenseServer。 根据JetBrains文档继续设置许可证服务器。

我已将此信息发送给JetBrains,并告知他们只要向所有帮助创建文档的成员提供信用,他们就可以将其重新发布到他们的网站上。