2. Update History
Version Date Changes
1 March 30, First edition
2011
2 March 31, SSL+Reverse Proxy settings, Additional notes for
2011 SMTPAuth
3 January 23, Added description about wkhtmltoimage
2012 Added description about creating custom stencils and managing
samples
3. Contents
System Requirements
Server - Hardware
Server - Software
Client
Contents of package
Installing wkhtmltopdf
Example of installing wkhtmltopdf
Installing pdftops
Installing Font
Example of installing ImageMagick
ver6.6.6 or later can be installed using yum
ver6.6.6 or later cannot be installed using yum
Installation
1. Create database
2. Create table
3. Place Cacoo
Check placement
Determining the settings error
4. Cacoo Settings
Change DB connection (optional)
Change mail server (optional)
1. Use SMTP server without authentication
2. Use SMTP server without authentication
Change ImageMagickâs install pass (optional)
Change wkhtmltopdf and pdftopsâs install pass (optional)
Change http/https, port number (optional)
httpScheme=http
Initial Settings
Package maintenance
Change password
Set email address
Manage team
Deleting an account
Changing the usersâ roles
Changing the account information
Managing samples
Managing customized stencils
Other information
Backup
Access Cacoo through ApacheïŒport 80, mod_proxy_httpïŒ
System Requirements
4. Server - Hardware
CPU 2.5GHz or above
Memory 4GB or above
Harddisk 100GB or above
Server - Software
OS Linux (RHEL 5 or CentOS 5)
Database PostgreSQL 8.4
Web Server Tomcat 6.0.29
Java Java6_u23
(JDK from Sun)
SMTP Server SMTP server that can send emails without SMTP authentication.
Sendmail, which comes with Red Hat Enterprise Linux or
CentOS by default can be used.
For Image ImageMagick ver 6.6.6 or above
Processing
For PDF wkhtmltopdf 0.10.0 rc2 (http://code.google.com/p/
wkhtmltopdf/)
For PostScript pdftops (xpdf) 3.02
Font VLGothic, IPAFont, urw-Fonts
Client
Browser IE, FireFox, Safari (only on Mac), Chrome(only on Win)
6. Contents of package
cacoo.war cacoo, the application itself (Context pass is /cacoo)
ROOT.war cacoo, the application itself (Context pass is / )
create_table.sql SQL for creating DB table
update_all.sql SQL for adding stencil data
package.sql SQL for Cacoo Enterprise
install_doc.pdf Installation manual (this document)
blazeds_patch.zip Patch for BlazeDS revision file
cacoo.war and ROOT.war are the same module except their context pass settings
are differently.
Please use /cacoo context pass for cacoo.war and
/ for ROOT.war.
It cannot changed to other context passes.
7. Preparation
Please install the modules listed under System Requirements: Server -
Software.
â Java
â Tomcat
â PostgreSQL
â SMTP Server
â ImageMagick
â wkhtmltopdf
â pdftops (xpdf)
â Font
Installation method varies depending on the environment. The example below
shows when the modules are installed on CentOS (i386) .
Installing wkhtmltopdf
mkdir -p /root/temp/wkhtmltopdf
cd /root/temp/wkhtmltopdf
wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.10.0_rc2-static-i386.tar.bz2
tar jxfv wkhtmltopdf-0.10.0_rc2-static-i386.tar.bz2
mv wkhtmltopdf-i386 /usr/local/bin/wkhtmltopdf
wkhtmltopdf --verions
Check installation and version
/user/local/bin/wkhtmltopdf -version
Example of installing wkhtmltopdf
mkdir -p /root/temp/wkhtmltoimage
cd /root/temp/wkhtmltoimage
wget http://wkhtmltopdf.googlecode.com/files/wkhtmltoimage-0.10.0_rc2-static-i386.tar.bz2
tar jxfv wkhtmltoimage-0.10.0_rc2-static-i386.tar.bz2
mv wkhtmltoimage-i386 /usr/local/bin/wkhtmltoimage
Check installation and version
/usr/local/bin/wkhtmltoimage --versions
Installing pdftops
8. yum install t1lib-devel libpaper-devel
yum install freetype freetype-devel
yum install libXft-devel libXmu-devel libXp-devel
yum install gcc-c++
mkdir -p /root/temp/pdftops
cd /root/temp/pdftops
wget ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02.tar.gz
tar xzf xpdf-3.02.tar.gz
cd xpdf-3.02
./configure --with-freetype2-includes=/usr/include/freetype2 --with-Xm-includes=/usr/
include/X11/Xmu
make
make install
Check installation and version
/usr/local/bin/pdftops -v
Installing Font
yum install fonts-japanese -y
yum install VLGothic-fonts.noarch VLGothic-fonts-proportional.noarch -y
mkdir /usr/temp/ipafont
cd /usr/temp/ipafont
wget http://ossipedia.ipa.go.jp/ipafont/ipag00302.php
wget http://ossipedia.ipa.go.jp/ipafont/ipagp00302.php
unzip ipag00302.zip
unzip ipagp00302.zip
cp ipag00302/ipag.ttf /usr/share/fonts/japanese/
cp ipagp00302/ipagp.ttf /usr/share/fonts/japanese/
yum install urw-fonts.noarch -y
Example of installing ImageMagick
ver6.6.6 or later can be installed using yum
yum install ImageMagick
ver6.6.6 or later cannot be installed using yum
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm
wget http://www.imagemagick.org/download/linux/SRPMS/ImageMagick-6.6.6-10.src.rpm
rpm -ivh --nomd5 ImageMagick-6.6.6-10.src.rpm
10. Installation
1. Create database
Cacoo connects to the database using the following setting for the initial setting.
Host localhost
Port 5432
Database name cacoo
Database user name postgres
Database password postgres
Abobe settings can be changed in settings file.
e.g. Command for creating (Text in black is input part.)
$ psql
postgres=# create database cacoo;
CREATE DATABASE
postgres=# l
List of databases
Name | Owner | Encoding
-----------+----------+----------
cacoo | postgres | UTF8
2. Create table
[Content] Create table using create_table.sql.
[Content] Create table using update_all.sql.
[Content] Create table using package.sql.
e.g. Command for creating (Text in black is input part.)
$ psql cacoo
cacoo=# i create_table.sql
BEGIN
CREATE SEQUENCE
11. CREATE SEQUENCE
âŠ
ALTER TABLE
COMMIT
cacoo=# i update_all.sql
INSERT 0 1
INSERT 0 1
...
INSERT 0 1
cacoo=#
cacoo=# i package.sql
INSERT 0 1
INSERT 0 1
...
CREATE TABLE
INSERT 0 1
cacoo=#
3. Place Cacoo
This document describes the way to place the context pass, â /cacooâ, using
cacoo.war. Please replace with the context pass, â/â if you are using Root.war.
[Content] Place cacoo.war in {tomcatâs directry}/webapps.
If tomcat has not been started, start tomcat. Starting takes some time so please
access after 30 seconds or so.
Check placement
Please make sure you can display the login page on the URL below.
http://(installed host)/cacoo/
e.g.. http://localhost:8080/cacoo/
If the page cannot be displayed, please check:
â tomcat is started?
â Module is on {tomcatâs directry}/webapps/cacoo?
â Database is connected?
â Database connection is correct?
Determining the settings error
Server doesnât return the Please check that tomcat is working proberly.
12. process
Server cannot be found URL might be wrong or tomcat is not working.
HTTP status 500 error Database connection might be not correct. Please
check tomcat log.
Loading stencils does not update_all.sql might be not executed.
finish after starting the
editor
4. Cacoo Settings
Change DB connection (optional)
Please open {tomcatâs directory}/webapps/cacoo/WEB-INF/classes/jdbc.dicon with
text editor.
Youâll find the following part after approximately 16th line.
<component name="xaDataSource"
class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
<property name="driverClassName">
"org.postgresql.Driver"
</property>
<property name="URL">
"jdbc:postgresql://localhost:5432/cacoo?protocolVersion=2"
</property>
<property name="user">"postgres"</property>
<property name="password">"postgres"</property>
</component>
Modify the settings depending on your environment and restart tomcat.
Change mail server (optional)
1. Use SMTP server without authentication
13. Please open {tomcatâs directory}/webapps/cacoo/WEB-INF/classes/cacoo.dicon
with text editor.
Youâll find the following part after approximately 19th line.
<component class="java.lang.String" name="smtpHost">
<description>SMTP host name</description>
<arg>"localhost"</arg>
</component>
Modify the settings depending on your environment and restart tomcat.
2. Use SMTP server without authentication
In addition to the change in 1., the following setting is required.
Please open {tomcatâs directory}/webapps/cacoo/WEB-INF/classes/mail.dicon with
text editor.
Add username and password in 2 different places.
<!-- mail send class -->
<component class="com.ozacc.mail.impl.SendMailImpl">
<property name="username">"xxxxxxx"</property>
<property name="password">"xxxxxxx"</property>
<property name="host">cacoo.smtpHost</property>
<property name="charset">"UTF-8"</property>
<aspect pointcut="send"><component
class="cacoo.interceptor.AsyncInterceptor" /></aspect>
</component>
<!-- mail send class(Pro) -->
<component class="com.ozacc.mail.impl.SendMailProImpl"
instance="prototype">
<property name="username">"xxxxxxx"</property>
<property name="password">"xxxxxxx"</property>
<property name="host">cacoo.smtpHost</property>
<property name="charset">"UTF-8"</property>
</component>
Modify username and password depending on your environment and restart tomcat.
14. * POP3 is not used.
Change ImageMagickâs install pass (optional)
Please open {tomcatâs directory}/webapps/cacoo/WEB-INF/classes/
im4java.properties with text editor.
toolPath=/usr/bin
Modify the settings depending on your environment and restart tomcat.
Change wkhtmltopdf and pdftopsâs install pass (optional)
Please open {tomcatâs directory}/webapps/cacoo/WEB-INF/classes/web.properties
with text editor.
Youâll find the following part after approximately 6th line.
wkhtmltopdfPath=/usr/local/bin/wkhtmltopdf
wkhtmltoimagePath=/usr/local/bin/wkhtmltoimage
pdftopsPath=/usr/local/bin/pdftops
Modify the settings depending on your environment and restart tomcat.
Change http/https, port number (optional)
Please open {tomcatâs directory}/webapps/cacoo/WEB-INF/classes/web.properties
with text editor.
httpScheme=http
httpPort=8080
httpsScheme=http
httpsPort=8080
Modify the settings depending on your environment and restart tomcat.
Initial Settings
15. Access http://(installed host)/cacoo/.
When you see the log in page, log in with Cacoo ID:admin and passwordïŒcacoo .
Package maintenance
After you log in, the package maintenance page will be displayed.
Please enter the license code and other email addresses, sent separately.
16. License Code To use application, license code is required.
Please enter the license code provided to register.
When you see âLicense is activatedâ, you can use this
application.
Sender email address When users are invited to the diagrams, Cacoo sends
for notification mails notification mails. Please specify the email address of
the sender (From).
Return-to email When users are invited to the diagrams, Cacoo sends
address for notification mails. Please specify the email address to
notification mails reply (Reply-to).
17. About license code
To use this application, licence code is necessary.
Without license code, this application cannot be used.
Customers with license code will see the license information on the bottom of the
site and âAbout Cacoo (shown when Cacoo logo is clicked)â. This setting cannot be
changed.
Also, for license code with time limited will not be able to use most pages after the
end of the term.
For issuing license code, please contact Nulab, Inc.
Change password
Please change password on Settings > Password tab.
Set email address
Please change email address on Settings > Email tab.
Manage team
Invitation mail can be set from Settings > Manage team.
18. The status changes to âJoined the teamâ. Until then, the status will be shown
as âInvitedâ in the list.
New users who is not invited but registered from âSign upâ page will be
automatically added to this list.
Please note that once the number of users for the license reaches to its maximum
number, other people will not be able to sign up or invited.
Deleting an account
To delete an account, press the âRemove Accountâ button on the Manage Team
page. Please note that the diagrams that this user has created will be deleted also.
To keep the diagrams, please share the diagrams to other users and let them copy
19. the diagrams.
Changing the usersâ roles
Usersâ roles can be changed by pressing the âChange to Administratorâ or âChange
to Userâ link on the Manage Team page.
Administrators will be able to change the settings.
The original Admin users cannot be modified.
Changing the account information
Administrators cannot change other usersâ names nor email addresses.
Please ask the users to change their settings from âSettingsâ tab.
Managing samples
The default diagrams can be preset so that users will see them when they sign in.
Create a diagram and set the diagramâs URL from the settings page.
To delete the sample, press âDelete from samplesâ button. The original diagram
will not be deleted.
Please note that deleting the original diagram will delete it from the samples.
20. Managing customized stencils
Manage the stencils that are available for all uses using this package.
Create a diagram like creating a regular diagram or a sample. Save it as âStencilâ.
Set the URL on the settings page.
21.
22. Changes to the stencils will be automatically applied to the registered stencils.
To delete the stencil, press âDelete from stencilsâ button. The original diagram will
not be deleted.
Please note that deleting the original diagram will delete it from the samples.
The stencils will be listed as they were added and the order cannot be changed. To
change the order, please delete them and add them again.
Other information
Backup
Required information are stored in Database.
Please backup Dababase with PostgreSQL functionality.
Access Cacoo through ApacheïŒport 80,
mod_proxy_httpïŒ
When the application is run under reverse proxy, the following setting is required.
Please stop tomcat, follow the instruction below and start tomcat again.
23. 1. Download RemoteIpValve library, place in tomcatâs lib directory.
( http://code.google.com/p/xebia-france/wiki/RemoteIpValve )
http://xebia-france.googlecode.com/files/xebia-tomcat-extras-1.0.0.jar
2. Add Value setting in tomcatâs server.xml.
----------------------------------------------------------------------
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
...
<!-- here -->
<Valve
className="org.apache.catalina.connector.RemoteIpValve"
protocolHeader="x-forwarded-proto" />
...
----------------------------------------------------------------------
Also, the settings shown in âChange http/https, port number (optional)â in this
installation manual is required.
httpScheme=http
httpPort=80
httpsScheme=https
httpsPort=443