Portal: Getting started

Friday, May 22, 2009 by Carsten Hufe  
Tags:  devproof  portal  installation  guide 

There are two possibilities to install Devproof Portal. Either download the binary distribution or check out the sources from SVN and build it with Maven. If you build it from SVN you can get snapshot releases. Additionally you can run Devproof Portal with the Tomcat 6 distribution.

Run binary distribution with Apache Tomcat 6:

1. Download Devproof Portal with Tomcat 6
2. Untar the downloaded archive

tar xzvf
devproof-portal-<version>-with-tomcat6.tar.gz
cd devproof-portal-<version>-with-tomcat6/apache-tomcat-<version>/bin/
# for linux users
./startup.sh
# for windows user
startup.bat


3. Open the browser and enter the URL: http://localhost:8080/

Note: The distribution with the Apache Tomcat 6 uses the HSQLDB which should not used in productive environments.

Installation from binary distribution:

Requirements:

  • Java 1.6 or higher
  • Servlet Container
  • MySQL database and connector
  • Tar (Windows user can use 7zip)

1. Download Devproof Portal - Standalone WAR
2. Untar the downloaded archive

tar xzvf
devproof-portal-<version>-war.tar.gz
cd devproof-portal-<version>-war


3. Create a MySQL database schema (e.g. devproof) and install the SQL script

mysql -u devproof -p devproof < sql/install_mysql.sql


4. Install the web application:

Devproof Portal was tested under Apache Tomcat and Jetty application server, but should work with any other Servlet compliant container.

Furthermore you need the MySQL driver (Connector/J). I am not allowed to provide it with the application because it runs under GPL. If you use the Apache Tomcat you must copy the mysql-connector-java-5.x.x-bin.jar into the apache-tomcat-6.xx/lib or apache-tomcat-6.xx/common/lib folder. 

The next step is to create JNDI bindings:

java:/comp/env/jdbc/devproof/portal (database
connection, must be a javax.sql.DataSource)

and

java:/comp/env/mail/Session (mail session connection pool)


After that you can copy the war/devproof-portal-<version>.war file to the Apache Tomcats /webapp/ folder and start the server (/bin/startup.sh).

If you are not firm with JNDI configuration or you are to lazy to confgure it, you can use the bundled configuration from /config/tomcat6/mysql folder.

Copy the config/tomcat6/mysql/ROOT.xml to /apache-tomcat-x.xx/conf/Catalina/localhost/ROOT.xml. After that you must replace the bold strings with your connection settings and path to the WAR file:

<?xml version='1.0' encoding='utf-8'?>
<Context docBase="/path/to/devproof-portal.war">
	<!-- Default set of monitored resources -->
	<Resource name="jdbc/devproof/portal" auth="Container"
		type="javax.sql.DataSource" maxActive="100" maxIdle="10" maxWait="10000"
		removeAbandoned="true" removeAbandonedTimeout="300" logAbandoned="true"
		testWhileIdle="true" timeBetweenEvictionRunsMillis="3600000"
		validationQuery="Select 1" username="DB_USER" password="DB_PASSWD"
		driverClassName="com.mysql.jdbc.Driver"
		url="jdbc:mysql://localhost:3306/DB_SCHEMA?autoReconnect=true" />

	<Resource name="mail/Session" auth="Container" type="javax.mail.Session"
		mail.smtp.host="localhost" mail.smtp.auth="false"
		mail.transport.protocol="smtp" mail.smtp.port="25" />
</Context>


Now you can start the Apache Tomcat: /bin/startup.sh

Installation from SVN

If you want to install a snapshot release, you can check out and build it from SVN.

Additional requirements are:

svn checkout http://devproof.googlecode.com/svn/trunk/ devproof 


After checking out, build it:

cd devproof
cd portal-build
mvn clean install


By default it builds with the profile "all". If you would like to build only a small set of modules you can build it with these profiles:

  • blog
  • article
  • bookmark
  • download 
  • otherpage
  • uploadcenter

An example to build:

mvn clean install -Pblog,article,bookmark,download


After building the portal you will find the following files:

portal-bundle/target/devproof-portal-<version>-war/war/devproof-portal-<version>.war
portal-bundle/target/sql/ (concatinated SQL files)


The SQL files are dynamically concatinated for the selected modules, so that you do not have any unnecessary SQL stuff.

The portal-bundle/target/ folder contains the full bundled distributions as you can download it on Google Code. This includes the standalone WAR file and the Tomcat 6 distribution.

Finally you can follow the "Installation from binary distribution" from step 3 at the top. The ROOT.xml is located under:

portal-bundle/config/tomcat6/mysql/ROOT.xml