Document toolboxDocument toolbox

PCR-360

Installation

  • Create application directories under /var/www/

    cd /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

    cd /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:

    cd /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 .

    [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

  1. Installing the default crontab entries that run background events is relatively simple.
  2. The jobs need to be running as the root to prevent issues with file permissions.
  3. su to root
  4. Now, open the cron job edit prompt with the following command:

    crontab -e
  5. 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
  1. Once pasted, save and close the cron job. In vim, this command is

    :wq
  2. Verify the cron job is saved by using this command:

    crontab -l
  3. Finally, press

    cntrl + d

    to exit the root user.


Help Desk Portal - Email: help@pcr.com - Phone: 616.259.9242