Exploring Open Source CMS: Hippo

Hippo-cms-logoI’m going to test out some relevant Content Management System from the Open Source planet. This time i will try to install and configure Hippo Cms. Since I already tried almost all famous CMS written in php, this time we will take a look to this one, written in Java.

About Java: first time i came to speak about Java, a tremendous miskate was made. In fact while my interlocutor was speaking about Java as a Server-sided tech, i was speaking about the client part, the one i don’t like at all, and actually all considered, is slow, subject of contiuous updates, quiet bothering i mean. And my recentest memory about this is the callcenter dudes who had to manage oracle forms through a java web GUI: a nightmare!.

Anyway, as we all know, “the good is oft(en) interred with their bones“… so let it be with java for clients and let’s start seeing what do I need in order to start serving jsp from my machine.

Tomcat-logo.svgTOMCAT6 and APACHE2 on Debian Squeeze.

Well forgive the obviousness, but i think the first thing i would install should be Tomcat6, and a very short reading before start writing, suggested me to take a look to the jk_mod (mod Jakarta) used to join apache and tomcat.


So, first thing to do is to update our system and then install tomcat, and we will keep an eye on the apt-get output to see which other packages are installed as requirements.

root@server:~# apt-get install tomcat
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package tomcat


root@server:~# apt-cache search tomcat
libservlet2.3-java - Servlet 2.3 and JSP 1.2 Java classes and documentation
liblogback-java-doc - flexible logging library for Java - documentation
liblogback-java - flexible logging library for Java
libapache-mod-jk-doc - Documentation of libapache2-mod-jk package
libapache2-mod-jk - Apache 2 connector for the Tomcat Java servlet engine
libjasper-java - Implementation of the JSP Container
libservlet2.4-java-doc - Servlet 2.4 and JSP 2.0 Java documentation
libservlet2.4-java-gcj - Servlet 2.4 and JSP 2.0 Java classes and documentation
libservlet2.4-java - Servlet 2.4 and JSP 2.0 Java library
libspring-security-2.0-java-doc - documentation for Spring Security 2.0
libspring-security-acl-2.0-java - modular Java/J2EE application security framework - ACL
libspring-security-core-2.0-java - modular Java/J2EE application security framework - Core
libspring-security-ntlm-2.0-java - modular Java/J2EE application security framework - NTLM
libspring-security-portlet-2.0-java - modular Java/J2EE application security framework - Portlet
libspring-security-taglibs-2.0-java - modular Java/J2EE application security framework - Taglibs
libtcnative-1 - Tomcat native library using the apache portable runtime
libservlet2.5-java-doc - Servlet 2.5 and JSP 2.1 Java API documentation
libservlet2.5-java - Servlet 2.5 and JSP 2.1 Java API classes
libtomcat6-java - Servlet and JSP engine -- core libraries
tomcat6-admin - Servlet and JSP engine -- admin web applications
tomcat6-common - Servlet and JSP engine -- common files
tomcat6-docs - Servlet and JSP engine -- documentation
tomcat6-examples - Servlet and JSP engine -- example web applications
tomcat6-user - Servlet and JSP engine -- tools to create user instances
tomcat6 - Servlet and JSP engine
webxml - simple form-based generator/editor of Tomcat's web.xml files
root@sserver:~# apt-get install tomcat6
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  authbind ca-certificates-java default-jre-headless java-common libcommons-collections3-java libcommons-dbcp-java
  libcommons-pool-java libecj-java libnspr4-0d libnss3-1d libservlet2.5-java libtomcat6-java openjdk-6-jre-headless
  openjdk-6-jre-lib tomcat6-common tzdata-java
Suggested packages:
  default-jre equivs libcommons-collections3-java-doc glassfish-javaee ecj ant libecj-java-gcj libnss-mdns
  sun-java6-fonts ttf-dejavu-extra ttf-baekmuk ttf-unfonts ttf-unfonts-core ttf-sazanami-gothic ttf-kochi-gothic
  ttf-sazanami-mincho ttf-kochi-mincho ttf-wqy-microhei ttf-wqy-zenhei ttf-indic-fonts tomcat6-docs tomcat6-admin
  tomcat6-examples tomcat6-user libtcnative-1
The following NEW packages will be installed:
  authbind ca-certificates-java default-jre-headless java-common libcommons-collections3-java libcommons-dbcp-java
  libcommons-pool-java libecj-java libnspr4-0d libnss3-1d libservlet2.5-java libtomcat6-java openjdk-6-jre-headless
  openjdk-6-jre-lib tomcat6 tomcat6-common tzdata-java
0 upgraded, 17 newly installed, 0 to remove and 0 not upgraded.
Need to get 38.5 MB of archives.
After this operation, 97.7 MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://security.debian.org/ squeeze/updates/main libnss3-1d amd64 3.12.8-1+squeeze6 [1,116 kB]
Get:2 http://mirrors.kernel.org/debian/ squeeze/main authbind amd64 1.2.0 [17.3 kB] 
Get:3 http://mirrors.kernel.org/debian/ squeeze/main openjdk-6-jre-lib all 6b18-1.8.13-0+squeeze2 [5,955 kB]
Get:4 http://mirrors.kernel.org/debian/ squeeze/main ca-certificates-java all 20100412 [101 kB]
Get:5 http://mirrors.kernel.org/debian/ squeeze-updates/main tzdata-java all 2012g-0squeeze1 [143 kB]
Get:6 http://mirrors.kernel.org/debian/ squeeze/main java-common all 0.40 [64.3 kB]
Get:7 http://mirrors.kernel.org/debian/ squeeze/main libnspr4-0d amd64 4.8.6-1 [139 kB]                             
Get:8 http://mirrors.kernel.org/debian/ squeeze/main openjdk-6-jre-headless amd64 6b18-1.8.13-0+squeeze2 [25.5 MB]  
Get:9 http://mirrors.kernel.org/debian/ squeeze/main default-jre-headless amd64 1:1.6-40 [7,602 B]                  
Get:10 http://mirrors.kernel.org/debian/ squeeze/main libcommons-collections3-java all 3.2.1-4 [601 kB]             
Get:11 http://mirrors.kernel.org/debian/ squeeze/main libcommons-pool-java all 1.5.4-2 [89.9 kB]                    
Get:12 http://mirrors.kernel.org/debian/ squeeze/main libcommons-dbcp-java all 1.4-1 [152 kB]                       
Get:13 http://mirrors.kernel.org/debian/ squeeze/main libecj-java all 3.5.1-1 [1,234 kB]                            
Get:14 http://mirrors.kernel.org/debian/ squeeze/main libservlet2.5-java all 6.0.35-1+squeeze2 [194 kB]             
Get:15 http://mirrors.kernel.org/debian/ squeeze/main libtomcat6-java all 6.0.35-1+squeeze2 [3,095 kB]              
Get:16 http://mirrors.kernel.org/debian/ squeeze/main tomcat6-common all 6.0.35-1+squeeze2 [50.0 kB]                
Get:17 http://mirrors.kernel.org/debian/ squeeze/main tomcat6 all 6.0.35-1+squeeze2 [39.3 kB]                       
Fetched 38.5 MB in 33s (1,155 kB/s)                                                                                 
Preconfiguring packages ...
Selecting previously deselected package authbind.
(Reading database ... 42315 files and directories currently installed.)
Unpacking authbind (from .../authbind_1.2.0_amd64.deb) ...
Selecting previously deselected package openjdk-6-jre-lib.
Unpacking openjdk-6-jre-lib (from .../openjdk-6-jre-lib_6b18-1.8.13-0+squeeze2_all.deb) ...
Selecting previously deselected package ca-certificates-java.
Unpacking ca-certificates-java (from .../ca-certificates-java_20100412_all.deb) ...
Selecting previously deselected package tzdata-java.
Unpacking tzdata-java (from .../tzdata-java_2012g-0squeeze1_all.deb) ...
Selecting previously deselected package java-common.
Unpacking java-common (from .../java-common_0.40_all.deb) ...
Selecting previously deselected package libnspr4-0d.
Unpacking libnspr4-0d (from .../libnspr4-0d_4.8.6-1_amd64.deb) ...
Selecting previously deselected package libnss3-1d.
Unpacking libnss3-1d (from .../libnss3-1d_3.12.8-1+squeeze6_amd64.deb) ...
Selecting previously deselected package openjdk-6-jre-headless.
Unpacking openjdk-6-jre-headless (from .../openjdk-6-jre-headless_6b18-1.8.13-0+squeeze2_amd64.deb) ...
Selecting previously deselected package default-jre-headless.
Unpacking default-jre-headless (from .../default-jre-headless_1%3a1.6-40_amd64.deb) ...
Selecting previously deselected package libcommons-collections3-java.
Unpacking libcommons-collections3-java (from .../libcommons-collections3-java_3.2.1-4_all.deb) ...
Selecting previously deselected package libcommons-pool-java.
Unpacking libcommons-pool-java (from .../libcommons-pool-java_1.5.4-2_all.deb) ...
Selecting previously deselected package libcommons-dbcp-java.
Unpacking libcommons-dbcp-java (from .../libcommons-dbcp-java_1.4-1_all.deb) ...
Selecting previously deselected package libecj-java.
Unpacking libecj-java (from .../libecj-java_3.5.1-1_all.deb) ...
Selecting previously deselected package libservlet2.5-java.
Unpacking libservlet2.5-java (from .../libservlet2.5-java_6.0.35-1+squeeze2_all.deb) ...
Selecting previously deselected package libtomcat6-java.
Unpacking libtomcat6-java (from .../libtomcat6-java_6.0.35-1+squeeze2_all.deb) ...
Selecting previously deselected package tomcat6-common.
Unpacking tomcat6-common (from .../tomcat6-common_6.0.35-1+squeeze2_all.deb) ...
Selecting previously deselected package tomcat6.
Unpacking tomcat6 (from .../tomcat6_6.0.35-1+squeeze2_all.deb) ...
Processing triggers for man-db ...
Setting up authbind (1.2.0) ...
Setting up java-common (0.40) ...
Setting up tzdata-java (2012g-0squeeze1) ...
Setting up libnspr4-0d (4.8.6-1) ...
Setting up libnss3-1d (3.12.8-1+squeeze6) ...
Setting up libecj-java (3.5.1-1) ...
Setting up libservlet2.5-java (6.0.35-1+squeeze2) ...
Setting up openjdk-6-jre-headless (6b18-1.8.13-0+squeeze2) ...
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/java to provide /usr/bin/java (java) in auto mode.
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode.
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/pack200 to provide /usr/bin/pack200 (pack200) in auto mode.
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/rmid to provide /usr/bin/rmid (rmid) in auto mode.
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode.
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/unpack200 to provide /usr/bin/unpack200 (unpack200) in auto mode.
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/orbd to provide /usr/bin/orbd (orbd) in auto mode.
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/servertool to provide /usr/bin/servertool (servertool) in auto mode.
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/tnameserv to provide /usr/bin/tnameserv (tnameserv) in auto mode.
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode.
Setting up openjdk-6-jre-lib (6b18-1.8.13-0+squeeze2) ...
Setting up libcommons-collections3-java (3.2.1-4) ...
Setting up libcommons-pool-java (1.5.4-2) ...
Setting up libcommons-dbcp-java (1.4-1) ...
Setting up libtomcat6-java (6.0.35-1+squeeze2) ...
Setting up tomcat6-common (6.0.35-1+squeeze2) ...
Setting up tomcat6 (6.0.35-1+squeeze2) ...

Creating config file /etc/default/tomcat6 with new version
Adding system user `tomcat6' (UID 112) ...
Adding new user `tomcat6' (UID 112) with group `tomcat6' ...
Not creating home directory `/usr/share/tomcat6'.
Starting Tomcat servlet engine: tomcat6.
Setting up default-jre-headless (1:1.6-40) ...
Setting up ca-certificates-java (20100412) ...
creating /etc/ssl/certs/java/cacerts...
Could not create the Java virtual machine.
  error adding brasil.gov.br/brasil.gov.br.crt
  error adding cacert.org/cacert.org.crt
  error adding debconf.org/ca.crt
  error adding gouv.fr/cert_igca_dsa.crt
  error adding gouv.fr/cert_igca_rsa.crt
  error adding mozilla/ABAecom_=sub.__Am._Bankers_Assn.=_Root_CA.crt
  error adding mozilla/AddTrust_External_Root.crt
  error adding mozilla/AddTrust_Low-Value_Services_Root.crt
  error adding mozilla/AddTrust_Public_Services_Root.crt
  error adding mozilla/AddTrust_Qualified_Certificates_Root.crt
  error adding mozilla/America_Online_Root_Certification_Authority_1.crt
  error adding mozilla/America_Online_Root_Certification_Authority_2.crt
  error adding mozilla/AOL_Time_Warner_Root_Certification_Authority_1.crt
  error adding mozilla/AOL_Time_Warner_Root_Certification_Authority_2.crt
  error adding mozilla/Baltimore_CyberTrust_Root.crt
  error adding mozilla/beTRUSTed_Root_CA-Baltimore_Implementation.crt
  error adding mozilla/beTRUSTed_Root_CA.crt
  error adding mozilla/beTRUSTed_Root_CA_-_Entrust_Implementation.crt
  error adding mozilla/beTRUSTed_Root_CA_-_RSA_Implementation.crt
  error adding mozilla/Camerfirma_Chambers_of_Commerce_Root.crt
  error adding mozilla/Camerfirma_Global_Chambersign_Root.crt
  error adding mozilla/Certplus_Class_2_Primary_CA.crt
  error adding mozilla/Certum_Root_CA.crt
  error adding mozilla/Comodo_AAA_Services_root.crt
  error adding mozilla/COMODO_Certification_Authority.crt
  error adding mozilla/COMODO_ECC_Certification_Authority.crt
  error adding mozilla/Comodo_Secure_Services_root.crt
  error adding mozilla/Comodo_Trusted_Services_root.crt
  error adding mozilla/DigiCert_Assured_ID_Root_CA.crt
  error adding mozilla/DigiCert_Global_Root_CA.crt
  error adding mozilla/DigiCert_High_Assurance_EV_Root_CA.crt
  error adding mozilla/Digital_Signature_Trust_Co._Global_CA_1.crt
  error adding mozilla/Digital_Signature_Trust_Co._Global_CA_2.crt
  error adding mozilla/Digital_Signature_Trust_Co._Global_CA_3.crt
  error adding mozilla/Digital_Signature_Trust_Co._Global_CA_4.crt
  error adding mozilla/DST_ACES_CA_X6.crt
  error adding mozilla/DST_Root_CA_X3.crt
  error adding mozilla/Entrust.net_Global_Secure_Personal_CA.crt
  error adding mozilla/Entrust.net_Global_Secure_Server_CA.crt
  error adding mozilla/Entrust.net_Premium_2048_Secure_Server_CA.crt
  error adding mozilla/Entrust.net_Secure_Personal_CA.crt
  error adding mozilla/Entrust.net_Secure_Server_CA.crt
  error adding mozilla/Entrust_Root_Certification_Authority.crt
  error adding mozilla/Equifax_Secure_CA.crt
  error adding mozilla/Equifax_Secure_eBusiness_CA_1.crt
  error adding mozilla/Equifax_Secure_eBusiness_CA_2.crt
  error adding mozilla/Equifax_Secure_Global_eBusiness_CA.crt
  error adding mozilla/Firmaprofesional_Root_CA.crt
  error adding mozilla/GeoTrust_Global_CA_2.crt
  error adding mozilla/GeoTrust_Global_CA.crt
  error adding mozilla/GeoTrust_Primary_Certification_Authority.crt
  error adding mozilla/GeoTrust_Universal_CA_2.crt
  error adding mozilla/GeoTrust_Universal_CA.crt
  error adding mozilla/GlobalSign_Root_CA.crt
  error adding mozilla/GlobalSign_Root_CA_-_R2.crt
  error adding mozilla/Go_Daddy_Class_2_CA.crt
  error adding mozilla/GTE_CyberTrust_Global_Root.crt
  error adding mozilla/GTE_CyberTrust_Root_CA.crt
  error adding mozilla/IPS_Chained_CAs_root.crt
  error adding mozilla/IPS_CLASE1_root.crt
  error adding mozilla/IPS_CLASE3_root.crt
  error adding mozilla/IPS_CLASEA1_root.crt
  error adding mozilla/IPS_CLASEA3_root.crt
  error adding mozilla/IPS_Servidores_root.crt
  error adding mozilla/IPS_Timestamping_root.crt
  error adding mozilla/NetLock_Business_=Class_B=_Root.crt
  error adding mozilla/NetLock_Express_=Class_C=_Root.crt
  error adding mozilla/NetLock_Notary_=Class_A=_Root.crt
  error adding mozilla/NetLock_Qualified_=Class_QA=_Root.crt
  error adding mozilla/Network_Solutions_Certificate_Authority.crt
  error adding mozilla/QuoVadis_Root_CA_2.crt
  error adding mozilla/QuoVadis_Root_CA_3.crt
  error adding mozilla/QuoVadis_Root_CA.crt
  error adding mozilla/RSA_Root_Certificate_1.crt
  error adding mozilla/RSA_Security_1024_v3.crt
  error adding mozilla/RSA_Security_2048_v3.crt
  error adding mozilla/Secure_Global_CA.crt
  error adding mozilla/SecureTrust_CA.crt
  error adding mozilla/Security_Communication_Root_CA.crt
  error adding mozilla/Sonera_Class_1_Root_CA.crt
  error adding mozilla/Sonera_Class_2_Root_CA.crt
  error adding mozilla/Staat_der_Nederlanden_Root_CA.crt
  error adding mozilla/Starfield_Class_2_CA.crt
  error adding mozilla/StartCom_Certification_Authority.crt
  error adding mozilla/StartCom_Ltd..crt
  error adding mozilla/Swisscom_Root_CA_1.crt
  error adding mozilla/SwissSign_Gold_CA_-_G2.crt
  error adding mozilla/SwissSign_Platinum_CA_-_G2.crt
  error adding mozilla/SwissSign_Silver_CA_-_G2.crt
  error adding mozilla/Taiwan_GRCA.crt
  error adding mozilla/TC_TrustCenter__Germany__Class_2_CA.crt
  error adding mozilla/TC_TrustCenter__Germany__Class_3_CA.crt
  error adding mozilla/TDC_Internet_Root_CA.crt
  error adding mozilla/TDC_OCES_Root_CA.crt
  error adding mozilla/Thawte_Personal_Basic_CA.crt
  error adding mozilla/Thawte_Personal_Freemail_CA.crt
  error adding mozilla/Thawte_Personal_Premium_CA.crt
  error adding mozilla/Thawte_Premium_Server_CA.crt
  error adding mozilla/thawte_Primary_Root_CA.crt
  error adding mozilla/Thawte_Server_CA.crt
  error adding mozilla/Thawte_Time_Stamping_CA.crt
  error adding mozilla/TURKTRUST_Certificate_Services_Provider_Root_1.crt
  error adding mozilla/TURKTRUST_Certificate_Services_Provider_Root_2.crt
  error adding mozilla/UTN_DATACorp_SGC_Root_CA.crt
  error adding mozilla/UTN_USERFirst_Email_Root_CA.crt
  error adding mozilla/UTN_USERFirst_Hardware_Root_CA.crt
  error adding mozilla/UTN-USER_First-Network_Applications.crt
  error adding mozilla/ValiCert_Class_1_VA.crt
  error adding mozilla/ValiCert_Class_2_VA.crt
  error adding mozilla/Verisign_Class_1_Public_Primary_Certification_Authority.crt
  error adding mozilla/Verisign_Class_1_Public_Primary_Certification_Authority_-_G2.crt
  error adding mozilla/Verisign_Class_1_Public_Primary_Certification_Authority_-_G3.crt
  error adding mozilla/Verisign_Class_2_Public_Primary_Certification_Authority.crt
  error adding mozilla/Verisign_Class_2_Public_Primary_Certification_Authority_-_G2.crt
  error adding mozilla/Verisign_Class_2_Public_Primary_Certification_Authority_-_G3.crt
  error adding mozilla/Verisign_Class_3_Public_Primary_Certification_Authority.crt
  error adding mozilla/Verisign_Class_3_Public_Primary_Certification_Authority_-_G2.crt
  error adding mozilla/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.crt
  error adding mozilla/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.crt
  error adding mozilla/Verisign_Class_4_Public_Primary_Certification_Authority_-_G2.crt
  error adding mozilla/Verisign_Class_4_Public_Primary_Certification_Authority_-_G3.crt
  error adding mozilla/Verisign_RSA_Secure_Server_CA.crt
  error adding mozilla/Verisign_Time_Stamping_Authority_CA.crt
  error adding mozilla/Visa_eCommerce_Root.crt
  error adding mozilla/Visa_International_Global_Root_2.crt
  error adding mozilla/Wells_Fargo_Root_CA.crt
  error adding mozilla/WellsSecure_Public_Root_Certificate_Authority.crt
  error adding mozilla/XRamp_Global_CA_Root.crt
  error adding signet.pl/signet_ca1_pem.crt
  error adding signet.pl/signet_ca2_pem.crt
  error adding signet.pl/signet_ca3_pem.crt
  error adding signet.pl/signet_ocspklasa2_pem.crt
  error adding signet.pl/signet_ocspklasa3_pem.crt
  error adding signet.pl/signet_pca2_pem.crt
  error adding signet.pl/signet_pca3_pem.crt
  error adding signet.pl/signet_rootca_pem.crt
  error adding signet.pl/signet_tsa1_pem.crt
  error adding spi-inc.org/spi-ca-2003.crt
  error adding spi-inc.org/spi-cacert-2008.crt
  error adding telesec.de/deutsche-telekom-root-ca-2.crt
failed (VM used: java-6-openjdk).
dpkg: error processing ca-certificates-java (--configure):
 subprocess installed post-installation script returned error exit status 1
configured to not write apport reports
                                      Errors were encountered while processing:
E: Sub-process /usr/bin/dpkg returned an error code (1)

Well it looks like something went wrong. It’s about certificates, let see…
It turned out i have no enough ram in order to properly finish the installation.
Yes, because you could limit the memory usage by Java at runtime by adding -mx64m to the command line arguments.
But since These values are hardcoded into the Virtual Machine (JVM), there is no way (apparently) to end up with a complete installation without having enough memory available.
So what i did was to add 512 megabyte of memory to my VPS.
and here is what i got after this:

root@server:~# apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? Y
Setting up ca-certificates-java (20100412) ...
creating /etc/ssl/certs/java/cacerts...

So, at this point we sould install the missing link: jk_mod but: How to find the right apt-get package if no package was found for jk_mod?

root@server:~# apt-cache search jakarta
libcommons-httpclient-java-doc - Documentation for libcommons-httpclient-java
libcommons-httpclient-java - A Java(TM) library for creating HTTP clients
libjakarta-ecs-java - Element construction set for various markup languages
liblog4j1.2-java-doc - Documentation for liblog4j1.2-java
libservlet2.3-java - Servlet 2.3 and JSP 1.2 Java classes and documentation
liblog4cpp-doc - A C++ library for flexible logging (documentation)
liblog4cpp5-dev - C++ library for flexible logging (development)
liblog4cpp5 - C++ library for flexible logging (runtime)
libapache2-mod-jk - Apache 2 connector for the Tomcat Java servlet engine
libcommons-attributes-java-doc - adds C#/.Net-style attributes to Java code - documentation
libcommons-attributes-java - adds C#/.Net-style attributes to Java code
libcommons-net2-java-doc - internet protocol suite Java library
libcommons-net2-java - internet protocol suite Java library
libjakarta-poi-java-doc - Poor Obfuscation Implementation Documentation
libjakarta-poi-java - Poor Obfuscation Implementation
liblog-log4perl-perl - A Perl port of the widely popular log4j logging package.
liboro-java-doc - Regular expression library for Java -- documentation
liboro-java - Regular expression library for Java
libplucene-perl - A Perl port of the Lucene search engine

So what we need is libapache2-mod-jk.
so let’s install it by issuing the atp-get wizardry:

root@scuoladidomotica:~# apt-get install libapache2-mod-jk
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
The following NEW packages will be installed:
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 149 kB of archives.
After this operation, 467 kB of additional disk space will be used.
Get:1 http://mirrors.kernel.org/debian/ squeeze/main libapache2-mod-jk amd64 1:1.2.30-1squeeze1 [149 kB]
Fetched 149 kB in 1s (130 kB/s)             
Selecting previously deselected package libapache2-mod-jk.
(Reading database ... 43351 files and directories currently installed.)
Unpacking libapache2-mod-jk (from .../libapache2-mod-jk_1%3a1.2.30-1squeeze1_amd64.deb) ...
Setting up libapache2-mod-jk (1:1.2.30-1squeeze1) ...
Enabling module jk.
Run '/etc/init.d/apache2 restart' to activate new configuration!

It looks like we are ok now.
Let’s try to restart apache and see what happens.

root@server:~# service apache2 restart

It looks good! Let me see if my website is still alive… yes!
Now we need to enable some virtualhost to process jsp pages.

I will enable giuseppeurso.it in order to process jsp pages.

First create the workers with

nano /etc/apache2/workers.properties

Then paste the following content into this file


Then we need to edit /etc/apache2/conf.d/jk.conf so it looks like this:

    JkWorkersFile /etc/apache2/worker.properties
    JkLogFile /var/log/apache2/mod_jk.log
    JkLogLevel error

Add the directive to the virtualhost config file (this case is giuseppeurso.it) right after the virtualhost opening declaration.

    JkMount /*.jsp default
    ServerName www.giuseppeurso.it

Then reload apache2

/etc/init.d/apache2 reload

Then configure the server.xml

nano /etc/tomcat6/server.xml

Add the following lines before the end

At this point i had to change the tomcat6 post from 8080 to 8081 because my 8080 port is already used by Ispconfig3. So i edit the previous file and change the “8080” occurencies to “8081”. Then stop apache2, restart tomcat6, start apache2 Now point your browser to your site followed by semicolon and portnumber, and you should see this page:


Then you want to install some useful package to manage your tomcat like the one suggested in the welcome page:tomcat6-admin So let’s type:

apt-get install tomcat6-admin

then we should configure some user in order to login to this web management interface:
To do this you simply edit the file called tomcat-users.xml typing

nano /etc/tomcat6/tomcat-users.xml

Then at the end of the file, right before the closing

add a line like this:

Adding roles manager and admin means this user can access both the manager webapp and the host-manager webapp.

Remember to restart tomcat after editing this file.
Now point your browser to the two links in the welcome page and you should see:


Let’s make a break and try to run some example page under this config.

Stay tuned for the installation of Hippo! i will write about this tomorrow! 

(Visited 1,094 times, 1 visits today)

Author: Giuseppe Urso

Giuseppe lives in Haarlem now with his shiny dog, Filippa In 1982 received his first home computer, a Commodore 64, followed by Datasette and a 1541 Floppy Disk Drive. In 1999 he installed his first Linux distro (LRH6). In 2006 he switched to Debian as favourite OS. Giuseppe Urso actively sustains the Free Software Fundation and his founder Richard Mattew Stallman, he speaks to people trying to convince them to join the fight now, and about how important is to use Free Software only. He has a job as Infra Specialist at Hippo Enterprise Java Cms an Open Source Enterprise class Content Management System, one of the coolest company ever, in Amsterdam. He's always ready to install Debian on other people computers for free.

5 thoughts on “Exploring Open Source CMS: Hippo”

    1. Hi Bas!
      yes I’m planning to do a fresh installation and consequentely update this post, because it turned out that it is not advisable such an installation for tomcat as its management seems to be easier if you compile and install packages yourself.
      So i’m reading a little of docs about this topic and about how to use Apache as reverse proxy in a virtual host environment like this one (i’m new to the jsp technology). I will update this post asap.
      Do you have any advices about docs?

      Thank you for your comment

  1. Hi would you mind stating which blog platform you’re working with?
    I’m looking to start my own blog soon but I’m having a hard time
    choosing between BlogEngine/Wordpress/B2evolution and Drupal.
    The reason I ask is because your design and style seems different then most blogs and I’m looking
    for something completely unique. P.S Sorry for
    being off-topic but I had to ask!

Leave a Reply

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.