...
Change the owner and group of the release package to tomcat:cview:phixflow:
Code Block | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
su -l tomcat |
Change back to the release directory and unzip / unpack the release:
Code Block | ||
---|---|---|
| ||
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 | ||||
---|---|---|---|---|
|
The schema installation has 4 main steps, regardless of platform:
...
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.
| ||
Sql Server: | This command requires the user, the password, the login and the database to be provided as parameters.
|
|
|
| |||||
MySQL: | Start a session the database:
Create the user, supplying the name of the database, the user and the password in the commands below:
|
|
|
Populate the Database
Once you have created the database and/or database user, run the Installer to create the database tables and initial data.
...
Code Block |
---|
java -jar bin/installer.jar -url="jdbc:oracle:thin:@localhost:1521:cviewphixflow" -user=myuser -pass=mypass -install -customer="Your Customer Name" |
...
Code Block |
---|
java -jar bin/installer.jar -url="jdbc:sqlserver://myhost\myserver;database=cviewphixflow" -user=myuser -pass=mypass -install -customer="Your Customer Name" |
...
Code Block |
---|
java -jar bin/installer.jar -url="jdbc:mysql://localhost/cviewphixflow" -user=myuser -pass=mypass -install -customer="Your Customer Name" |
...
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 | ||
---|---|---|
| ||
<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 also Database URLs for 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 | ||||||
---|---|---|---|---|---|---|
| ||||||
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: 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 Configuring for Resilience for more information.
Anchor | ||||
---|---|---|---|---|
|
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 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’
...