PCR-360
Installation
Create application directories under /var/www/
BASHcd /var/www mkdir pcr360 cd pcr360/ mkdir configs prod licenses prod/logs data data/inbound data/outbound data/inbound-test data/outbound-test
Place the product license file pcr360.zl included in the installation package into the licenses directory. (This must be Apache readable)
Extract the application tarball pcr360.tar.gz included in the installation package to /var/www/pcr360/prod (the prod directory is in the tarball).
Create directories under /var/www/pcr360/prod/data
BASHcd /var/www/pcr360/prod/data mkdir archive archive/importfiles cache cache/page emails errors inbound reports reports/historical search uploads uploads/importfiles uploads/vh
Check to ensure that the new /var/www/pcr360/prod/data directory is writable and owned by Apache.
#########
# Cent OS
chown -R apache:apache *
#########
# Ubuntu
find /var/www/pcr360/prod/data -type d -exec chmod 775 {} +
find /var/www/pcr360/test/data -type d -exec chmod 775 {} +
chown -R www-data:linuxadmins-hosted /var/www/pcr360/prod/data
chown -R www-data:linuxadmins-hosted /var/www/pcr360/test/data
chown -R www-data:linuxadmins-hosted /var/www/pcr360/prod/logs
chown -R www-data:linuxadmins-hosted /var/www/pcr360/test/logs
# set file owners
chown -R www-data:linuxadmins-hosted /var/www/pcr360/data
# set file permissions
find /var/www/pcr360 -type d -exec chmod 775 {} +
find /var/www/pcr360 -type f -exec chmod 664 {} +
# Grant the customer user read/write access o the data directory
# note you mus FILL IN the customer user
setfacl -R -m u:<CUSTOMER_USER>:rwx /var/www/pcr360/data
setfacl -R -dm u:<CUSTOMER_USER>:rwx /var/www/pcr360/data
# Grand the all PCR Admins read/write/execute on the entire pcr360 directory
setfacl -R -m g:linuxadmins-hosted:rwx /var/www/pcr360
setfacl -R -dm g:linuxadmins-hosted:rwx /var/www/pcr360
Composer
Install Composer. Instructions can be found here. It is recommended that Composer be installed globally.
Install the Composer provided libraries:
BASHcd /var/www/pcr360/prod composer install cd /var/www/pcr360/test composer install
Configuration
PCR-360 configurations are stored in a ini file in the /var/www/pcr360/configs/ directory created above.
This configuration file matches the file name specified in the Apache Virtual Host .
A starter file is included in the installation package with a place-holder license key. Please request a license key from PCR to replace the place-holder license in the configuration file.
The database settings here are specified when setting up and configuring Oracle or MySQL
Other various configurations are available and can be specified in this file. Consult PCR before setting any extra options from the Configuration Guide .
JAVA[default] [manatee : default] [team360 : default] [team360ora : default] [team360mssql : default] [servicedesk : default] [training : default] [prod : default] ; the license key is available from PCR licenseKey = "abcdefghijklmnopqrstuvwyxz..." constants.SERV_HOST_NAME_CRON = "pcr360.pcr.com" constants.ERROR_REPORT_EMAIL = "help@pcr.com" constants.IMPORT_FILES_PATH = "/var/www/pcr360/prod/data/inbound/" constants.EXPORT_PATH = "/www/www/pcr360/prod/data/outbound/" constants.RUNTIME_DEBUG_ALLOWED = true ; This section is for MySQL Databases resources.multidb.default.host = localhost resources.multidb.default.dbname = pcr360_prod resources.multidb.default.username = pcr360_usr resources.multidb.default.password = "encrypted_password" resources.multidb.metadata.host = localhost resources.multidb.metadata.dbname = pcr360_prod_metadata resources.multidb.metadata.username = pcr360_usr resources.multidb.metadata.password = "encrypted_password" resources.multidb.report.host = localhost resources.multidb.report.dbname = pcr360_prod resources.multidb.report.username = pcr360_usr resources.multidb.report.password = "encrypted_password" ;For mysql ssl with php7, use this ;resources.multidb.default.driver_options.1009 = "/path.to.pem" ;resources.multidb.report.driver_options.1009 = "/path.to.pem" ;resources.multidb.metadata.driver_options.1009 = "/path.to.pem" ; Alternatively this section is for Oracle Databases ;resources.multidb.default.adapter = Oracle ;resources.multidb.default.host = localhost ;resources.multidb.default.username = pcr360_prod ;resources.multidb.default.password = "encrypted_password" ;resources.multidb.default.schema = PCR360_PROD ;resources.multidb.default.dbname = "//localhost:1521/pcr360" ;resources.multidb.report.adapter = Oracle ;resources.multidb.report.host = localhost ;resources.multidb.report.username = pcr360_prod ;resources.multidb.report.password = "encrypted_password" ;resources.multidb.report.schema = PCR360_PROD ;resources.multidb.report.dbname = "//localhost:1521/pcr360" ;resources.multidb.metadata.adapter = Oracle ;resources.multidb.metadata.host = localhost ;resources.multidb.metadata.username = pcr360_prod_metadata ;resources.multidb.metadata.password = "encrypted_password" ;resources.multidb.metadata.schema = PCR360_PROD_METADATA ;resources.multidb.metadata.dbname = "//localhost:1521/pcr360" ; CRYSTAL REPORTS ; MySQL crystal.jdbc.type = mysql crystal.jdbc.host = localhost crystal.jdbc.username = pcr360_usr crystal.jdbc.password = password crystal.jdbc.dbname = pcr360_prod crystal.jdbc.port = 3306 ; ORACLE ;crystal.jdbc.type = oracle ;crystal.jdbc.host = localhost ;crystal.jdbc.username = usename ;crystal.jdbc.password = password ;crystal.jdbc.schema = SCHEMA ;crystal.jdbc.port = 1521 ;crystal.jdbc.dsn = DSN [test : prod] resources.multidb.default.dbname = pcr360_test resources.multidb.metadata.dbname = pcr360_test_metadata constants.SERV_HOST_NAME_CRON = "pcr360-test.pcr.com" constants.IMPORT_FILES_PATH = "/var/www/pcr360/prod/data/inbound-test/" constants.EXPORT_PATH = "/var/www/pcr360/prod/data/outbound-test/" email.OUTGOING_TRANSPORT_TYPE = "FILE"
Crontab Entries
Installing the default crontab entries that run background events is relatively simple.
The jobs need to be running as the root to prevent issues with file permissions.
su to root
Now, open the cron job edit prompt with the following command:
BASHcrontab -e
Then, copy and paste the appropriate line from below into the the cron job.
Test Application Cron Jobs
# min | hr | day | month | day-of-week | <command>
* /usr/bin/php /var/www/pcr360/test/cli/zfcli.php -a cron.events.process -e test -n 19 -i "/var/www/pcr360/configs/pcr360.ini" 1>> /var/www/pcr360/test/logs/cron.log 2>&1
Production Application Cron Jobs
# min | hr | day | month | day-of-week | <command>
* /usr/bin/php /var/www/pcr360/prod/cli/zfcli.php -a cron.events.process -e prod -n 19 -i "/var/www/pcr360/configs/pcr360.ini" 1>> /var/www/pcr360/prod/logs/cron.log 2>&1
Once pasted, save and close the cron job. In vim, this command is
BASH:wq
Verify the cron job is saved by using this command:
BASHcrontab -l
Finally, press
BASHcntrl + d
to exit the root user.