Introduction

This article describes how to quickly create a clean Parallels Business Automation (PBA) 5.4 for Linux environment that can be used for testing customizations that were developed in PBA 5.0/5.1 to see if they are compatible with the latest version of the product. Please note that this installation only uses a simple set of services and is not intended to replace full QA testing of a production environment. It is designed to provide a basic environment that can be used to test customization compatibility before upgrading PBA from 5.1 to 5.4. For more information on upgrading to 5.4, please contact your Parallels account representative.

The article does not cover a Parallels Operations Automation (POA) installation or integration between PBA and POA in any way; only a standalone PBA installation is covered.

1. Deploy brand new PBA 5.4 for Linux

The goal is to have all three parts of PBA deployed as Parallels Virtuozzo Containers (PVC) containers:

  • container #1 - PBA Database and Application servers
  • container #2 - PBA Online Store

1.1 Create containers

Prepare the server and install PVC for Linux on it. See instructions in the PVC for Linux Installation Guide. The server must have 8 GB of RAM or more disk space -- at least 100 GB, which is enough for testing purposes.

Install and create a cache for the CentOS 6 x64 OS template - centos-6-x86_64.

Install application template mod_ssl for CentOS 6 x64.

Refer to the PVC for Linux User's Guide for details about template installation and caching.

Log in to the PVC server by SSH as root and create two containers based on the OS template CentOS 6 x64:

# vzctl create 10 --ostemplate centos-6-x86_64 --config slm.2048MB
# vzctl create 11 --ostemplate centos-6-x86_64 --config slm.2048MB

Container #10 will be used for the PBA Database and Application servers. Container #11 is for the PBA Online Store.

Set required parameters and limits for the containers:

# vzctl set 10 --save --hostname pba54.provider.com --ipadd IP_ADDRESS --nameserver 8.8.8.8
# vzctl set 10 --save --diskspace 100G --diskinodes 500000 --userpasswd root:ROOT_PASSWORD
# vzctl set 11 --save --hostname store.provider.com --ipadd IP_ADDRESS --nameserver 8.8.8.8
# vzctl set 11 --save --diskspace 100G --diskinodes 500000 --userpasswd root:ROOT_PASSWORD

Replace IP_ADDRESS and ROOT_PASSWORD in the commands above with correct values for the container IP address and root password, respectively.

Start the containers:

# vzctl start 10
# vzctl start 11

Install the application template mod_ssl in both containers:

# vzpkg install 10 mod_ssl
# vzpkg install 11 mod_ssl

Install PHP packages in container #11 (Online Store):

# vzpkg install 11 -p php
# vzpkg install 11 -p php-pdo

1.2 Download PBA Database and Application server distribs

Log in to container #10 by SSH as root with the password used during container configuration in step 1.1.

Download PBA 5.4 Update 1 Database and Application server distribs:

PBA Application installer:

# wget http://download.pa.parallels.com/pba/5.4/5.4.1-update1/el6/pba-installer-5.4.1-015.el6.x86_64.sh

PBA Database installer:

# wget http://download.pa.parallels.com/pba/5.4/5.4.1-update1/el6/pba-db-installer-5.4.1-015.el6.x86_64.sh

1.3 Install PBA Database server

Being logged in to container #10 by SSH as root, run the PBA Database installer:

  1. Go to the folder where the PBA Database installer is located, and run this command:

    # LANG=UTF8 sh ./pba-db-installer-5.4.1-015.el6.x86_64.sh
    
  2. Click Next on the welcome screen.

  3. Leave Local Media as the selected option on the next screen, and click the Next button.

  4. Select the available product bm-db-5.4.1-015; click the Next button.

  5. On the next screen, click the Next button.

  6. Finally, click the Install button.

  7. Click the Finish button after all of the packages are installed.

1.4 PBA Database server post-configuration

Run the PBA Database server post-configuration script:

# /usr/local/bm/tools-db/configure_db.pl

Accept the default values.

Remember the auto-generated database password or provide your own; it will be required during installation of the PBA Application server.

Note: Settings can be edited later in the /usr/local/bm/etc/ssm.conf.d/global.conf file.

1.5 Install PBA Application server

Being logged in to container #10 by SSH as root, run the PBA Application installer:

  1. Go to the folder where the PBA Application installer is located, and run this command:

    # LANG=UTF8 sh ./pba-installer-5.4.1-015.el6.x86_64.sh
    
  2. Click the Next button on the welcome screen.

  3. Leave Local Media as the selected option, and click the Next button.

  4. Select available product bm-5.4.1-015, and click the Next button

  5. Select all available PBA components and plug-ins, and click the Next button.

  6. Review the list of components to be installed, and click the Next button.

  7. Finally, click the Install button.

  8. The PBA Application installer will start installing packages. This may take some time.

  9. Click the Finish button after all packages are installed.

1.6 PBA Application server post-configuration

Run the script to initialize the PBA database:

# /usr/local/bm/tools/configure.pl

When the script prompts you to, accept the default settings or re-specify the database settings -- in particular, the database password used in step 1.4.

1.7 Start PBA

Run the following command on the PBA Application Server as root:

# /etc/init.d/pba start

1.8 Install PBA license

Request a temporary PA license from your Account Manager in Parallels.

Open the URL of PBA Control Panel in a web browser: https://PBA_Application_Server_Hostname

where PBA_Application_Server_Hostname is to be replaced with the actual hostname of the PBA Application server which you assigned to container #10 in step 1.1 -- add the IP address and hostname into "etc/hosts" on the local workstation, if needed).

Log in to PBA Provider Control Panel using the default credentials:

login: admin
password: setup

Change the admin user password after the first login: System Information > Personal Info > Change Password.

Go through the Provider setup wizard -- select currency and click the Next button.

Upload PBA license: System Information > Product License > Upload License.

Restart PBA service:

# service pba restart

Re-log in to PBA Provider Control Panel.

1.9 Download PBA Online Store installer

Log in to container #11 created in step 1.1 by SSH as root.

Download PBA Online Store installer:

# wget http://download.pa.parallels.com/pba/5.4/5.4.1-update1/el6/pba-templatestore-installer-5.4.1-015.el6.x86_64.sh

1.10 Install PBA Online Store

Being logged in to container #11 by SSH as root, run the PBA Online Store installer.

  1. Go to the folder where the Online Store installer is located, and run this command:

    # LANG=UTF8 sh ./pba-templatestore-installer-5.4.1-015.el6.x86_64.sh
    
  2. Click the Next button on the welcome screen.

  3. Leave Local Media as the selected option on the next screen, and click the Next button.

  4. Select the available product bm-templatestore-5.4.1-015, and click the Next button.

  5. On the next screen, click the Next button.

  6. Finally, click the Install button.

  7. Click the Finish button after all packages are installed.

1.11 Online Store post-configuration

  1. Run the Online Store post-configuration script:

    # /usr/local/bm/templatestore/tools/configure.sh
    
  2. Provide the IP address of the PBA Application server.

  3. Leave the default value for the PBA xmlrpcd port number as 5224.

2. Prepare minimal set of PBA services

2.1 Domain management infrastructure

2.1.1 Add domain registration plug-in

  1. Log in to PBA Provider Control Panel.

  2. Go to External Systems Director > Domain Manager > Registrars.

  3. Click the Add New Registrar button.

  4. Enter Dummy into the Registrar Name field.

  5. Select DUMMYREGISTRAR_ in the Plug-in field.

  6. Click Save.

  7. Click on just-created registrar.

  8. Switch to the Configuration tab.

  9. Click the Edit button.

  10. Leave all parameters at their default values.

  11. Click Update.

Verify that all operations are set to Operation completed successfully.

Verify that Registration Check Result and Transfer Check Result are set to Domain available for checked operation.

2.1.2 Add test Top-Level Domain (TLD) Zone .tst

  1. Go to External Systems Director > Domain Manager > Registrars.

  2. Click on the Dummy registrar added in step 2.1.1.

  3. Switch to the Registrar Features tab.

  4. Click the Add New Registrar Feature button.

  5. Enter tst in the Domain Zone field.

  6. Set all operations to Automatical -- registration, renewal, transfer, cancellation.

  7. Choose Supported in the Supports Check radio-button.

  8. Check boxes for all available types of operations -- Edit Nameservers, Manage Contacts, Registrar Lock, and so on.

  9. Set Maximum Domain Life Duration to, e.g., 10 years.

  10. Select supported periods, e.g., 1, 2, and 3 years, for all operations -- registration, transfer, renew.

  11. Click the Save button.

  12. Go to External Systems Director > Domain Manager > Domain Zones.

  13. Click the Add New Domain Zone button.

  14. Enter tst in the Domain Zone field.

  15. Select Dummy as Registrar and First Checker.

  16. Click the Save button.

2.1.3 Create domain Service Template

  1. Go to Product Director > Plan Manager > Service Templates

  2. Click the Add New Service Template button.

  3. Choose Domain Management as the Service Name, and click Next.

  4. Enter the following properties:

    • Name - .tst domains

    • Version - 1

    • Active - checked

    • Destroy Service on Cancel - checked

    • Domain Zone - tst

    • Selected by Default - checked

    • Name Servers for Domain Transfer - Move to Provider's

    • Name Servers Source Type - Use name servers defined explicitly

    • Primary Name Server - 127.0.0.1

    • Secondary Name Server - 127.0.0.1
  5. Click Next.

  6. Click Finish on the next screen.

2.1.4 Create domain Service Plan

Create Plan Category

  1. Go to Product Director > Plan Manager > Plan Categories.

  2. Click the Add New Plan Category button.

  3. Enter Default in the Category Name field.

  4. Provide description in the corresponding field.

  5. Click Save.

Create Service Plan

  1. Go to Product Director > Plan Manager > Service Plans.

  2. Click the Add New Service Plan button.

  3. Enter the following properties:

    • Name - .tst domains

    • Service Template - .tst domains

    • Plan Category - Default

    • Service Terms - Default

    • Provide Short Description and Long Description

    • Published - checked

    • Customer Class - Default

    • Billing Period Type - Fixed Number of Years

    • Billing Period - 1

    • Charge for Subscription - Before Subscription Period

    • Auto Renew - Auto Renew before Expiration

    • Renew Point (days) - 15
  4. Click Next.

  5. Check boxes for desired domain subscription periods and provide desired prices and other parameters for chosen periods:

    • Setup Fee

    • Recurring Fee

    • Renewal Fee

    • Transfer Fee

    • Non-refundable Amount

    • Full Refund Period

    • Trial
  6. Click Next.

  7. Click Finish on the next screen to finish creating the domain Service Plan.

2.2 Hosting service infrastructure based on Dummy Gate

2.2.1 Add dummy resource

  1. Go to Product Director > Resource Manager > Resources.

  2. Click the Add New Resource button.

  3. Enter the dummy resource properties:

    • Name - Dummy Resource

    • Provide Description

    • Unit of Measure - Item

    • Service Gate - leave empty

    • Max = -1 (Unlimited)

    • Min = 0

    • Controlled By - External System

    • Type - Resource
  4. Click Save.

2.2.2 Create dummy Service Template with auto-provisioning

  1. Go to Product Director > Plan Manager > Service Templates.

  2. Click the Add New Service Template button.

  3. Choose Dummy Gate as the Service Name, and click Next.

  4. Enter the following properties:

    • Name - Dummy ST

    • Version - 1

    • Active - checked

    • Destroy Service on Cancel - checked

    • Set all operations in the Event Handlers section to Automatical
  5. Click Save.

2.2.3 Create dummy Service Plan

  1. Go to Product Director > Plan Manager > Service Plans.

  2. Click the Add New Service Plan button.

  3. Enter the following properties:

    • Name - Dummy Plan

    • Service Template - Dummy ST

    • Plan Category - Default

    • Service Terms - Default

    • Provide Short and Long Description

    • Published - checked

    • Customer Class - Default

    • Billing Period Type - Fixed Number of Months

    • Billing Period - 1

    • Charge for Subscription - Before Subscription Period

    • Auto Renew - Auto Renew before Expiration

    • Renew Point (days) - 7
  4. Click Next.

  5. Check boxes for desired domain subscription periods and provide desired prices and other parameters for them:

    • Setup Fee

    • Recurring Fes

    • Renewal Fee

    • Transfer Fee

    • Non-refundable Amount

    • Full Refund Period

    • Trial
  6. Click Next.

  7. Click Setup Plan Rates.

  8. Check box for the resource Dummy Resource and provide desired values for all parameters for the resource rate:

    • Included, minimum, and maximum amounts

    • Setup, recurring, and overuse fees

    • Show in Store - checked

    • Show in CP - checked
  9. Click Finish.

2.3 Payment processing infrastructure

2.3.1 Configure Dummy Payment System for Visa credit card payments

  1. Go to Configuration Director > E-Commerce Settings > Payment Systems.

  2. Make sure that Visa is present in the list of payment systems. Add it if it is not present.

  3. Go to Configuration Director > E-Commerce Settings > Processing Centers.

  4. Make sure that Dummy Payment System is present in the list of processing plug-ins.

  5. Click Dummy Payment System.

  6. Click Edit on the tab General.

  7. Enter 4444333322221111 into the OK Credit Card field.

  8. Click Save.

  9. Go to Configuration Director > E-Commerce Settings > Payment Systems Settings.

  10. Make sure that *Visa *is present in the list of payment systems configured to be processed through the Dummy Payment System.

  11. Go to Configuration Director > E-Commerce Settings > Payment Methods Processing.

  12. Click the Add New Payment Methods Processing Option button.

  13. Provide the following parameters:

    • Payment System - Visa

    • Processing Center - Dummy Payment System

    • Use my merchant account - checked

    • Other parameters - leave at their default values
  14. Click Save.

2.3.2 Add Check/Cash payment option

  1. Go to Configuration Director > E-Commerce Settings > Payment Systems.

  2. Make sure that Check/Cash is present in the list of payment systems. Add it if it is not present.

  3. Go to Configuration Director > E-Commerce Settings > Payment Methods Processing.

  4. Click the Add New Payment Methods Processing Option button.

  5. Provide the following parameters:

    • Payment System - Check/Cash

    • Use my merchant account - checked

    • Other parameters - leave at their default values
  6. Click Save.

2.3.4 Generate and load encryption key(s)

  1. Go to Configuration Director > E-Commerce Settings > Encryption Keys.

  2. Click the Generate New Key button in the section Encryption Key 1.

  3. Select admin in the User field.

  4. Enter password twice.

  5. Click Generate.

  6. Store private key shown on the next screen in safe place (e.g., use Save to Local Disk or copy the key and paste it somewhere).

  7. Click Ok.

  8. Click the Load Private Key button.

  9. Enter private key content into the field Private Key (or load it from disk by clicking the button Load from Local Disk).

  10. Enter key password into the Password field.

Optionally, repeat the steps above for the second pair of public/private keys.

2.4 Create and configure PBA Online Store

2.4.1 Create PBA Online Store

  1. Log in to PBA Provider Control Panel.

  2. Go to Product Director > Online Store > Synchronization Settings.

  3. Click Edit.

  4. Type the Online Store IP address (or hostname) into the Provider's Store Host field (enter the IP address you assigned to container #11 in step 1.1).

  5. Select HTTPS protocol, and enter 443 into the Port field.

  6. Click Save to confirm changes.

  7. Click Synchronize.

2.4.2 Create Sales Categories

  1. Go to Product Director > Plan Manager > Sales Categories.

  2. Click the Add New Sales Category button.

  3. Enter parameters:

    • Category Name - Dummy Plans

    • Provide short and long descriptions

    • Expand By Default - checked

    • Show in Customer Control Panel - checked
  4. Click Save.

  5. Click on just-created sales category Dummy Plans.

  6. Switch to the Service Plans tab.

  7. Click the Add New Plan button.

  8. Select Dummy Plan plan.

  9. Click the Add Plan(s) to category button.

  10. Go to Product Director > Plan Manager > Sales Categories.

  11. Click the Add New Sales Category button.

  12. Enter parameters:

    • Category Name - Domain Plans

    • Provide short and long descriptions

    • Expand By Default - checked

    • Show in Customer Control Panel - checked
  13. Click Save.

  14. Click on just-created sales category Domain Plans.

  15. Switch to the Service Plans tab.

  16. Click the Add New Plan button.

  17. Select .tst domains plan.

  18. Click the Add Plan(s) to category button.

2.4.3 Publish Service Plans in the Online Store

Publish hosting plan:

  1. Go to Product Director > Online Store Manager > Screens.

  2. Click the HOSTINGSCREEN_ screen.

  3. Switch to the Parameters tab.

  4. Click the CATEGORYLIST_ID_ parameter.

  5. Click the Add Category button.

  6. Select Dummy Plans category.

  7. Click Add.

Publish domain plan:

  1. Go to Product Director > Online Store Manager > Screens.

  2. Click the DOMAINSEXTENSIONSCREEN_ screen.

  3. Switch to the Parameters tab.

  4. Click the CATEGORYLIST_ID_ parameter.

  5. Click the Add Category button.

  6. Select Domain Plans category.

  7. Click Add.

Synchronize Online Store:

  1. Go to Product Director > Online Store Manager > Synchronization Settings.

  2. Click the Synchronize button.

3. Create customer and subscription

Open PBA Online Store in a web browser: https://ONLINE_STORE_HOSTNAME

(where ONLINE_STORE_HOSTNAME is the hostname assigned to container #11 in step 1.1).

Place order for the Dummy Plan service plan and register (or transfer) the test domain, create the customer, and pay for the order using test credit card number 4444333322221111.

Log in to PBA Provider Control Panel and check if the customer account was created in Operation Director > Account Manager > Customers.

Make sure that the customer's order was processed completely at Operation Director > Sales Manager > Customers Orders and that two subscriptions (both the dummy subscription and the domain subscription) were created in Operation Director > Support Manager > Subscriptions.

Alternatively, the customer and order may be created in PBA Provider Control Panel at Operation Director > Account Manager > Customers and Operation Director > Sales Manager > Customers Orders, respectively.

4. Upload PBA customization

Upload customization from the existing PBA 5.1 installation to the newly deployed PBA 5.4 server:

  1. Log in to the new PBA server by SSH as root

  2. Create the folder /usr/local/bm/customization:

    # mkdir /usr/local/bm/customization
    
  3. Prepare PBA containers (like BM) for customization -- create symlink in the ~bm/conf/wnd/<container_name>/customization directory that points to the /usr/local/bm/customization directory (replace container_name in the command below with the name of the container, e.g., BM):

    # cd /usr/local/bm/conf/wnd/<container_name>/customization
    # ln -s /usr/local/bm/customization customization
    
  4. Copy/paste files from the following folders on the old PBA server to the folder /usr/local/bm/customization on the new installation (use the Linux utility scp to copy files between servers):

    /usr/local/bm/customization
    /usr/local/bm/conf/wnd/<container_name>/customization/customization
    

Note: Copy customization files for all PBA containers, e.g., BM, KAGATE, RESELLERGATE, and so on. In most cases, customized files may be found in the folder /usr/local/bm/conf/wnd/BM/customization/customization.

Restart the www PBA container on the new installation after customization is copied to it:

# service pba restart www

5. Check customization in PBA provider, reseller, and customer CP

Log in to all types of PBA Control Panels (provider, reseller, and customer) on the new PBA installation, and check whether customization works correctly in the new PBA version.

6. Check Online Store customization

Apply Online Store customization from the old PBA installation (if any) to the new PBA installation.

Copy customized layout templates and CSS files from the old PBA installation to the new one. You may find them in PBA Provider Control Panel on the old server:

  • Product Director > Online Store Manager > Layout Templates

  • Product Director > Online Store Manager > Custom CSS

Another way to apply Online Store customization is to export Online Store on the old PBA installation and to import it to the new server:

  1. Log in to PBA Control Panel on the old installation.

  2. Go to Product Director > Online Store Manager > Stores.

  3. Click on the needed Online Store.

  4. Click the Export Store button.

  5. Save the file with the exported store content on the local workstation.

  6. Log in to PBA Control Panel on the new installation.

  7. Go to Product Director > Online Store Manager > Stores.

  8. Click the Import Store button.

  9. Go through the wizard.

  10. Mark the imported Store as Selected for Editing.

  11. Synchronize Online Store on the new PBA installation:

    • Go to Product Director > Online Store Manager > Synchronization Settings.

    • Click the Synchronize button.
  12. Re-publish service plans in the Online Store if you imported the Store, following the procedure described in step 2.4.3.

Open the new Online Store and check if the customization works correctly.

Internal content