Introduction
The schema installation has 4 main steps, regardless of platform:
- Create the database user
- Create the tables required
- Populate them with initial configuration data
- Set the customer name
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.
...
PhixFlow manages most of the process for schema installation and upgrade. A DBA, however, is required to configure the initial database user/schema that PhixFlow will use. PhixFlow manages its own tables and therefore requires being connected with a user with sufficient permissions to create and drop tables and indexes.
Create the database user
If you are Database Administrator (DBA) and no database / login have previously been set up, you should use the following commands to create a new 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 basic installations.
...
It 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
...
Platform | Create the database user | ||
Oracle: | This command will prompt for the name of the user to be created.
|
|
| |
Sql Server: |
Before creating the database, ensure that default collation is
If it is not, please talk to the database administrator to get this updated to the required collation (see also Install MS SQL Server). This command creates a local (SQL Server) login, a user with required user mappings, sets the password for the login and creates the database.
|
|
Run the following command to confirm the collation setting is correct.
| |||||||||||||
MySQL: |
If you followed the suggested PhixFlow installation notes for installing MySQL, you will be using unix_socket authentication (see Install MySQL), and the command to log into the database as root is simply:
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.
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 if you don't specify a valid customer name you will not be able to install the licence key and 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 -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:
...
Code Block |
---|
java -jar bin/installer.jar -help |
Install the Webapp in the Tomcat application server
Copy or Move the PhixFlow web application into Tomcat
To install the PhixFlow web application into Tomcat:
Copy $RELEASE/webapps/phixflow to $TOMCAT/webapps/phixflow
Configure phixflow-datasource.xml
The PhixFlow webapp must be configured to give access to the database user that has been created to hold the PhixFlow data.
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 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 |
---|
jdbc:mysql://hostname/phixflow |
Configure phixflow-instance.xml
The PhixFlow webapp instance must be configured to identify the instance and set whether the instance is active on startup.
For a single instance, non-resilient configuration, simply copy the example file phixflow-instance.xml.example to phixflow-instance.xml.
Resilient Configuration
A resilient PhixFlow configuration consists of 2 or more web applications all connected to a common database and configured such that at any one time, only one is active; the other instances will monitor the first and one will take over if they detect that the first has failed.
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.
...
Configure phixflow-domains.xml
The PhixFlow webapp can be configured to authenticate users’ usernames and passwords against an external Domain / Active Directory server.
If you don’t want want to enable domain logins, simply copy the example file provided.
For more information on how to configure for domain logins, see the PhixFlow Active Directory Guide.
Configure log4j.properties
The log4j.properties file controls detailed event/error logging on the server.
To configure for default logging:
|