2012-10-31 58 views
1

我试图安装芝麻。 我第一次跟着这些指示:http://www.openrdf.org/doc/sesame2/users/ch06.html芝麻2.6.9与tomcat 7设置将无法正常工作

安装Tomcat,因为我用这个教程prerequesite:http://www.howtogeek.com/howto/linux/installing-tomcat-6-on-ubuntu/(我自动启动部分之前停止)

的设置教程说“的部署过程是集装箱专用,请参阅您的容器的文档以了解如何部署Web应用程序。“根据本教程 :http://www.snee.com/bobdc.blog/2009/02/getting-started-with-sesame.htmlmit

“要安装在Tomcat的顶部芝麻服务器,我从openrdf芝麻-2.2.4 \战争所复制的两个战争文件到Apache的Tomcat的6.0.18 \ web应用。关闭并重新启动Tomcat之后,将浏览器发送到ttp:// localhost:8080/openrdf-workbench和ttp:// localhost:8080/openrdf-sesame,显示了有关这些应用程序如何正常运行的欢迎屏幕。

我做了哪些。 ttp:// localhost:8080显示了一个tomcat欢迎页面,ttp:// localhost:8080/openrdf-workbench显示了一个站点,但ttp:// localhost:8080/openrdf-sesame只给出了404错误。我也无法在工作台网站上做任何事情,因为它迫使人们留在“更改服务器”输入字段。试图提议到刚刚在键入路径下方的输入fiels“即TTP://本地主机8080/openrdf芝麻”只是说“无效的服务器URL” 在页面顶部,它也说

Current Selections 
Sesame server none change 
Repository none change 

这只是看起来比它应该如何完全不同势,因为喜欢这里:http://www.jenitennison.com/blog/node/153

我挖多一点了一圈,发现这一点:http://www.openrdf.org/doc/sesame/users/ch02.html 但似乎已经过时,因为根本就没有[SESAME_DIR]/WEB-INF /system.conf.example。 我也发现这个:http://www.openrdf.org/forum/mvnforum/viewthread?thread=658但是也没有“示例文件”被重命名。

此外,我已经在tomcat bin文件夹中使用shutdown.sh脚本关闭了tomcat,并多次使用startup.sh脚本重新启动它,但似乎也没有帮助任何一点。

我错过了什么吗?由于“芝麻入门”Blogpost表示将它们复制到webapps文件夹应该已经足够,但它不能正常工作......

感谢您的帮助!


编辑1: 与直接访问本地主机的解决办法:8080/openrdf芝麻/家庭/ overview.view也很遗憾不能工作。我也不明白,如果Sesame服务器正常运行并且问题只有重定向,那么工作台应该找到服务器,但事实并非如此。


编辑2: 的catalina.2012-11-01.log包含以下内容:

Nov 01, 2012 11:49:28 AM org.openrdf.workbench.proxy.WorkbenchGateway canConnect 
WARNING: java.io.FileNotFoundException: http://localhost:8080/openrdf-sesame/protocol 
java.io.FileNotFoundException: http://localhost:8080/openrdf-sesame/protocol 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1613) 
    at java.net.URL.openStream(URL.java:1037) 
    at org.openrdf.workbench.proxy.WorkbenchGateway.canConnect(WorkbenchGateway.java:130) 
    at org.openrdf.workbench.proxy.WorkbenchGateway.isValidServer(WorkbenchGateway.java:303) 
    at org.openrdf.workbench.proxy.WorkbenchGateway.findWorkbenchServlet(WorkbenchGateway.java:209) 
    at org.openrdf.workbench.proxy.WorkbenchGateway.service(WorkbenchGateway.java:100) 
    at org.openrdf.workbench.base.BaseServlet.service(BaseServlet.java:40) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.openrdf.workbench.proxy.CookieCacheControlFilter.doFilter(CookieCacheControlFilter.java:52) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 

这似乎寻找一些协议文件,但该文件甚至没有在存在战争包,所以我有点不知所措......


编辑3: 因此,尽管试图找出到底什么是错了,我累了寻找它根据下面的答案与Tomcat的Web应用程序管理器查找。虽然我仍然没有得到那个人的工作(保留了“403访问被拒绝”的错误,编辑tomcat-users.xml),但一些事情一定会被意外完成。我唯一的猜测是,关闭它并重新启动至少十几次可能会有所帮助,因为除了编辑tomcat-users.xml文件并且每次尝试让管理器工作时重新启动它之外,我都没有做其他任何事情。我不知道,为什么之前没有帮助,通过,我至少重新启动了四次tomcat。

+0

Tomcat 7和Sesame存在重定向问题。看到这个相关的问题:http://stackoverflow.com/questions/9501765/openrdf-sesame-404-error解决方案 –

+0

提到system.conf的文档链接。例子已经过时,这是芝麻1,不再支持。 –

+0

关于工作台未连接的问题:这看起来像您的芝麻服务器没有正确启动。你能检查你的Tomcat日志中是否有什么错误的线索? –

回答

0

FileNotFoundException表示Sesame服务器未运行。但是,它并没有告诉我们为什么它没有运行。你能否仔细检查你已经正确部署了openrdf-sesame.war文件?如果您输入Tomcat的Web应用程序管理器,OpenRDF Sesame webapp是否列出(并启动)?在Tomcat日志中是否有其他错误或警告表明存在问题?

如果正确部署,另一个可能的原因是Sesame服务器没有足够的权限写入磁盘。 Sesame在$HOME/.aduna(其中$ HOME是运行Tomcat的用户的homedir)的默认情况下(在Linux上)为配置文件创建应用程序数据目录并保留数据。你能证实它有足够的权限写在那里吗?我隐约记得这是Ubuntu Linux发行版附带的默认Tomcat设置的问题。

如果您不能更改权限,还可以配置其他位置以供芝麻用作datadir。有关详细信息,请参阅Sesame docs, chapter 5

+0

我已将war文件复制到/ usr/local/tomcat/webapps,var文件的内容现在位于/ usr/local/tomcat/webapps/openrdf-sesame文件夹中,似乎完整,并且根据该教程没有更多是必要的。 日志中不包含其他错误。不幸的是,我无法运行Web应用程序管理器,尽管配置了tomcat-users.xml文件并重新启动了tomcat,但它仍然给我提供“403访问被拒绝”错误。不知道,那里出了什么问题,或者在那一刻... 服务器应该有权限,但我会再次检查一遍。 – kumoyadori

+0

drwxr-XR-×3 hduser的hadoop 4096十月31 16点47 ./ drwxr-XR-X 7 hduser的hadoop 4096十月31 16点47 ../ drwxr-XR-×5 hduser的hadoop 4096十月31 16 :47 openrdf-sesame/ 在.arduna文件夹中,所以是的,应该有写权限 – kumoyadori

1

有一个不错的,但略有过时的步行通过here,这给了我当我遇到上述同样的麻烦时,我需要的关键提示。

这个策略有一个关键的区别:从Tomcat管理(http://localhost:8080)内,而不是通过从the docsjar -xf [PATH/TO/]sesame.war命令行调用:它部署WAR文件(/home/joe/sesame/core/http/server/target/openrdf-sesame.war对我来说)。也许关键特征就是它部署到openrdf-sesame,而不是sesame ...

在任何情况下,现在当我访问http://localhost:8080/openrdf-sesame/home/overview.view我得到的,我不使用OpenRDF工作台投诉......但除此之外一切好。

0

我意识到这个答案对你来说不会对你有太大的帮助,但是我确实遇到了和你一样的问题,于是我发现了一个适用于我的解决方案。 在我的情况下,它只是权限的问题:一旦我跑

chmod -R 777 /location/of/my/webapps 

一切顺利开工工作。我希望这可以帮助任何绊倒这个问题的人。

ps:请注意,在任何文件夹上设置777权限往往被认为是不明智的,因此请尝试查阅chmod的手册页并尝试一些组合以查看哪一个最适合您。