Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Change the owner and group of the release package to tomcat:cviewphixflow:

Code Block
languagebash
chown phixflow-x.y.z-yyymmdd.zip tomcat:

...

phixflow

Switch to the tomcat user (makes sure that login scripts are run. The syntax for this may vary between operating systems:

Code Block
languagebash
su -l tomcat

Change back to the release directory and unzip / unpack the release:

Code Block
languagebash
unzip phixflow-x.y.z-yyyymmdd.zip

This will create a release directories like:

Code Block
phixflow-x.y.z-yyyymmdd

...


phixflow-x.y.z-yyyymmdd/schema

...


phixflow-x.y.z-yyyymmdd/webapps

Windows

Unzip the release package using WINZIP or similar.

Code Block
phixflow-x.y.z-yyyymmdd

...


phixflow-x.y.z-yyyymmdd/schema

...


phixflow-x.y.z-yyyymmdd/webapps

Setting up the PhixFlow Database
Anchor
installingDatabase
installingDatabase

The schema installation has 4 main steps, regardless of platform:

...

All of the commands below should be run from an operating system command window e.g. bash (Linux) or cmd (Windows), and the current directory should be set to that containing the installation instructions for the target platform.

E.g.

Code Block

...

cd $RELEASE/phixflow-x.y.z-yyyymmdd

...

/

...

install

...

Create the database user

Creating the database user is heavily dependent on the database platform, and will often have to be varied to meet local requirements regarding naming and security. These example commands will be adequate for basic installations.

Platform

Create the database user

Oracle:

This command will prompt for the name of the user to be created.

cmd>
Code Block
sqlplus SYS/SYSPassword@SID as
SYSDBA @create
 SYSDBA @schema/oracle/install/create_user


Sql Server:

This command

required the name of

requires the user

to be created

, the password,

etc.

the login and the database to be provided as parameters.

Code Block
cmd>
sqlcmd -S localhost\myservice -i schema/sql_server/install/create_database_and_user.sql -v dbName="
cview
phixflow" dbLogin="
cview
phixflow" dbUser="
cview
phixflow" dbPassword="mypass"


MySQL:

Start a session the database:

Code Block
cmd>
mysql
 --user=myrootuser
 --password
mysql> create database cview;
mysql> grant all privileges on cview.* to

Create the user, supplying the name of the database, the user and the password in the commands below:

Code Block
create database phixflow
    CHARACTER SET = 'utf8'
    COLLATE = 'utf8_bin';
grant all privileges on phixflow.* to 'myuser'@'%' identified by 'mypass';

mysql>

exit

...


Populate the

...

Creating the database tables is the same regardless of platform, varying only in the URL used to reference the database.

...

Database

Once you have created the database and/or database user, run the Installer to create the database tables and initial data.

The customer name in the commands below must exactly match the customer name used by PhixFlow Support to generate licence files. This argument (–customer="Your Customer Name") is optional, but without a valid customer name and matching licence key you will not be able to run any tasks in PhixFlow.

Code Block
cd $RELEASE/phixflow-x.y.z-yyyymmdd/install

Oracle:

Code Block
java -jar bin/installer.jar

...

 -url="jdbc:oracle:thin:@localhost:1521:

...

phixflow" -user=myuser -pass=mypass

...

See the appendices for how to specify URLs for the database platforms supported by PhixFlow.

Create the initial data

Creating the initial data uses the database-specific command-line utilities again:.

Database

Create initial data

Oracle:

cmd> sqlplus myuser/mypass @populate_schema.sql

Sql Server:

cmd> sqlcmd -S hostname\myservice -i populate_schema.sql -v dbName="cview"

MySQL:

cmd> mysql --user=root –-password
mysql> use cview;
mysql> source populate_schema.sql

mysql> exit;

Set the Customer Name in the Database

The customer name in the database must match the customer name used by PhixFlow Support to generate licence files.

...

Database

...

Create initial data

...

Oracle:

...

cmd> sqlplus myuser/mypass
sqlplus> update system_configuration set customer_name=’mycustomer’;
sqlplus> commit;
sqlplus> exit;

...

Sql Server:

...

cmd> sqlcmd -S hostname\myservice –d cview
1> update system_configuration set customer_name=’mycustomer’;
2> go
1> exit

...

MySQL:

cmd> mysql --user=root –-password –database=cview
mysql> update system_configuration set customer_name=’mycustomer’;
mysql> commit;

...

 -install -customer="Your Customer Name"

SQL Server:

Code Block
java -jar bin/installer.jar -url="jdbc:sqlserver://myhost\myserver;database=phixflow" -user=myuser -pass=mypass -install -customer="Your Customer Name"

MySQL:

Code Block
java -jar bin/installer.jar -url="jdbc:mysql://localhost/phixflow" -user=myuser -pass=mypass -install -customer="Your Customer Name"

Further information on the installer

The database installation is now complete. For further information on the installer:

  • See the appendices for how to specify URLs for the database platforms supported by PhixFlow

  • To see all available options for the installer:
Code Block
java -jar bin/installer.jar -help

Install the Webapp in the Tomcat application server

...

In $TOMCAT/webapps/phixflow/WEB-INF/classes, copy phixflow-datasource.xml.<database>.example to phixflow-datasource.xml and edit the properties for <bean id="dataSource"...., e.g.:

Code Block
languagexml
<property name="url">

...


	<value>[CONNECTION STRING]</value>

...


</property>

...


<property name="username">

...


	<value>[USERNAME]</value>

...


</property>

...


<property name="password">

...


	<value>[PASSWORD]</value>

...


</property>

...

Connection Strings

See the appendices for also Database URLs for how to specify connection string URLs for the various database platforms supported by PhixFlow.

The platform-specific [CONNECTION STRING]s are:

Oracle:

Code Block
jdbc:oracle:thin:@hostname:1521:phixflow

Oracle (for containerised instances):

Code Block
jdbc:oracle:thin:@hostname:1521/phixflow


Panel
bgColor#e6f0ff
titleBGColor#99c2ff
titleOracle PDB containers

For Oracle 12c and above, you should use a '/' instead of ':' before [SID], so that [SID] is treated as a SERVICE name rather than an SID. This is due to Oracle 12c introducing pluggable databases (PDB's).

There is also the option to add the line 'USE_SID_AS_SERVICE_listener=on' to the tnsnames.ora Oracle configuration file in order to treat SID's as service names by default. This is provided by Oracle as a workaround for users who have hard-coded connection strings that are difficult to change by hand, and so should not be necessary for phixflow configuration.

For more information, please see the following Oracle documentation links:

USE_SID_AS_SERVICE_listener

Introduction to the Multitenant Architecture (including an explanation of PDB's)


SQL Server:

Code Block
jdbc:sqlserver://hostname\myservice;databaseName=phixflow

MySQL:

Code Block
jajdbc:mysql://hostname/phixflow

Configure phixflow-instance.xml

...

In such a configuration, set the instance name and id for each PhixFlow webapp instance to unique values and set leaderOnStartup to “true” for an instance if it should become active immediately on startup.

 e.g.:

Code Block

...

<!-- The instance name must be different for each member of the cluster -->

...


<bean id="clusterInstance"

...


	class="com.accipia.phixflow.service.cluster.main.ClusterInstance"

...


	p:name="MAIN"

...


	p:id=

...

"1"
	p:leaderOnStartup="true"

...


/>

See the appendices Configuring for Resilience for more information on setting up a resilient configuration.

Configure phixflow-email.xml

The PhixFlow webapp must be configured to allow PhixFlow to poll an internal/external email server for incoming emails.

 In $TOMCAT/webapps/phixflow/WEB-INF/classes, copy phixflow-email.xml.example to phixflow-email.xml and edit the properties for <bean id="emailConfiguration"...., e.g.:

<p:enabled="true">

<p:port="110">

<p:host="pop.your-mail-server.com">

<p:protocol="pop3">

<p:username="your username">

<p:password="your password">

 

...

Anchor
phixflowDomainsXmlInstall
phixflowDomainsXmlInstall

Configure phixflow-

...

domains.xml

The PhixFlow webapp can be configured to authenticate users’ usernames and passwords against an external Domain / Active Directory server.

...

For more information on how to configure for domain logins, see the PhixFlow ActiveDirectory Configuration userguidethe PhixFlow Active Directory Guide.

Configure log4j.properties

To turn on PhixFlow logging, go to directory The log4j.properties file controls detailed event/error logging on the server.

To configure for default logging:

  1. Open or cd to $TOMCAT/webapps/phixflow/WEB-INF/classes

...

  1. Copy log4j.properties.example to log4j.properties

This will give default logging for PhixFlowIt is not necessary to make any changes to this file unless so instructed by PhixFlow Support.

Info
If it is ever necessary to change this file, those changes will take effect within a few seconds, without having to restart the Tomcat server.

Multiple PhixFlow instances

To install multiple instances of PhixFlow on a single server, complete the installation steps above to create a first PhixFlow instance. Then install a further instance:

  • Create a second database user to hold the data for the new instance.
  • Copy the PhixFlow web application into the Tomcat again:
Code Block
cp $RELEASE/webapps/phixflow to $TOMCAT/webapps/alternative_name

where “alternative_name” is the name of your test system.

  • Be sure to set up a separate user and schema in the database for the new PhixFlow instance and to set phixflow-datasource.xml as needed
  • To ensure log messages are sent to a separate file, change the following line in log4j.properties
Code Block
log4j.appender.myAppender.file=logs/ alternative_name.log
  • To allow a user to view this instance of PhixFlow at the same time as the default instance, edit $TOMCAT/webapps/alternative_name/index.html:

Find the line containing the call to window.open and change the 2nd parameter from ‘PhixFlow’ to ‘alternative_name’

...