2012-10-31 60 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的手冊頁並嘗試一些組合以查看哪一個最適合您。