我正在尝试安装芝麻。 我首先按照这些说明操作:http://www.openrdf.org/doc/sesame2/users/ch06.html
要安装tomcat作为预设,我使用了本教程: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上安装Sesame服务器,我将两个war文件从openrdf-sesame-2.2.4 \ war复制到apache-tomcat-6.0.18 \ webapps。关闭并重新启动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下面的“ie ttp:// localhost:8080 / openrdf-sesame”所提出的路径,只说“无效的服务器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但是也没有要重命名的“example-file”。
此外,我已经使用tomcat bin文件夹中的shutdown.sh脚本关闭了tomcat,并使用startup.sh脚本多次重新启动它,但这似乎也没有任何帮助。
我错过了什么吗?正如“芝麻入门”Blogpost表示将它们复制到webapps文件夹应该已经足够了,但它无法正常工作......
感谢您的帮助!
编辑1: 不幸的是,直接访问localhost:8080 / openrdf-sesame / home / overview.view的解决方法也不起作用。我也不明白,如果芝麻服务器运行正常而麻烦只是重定向,工作台应该找到服务器,但事实并非如此。
编辑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)
它似乎正在寻找一些协议文件,但该文件甚至不存在于war包中,所以我有点无能为力......
编辑3: 因此,在试图弄清楚什么是错的时候,我厌倦了根据下面的答案查找它,以便与Tomcat的Web应用程序管理器一起查找。虽然我仍然没有得到那个工作(保持得到“403拒绝访问”错误depite编辑tomcat-users.xml),沿途的一定必须意外地完成魔术。我唯一的猜测是关闭它并重新启动至少十几次可能有所帮助,因为除了编辑tomcat-users.xml文件并且每次尝试让管理器工作时重新启动它我都没有做任何其他事情。我不知道为什么以前没有帮助,通过,我之前至少重启了四次tomcat。
答案 0 :(得分:1)
有一个很好但略微过时的演练here,这给了我在遇到你上面提到的同样麻烦时所需的关键提示。
此策略有一个关键区别:它从Tomcat管理器(/home/joe/sesame/core/http/server/target/openrdf-sesame.war
)中部署WAR文件(对我来说:http://localhost:8080
),而不是通过{来自the docs的{1}}命令行调用。也许关键功能只是它部署到jar -xf [PATH/TO/]sesame.war
而不是openrdf-sesame
...
无论如何,现在当我访问sesame
时,我得到的投诉是我没有使用OpenRDF Workbench ...但是一切都很好。
答案 1 :(得分:0)
FileNotFoundException表示Sesame服务器未运行。但是,它没有告诉我们为什么它没有运行。你能否仔细检查你是否正确部署了openrdf-sesame.war
文件?如果您输入Tomcat的Web应用程序管理器,是否列出(并启动)了OpenRDF Sesame Web应用程序? tomcat日志中是否还有其他错误或警告表明存在问题?
如果部署正确,另一个可能的原因是Sesame服务器没有足够的权限写入磁盘。默认情况下(在Linux上),$HOME/.aduna
(其中$ HOME是运行Tomcat的用户的homedir),Sesame为配置文件和持久数据创建应用程序数据目录。你能验证它有足够的权限写在那里吗?我依稀记得这是Ubuntu Linux发行版附带的默认Tomcat设置的问题。
如果您无法更改权限,还可以为Sesame配置其他位置以用作datadir。有关详细信息,请参阅Sesame docs, chapter 5。
答案 2 :(得分:0)
我意识到这个答案对你来说并没有多大帮助,但我和你有完全相同的问题,我找到了一个对我有用的解决方案。 在我的情况下,它只是一个权限问题:一旦我运行
chmod -R 777 /location/of/my/webapps
一切都开始顺利进行了。我希望这可以帮助任何偶然发现这个问题的人。
ps:请注意,在任何文件夹上设置777权限通常被认为是不明智的,因此请尝试查阅chmod的手册页并尝试一些组合以查看哪一个最适合您。