Hi Pierre,
Although I have been looking through the documentation, I could not
find
if it is possible to have the sparql endpoint on a different port than
the conductor ?
For security reason I would like to keep my conductor listening on a
different port and be able to publish my sparql endpoint on port 80
(or
os).
If that is not possible, I would be interested in the feedback on the
approach taken by projects already using virtuoso (bio2rdf? dbpedia ?)
Virtuoso's web server has the capability to create extra listeners
using the conductor interface which is documented here:
http://docs.openlinksw.com/virtuoso/htmlconductorbar.html#admui.internetdomains
At install time you have your HTTP Server port in your virtuoso.ini
set to 8890, which you want to keep in your local network as this
contains ALL the endpoints that you have registered in Virtuoso. So as
long as you do not open this port in your firewall, you can only get
at it from the local machine.
Next you create a new vhost entry using the EXTERNAL name of your
machine and use port 80 (or a higher port if you do not want to run as
root) e.g:
Interface: 0.0.0.0
Port: 8080
Http Host: my.example.com
Next you add a "New directory to this line", click on "Type" radio
button and choose "Sparql access point" from the dropdown list and
press Next button. Set "Path" to /sparql and press the "Save Changes"
button to store.
At this point you have created:
http://my.example.com:8080/sparql
which functions exactly the same as your internal http://localhost:8890/sparql
. You can now open your firewall and allow outside machines to connect
to port 8080 so people can use your sparql endpoint without access to
any other endpoint on your virtuoso installation.
You should probably also change your virtuoso.ini so:
[URIQA]
DefaultHost = my.example.com:8080
If you use port 80, you do not have to add :80 at the end of this
setting, although it should not make any difference.
You can now add other directories / endpoints to the new
my.example.com interface you just created e.g. a nice / directory that
points to a index.html which describes your site etc.
Patrick
---
OpenLink Software