About Me

My Photo
Bangkok, Asia, Thailand
Knowledge evaporates more quickly when you don't share.

Deploying sesame.war into Tomcat

This post, I will cover from confirming that Tomcat is installed fine, D/L and deploy the Sesame Servlet, until getting in the log-in page of Sesame Server.

Let me put my beginning story first,

2007, as a very- beginner web service jumped-in.  I was assigned to use OpenRDF Sesame Framework to test the Usefulness and its application on somewhere around traceability or knowledge management things.  Stupid-me, I struggled for trying to grasp what is Tomcat, what is Deploy, which is WAR file, where to config this and that, etc.  For couples of months, I have all the stuff done and my final research project came out as an application of Semantic Web Repository in an aspect in Knowledge Management.  To preserve this information, Let me spend my time now to re-write what I did in the research day.  I hope that my write will also benefit to myself in that, one day I might come out with another new idea in application of Semantic-related application other than what I write here, and I will have others to write on and on.

My server has tomcat pre-installed. Its path is, "/usr/local/tomcat". JDK is also installed long before. Its path is, "/usr/java/jdk1.6.0_20". I only have to deploy--upload the sesame.war file into Tomcat.

To start Tomcat server up, I go to "/usr/local/tomcat/bin" and type "./startup.sh". The screen shows up like this:

I open the address "http://localhost:8080/", and it shows this screen, meaning that Tomcat is successfully installed into the server. I proceed to 'Tomcat Manager'. There is a password here.

By default, if I do not touch the "/usr/local/tomcat/conf/tomcat-users.xml", I will not be able to get into the Tomcat Manager page. I will need to add these lines:

<role rolename="manager"/>
<user username="a_good_name" password="a_good_passwd" roles="manager"/>

inside this XML tag <tomcat-users></tomcat-users> which locates in the most lower end of the xml file.

Then, tomcat server restart might be necessary "./shutdown.sh" and then "./startup.sh" one more time.

Now, I can access Tomcat Manager, using the login and password that I entered.  I can now proceed to deploy "sesame.war" into Tomcat server.  The WAR file is kept in the binary downloadable from openrdf.org.  My downloaded version is 1.2.7 (http://sourceforge.net/projects/sesame/files/Sesame%201/1.2.7/sesame-1.2.7-bin.zip/download).  After Unzipped, it will be found in [unzipfolder]/lib.  Take WAR file not JAR file and deploy into Tomcat.

Then it will show that sesame.war is successfully deployed.  By clicking "/sesame", Sesame server welcome screen will appear.

At the first click into "http://localhost:8080/sesame/", no appropriate setting is done.  There will be, "no repository" "not yet log in".

Browsing into this directory, "/usr/local/tomcat/webapps/sesame/WEB-INF
", I will create a "system.conf" from system.conf.example (copy/paste/rename).  Then shutdown+startup (Reload) the server for change to take effect.

Unlike httpd.conf or php.ini, There is no need to edit system.conf directly in the config file because, there is an editor tool provided.  Its path is "/usr/local/tomcat/webapps/sesame/WEB-INF/bin/configSesame.sh" for linux and configSesame.bat for Windows.

As I change somethings inside the tomcat server, I will shutdown and startup again--for sure.  If I go to "http://localhost:8080/sesame/" it will display, "some repositories" and "not yet log in".

I will execute "./configSesame.sh" which will call up the config tool.  Click on "Load configuration from Server" then, put the configSesame default admin password 'admin' in; clicking 'Load' to proceed.

The screen now showing that, a user who can log in to the sesame server has an id '3', login name and password is shown.  I can log in to sesame server now. 555.

These repositories (repository config) are available.  To make a new repository, copy-paste from the previous.

Later post, I am going to do the setting of MySQL to store the information of the Sesame Server.  I will keep continue posting on using Protege, which can create a set of ontology store and query them into and from the Sesame Server.  Installing OWLIM to add OWL inference engine into Sesame server.  Installing Phesame to employ the Sesame Server in PHP.