1

I'm new to Tomcat, Fuseki and the Shiro.ini file, so forgive me for asking silly questions.

System:

  • MacMini ==> OS.X 10.13 (acts as dev-server)
  • Java ==> 8
  • Tomcat ==> 9.0.10

Workflow:

  • Via a Plist file, the Tomcat instance gets started on each boot of the server.
  • in /Users/username/tomcat/webapps I've put the fuseki.war file which got extracted successfully.
  • I inserted a custom made RDF-file, which gets loaded after reboots and served
  • (this is where the good things end)

Problem: I can access the RDF file through: http://localhost:8080/fuseki, I can perform SPARQL-queries and everything else I need to get done. However, when connecting the dev-server to a PC and accessing it through it's IP: e.g.http://192.168.0.112:8080/fuseki; I end up seeing the server which has a green status, and the entire web-interface works except for the datasets. When I go to http://192.168.0.112:8080/fuseki/dataset and press 'query' (or any other button) it displays: "Please select a database"

**Cause: I found this thread fuseki webinterface does not show datasets (SO), which lead me to investigate the shiro.ini file. As it turns out I don't have one.

I then searched for shiro.ini and found a reference in /Users/username/tomcat/webapps/fuseki/WEB-INF/web.xml:

<context-param>
  <param-name>shiroConfigLocations</param-name>
  <!-- Try a path in: FUSEKI_BASE, FUSEKI_HOME, war resource
  If a "file:" then look there and there only.
  -->
  <param-value>shiro.ini</param-value>
</context-param>

This made me think that I'd need to put the shiro.ini file in my root folder (Users/username/tomcat/webapps/fuseki/shiro.ini) and not in (Users/username/tomcat/webapps/fuseki/run/shiro.ini). However neither work.

I also looked in a logfile: catalina.out, based from that it seems that the shiro.ini file gets loaded (or at least there are no indiciations that there's an error with it.) Here's the relevant extract from that log:

[2018-07-31 09:18:54] Config     INFO  FUSEKI_HOME=unset
[2018-07-31 09:18:54] Config     INFO  FUSEKI_BASE=/etc/fuseki
[2018-07-31 09:18:54] Config     INFO  Shiro file: file:///etc/fuseki/shiro.ini
[2018-07-31 09:18:55] Config     INFO  Context path = /fuseki
[2018-07-31 09:18:55] Config     INFO  Configuration file: /etc/fuseki/config.ttl

I can't find however any folder etc/fuseki/? So what's up with this to start with?

Here is the shiro.ini file:

[users]
admin=passXXX     #non-default

[main]
#localhost=org.apache.jena.fuseki.authz.LocalhostFilter

[roles]


[urls]
##control open to anyone
/$/status = anon
/$/ping = anon
##rest restricted to Localhost
## see above for localhost

#/$/** = localhost
/**=anon

I'm not sure what's going on at this point, so any pointers are more than welcome.

Clueless_captain
  • 420
  • 2
  • 13

1 Answers1

1

Turns out the issue had more to do with my unfamiliarity with the MAC OS, than with Tomcat or Fuseki.

The folder /etc/fuseki which was referenced in the catalina.out file is tightly locked and it's actual path is /private/etc/fuseki (though this doesn't seem to matter)

By default you can't enter the fuseki folder due to no rights at all. Even doing:

sudo cd /private/etc/fuseki 

or

sudo cd /etc/fuseki

won't work. I needed to give myself read/write access to the folder via getinfo (though I think you could achieve this as well via chown.

Now I could view that folder's content, yet all files and folders in there had the same issue and required the same solution. So now I could customize the shiro.ini and configuration/rdf.ttl file.

If I do

sudo cd /private/etc/fuseki 

or

sudo cd /etc/fuseki

now, then I can successfully view the content.

Clueless_captain
  • 420
  • 2
  • 13