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] [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" [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 + dto exit the root user.