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:
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
Click Next on the welcome screen.
Leave Local Media as the selected option on the next screen, and click the Next button.
Select the available product bm-db-5.4.1-015; click the Next button.
On the next screen, click the Next button.
Finally, click the Install button.
- 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:
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
Click the Next button on the welcome screen.
Leave Local Media as the selected option, and click the Next button.
Select available product bm-5.4.1-015, and click the Next button
Select all available PBA components and plug-ins, and click the Next button.
Review the list of components to be installed, and click the Next button.
Finally, click the Install button.
The PBA Application installer will start installing packages. This may take some time.
- 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.
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
Click the Next button on the welcome screen.
Leave Local Media as the selected option on the next screen, and click the Next button.
Select the available product bm-templatestore-5.4.1-015, and click the Next button.
On the next screen, click the Next button.
Finally, click the Install button.
- Click the Finish button after all packages are installed.
1.11 Online Store post-configuration
Run the Online Store post-configuration script:
# /usr/local/bm/templatestore/tools/configure.sh
Provide the IP address of the PBA Application server.
- 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
Log in to PBA Provider Control Panel.
Go to External Systems Director > Domain Manager > Registrars.
Click the Add New Registrar button.
Enter Dummy into the Registrar Name field.
Select DUMMYREGISTRAR_ in the Plug-in field.
Click Save.
Click on just-created registrar.
Switch to the Configuration tab.
Click the Edit button.
Leave all parameters at their default values.
- 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
Go to External Systems Director > Domain Manager > Registrars.
Click on the Dummy registrar added in step 2.1.1.
Switch to the Registrar Features tab.
Click the Add New Registrar Feature button.
Enter tst in the Domain Zone field.
Set all operations to Automatical -- registration, renewal, transfer, cancellation.
Choose Supported in the Supports Check radio-button.
Check boxes for all available types of operations -- Edit Nameservers, Manage Contacts, Registrar Lock, and so on.
Set Maximum Domain Life Duration to, e.g., 10 years.
Select supported periods, e.g., 1, 2, and 3 years, for all operations -- registration, transfer, renew.
Click the Save button.
Go to External Systems Director > Domain Manager > Domain Zones.
Click the Add New Domain Zone button.
Enter tst in the Domain Zone field.
Select Dummy as Registrar and First Checker.
- Click the Save button.
2.1.3 Create domain Service Template
Go to Product Director > Plan Manager > Service Templates
Click the Add New Service Template button.
Choose Domain Management as the Service Name, and click Next.
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
Click Next.
- Click Finish on the next screen.
2.1.4 Create domain Service Plan
Create Plan Category
Go to Product Director > Plan Manager > Plan Categories.
Click the Add New Plan Category button.
Enter Default in the Category Name field.
Provide description in the corresponding field.
- Click Save.
Create Service Plan
Go to Product Director > Plan Manager > Service Plans.
Click the Add New Service Plan button.
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
Click Next.
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
Click Next.
- 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
Go to Product Director > Resource Manager > Resources.
Click the Add New Resource button.
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
- Click Save.
2.2.2 Create dummy Service Template with auto-provisioning
Go to Product Director > Plan Manager > Service Templates.
Click the Add New Service Template button.
Choose Dummy Gate as the Service Name, and click Next.
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
- Click Save.
2.2.3 Create dummy Service Plan
Go to Product Director > Plan Manager > Service Plans.
Click the Add New Service Plan button.
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
Click Next.
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
Click Next.
Click Setup Plan Rates.
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
- Click Finish.
2.3 Payment processing infrastructure
2.3.1 Configure Dummy Payment System for Visa credit card payments
Go to Configuration Director > E-Commerce Settings > Payment Systems.
Make sure that Visa is present in the list of payment systems. Add it if it is not present.
Go to Configuration Director > E-Commerce Settings > Processing Centers.
Make sure that Dummy Payment System is present in the list of processing plug-ins.
Click Dummy Payment System.
Click Edit on the tab General.
Enter 4444333322221111 into the OK Credit Card field.
Click Save.
Go to Configuration Director > E-Commerce Settings > Payment Systems Settings.
Make sure that *Visa *is present in the list of payment systems configured to be processed through the Dummy Payment System.
Go to Configuration Director > E-Commerce Settings > Payment Methods Processing.
Click the Add New Payment Methods Processing Option button.
Provide the following parameters:
Payment System - Visa
Processing Center - Dummy Payment System
Use my merchant account - checked
- Other parameters - leave at their default values
- Click Save.
2.3.2 Add Check/Cash payment option
Go to Configuration Director > E-Commerce Settings > Payment Systems.
Make sure that Check/Cash is present in the list of payment systems. Add it if it is not present.
Go to Configuration Director > E-Commerce Settings > Payment Methods Processing.
Click the Add New Payment Methods Processing Option button.
Provide the following parameters:
Payment System - Check/Cash
Use my merchant account - checked
- Other parameters - leave at their default values
- Click Save.
2.3.4 Generate and load encryption key(s)
Go to Configuration Director > E-Commerce Settings > Encryption Keys.
Click the Generate New Key button in the section Encryption Key 1.
Select admin in the User field.
Enter password twice.
Click Generate.
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).
Click Ok.
Click the Load Private Key button.
Enter private key content into the field Private Key (or load it from disk by clicking the button Load from Local Disk).
- 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
Log in to PBA Provider Control Panel.
Go to Product Director > Online Store > Synchronization Settings.
Click Edit.
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).
Select HTTPS protocol, and enter 443 into the Port field.
Click Save to confirm changes.
- Click Synchronize.
2.4.2 Create Sales Categories
Go to Product Director > Plan Manager > Sales Categories.
Click the Add New Sales Category button.
Enter parameters:
Category Name - Dummy Plans
Provide short and long descriptions
Expand By Default - checked
- Show in Customer Control Panel - checked
Click Save.
Click on just-created sales category Dummy Plans.
Switch to the Service Plans tab.
Click the Add New Plan button.
Select Dummy Plan plan.
Click the Add Plan(s) to category button.
Go to Product Director > Plan Manager > Sales Categories.
Click the Add New Sales Category button.
Enter parameters:
Category Name - Domain Plans
Provide short and long descriptions
Expand By Default - checked
- Show in Customer Control Panel - checked
Click Save.
Click on just-created sales category Domain Plans.
Switch to the Service Plans tab.
Click the Add New Plan button.
Select .tst domains plan.
- Click the Add Plan(s) to category button.
2.4.3 Publish Service Plans in the Online Store
Publish hosting plan:
Go to Product Director > Online Store Manager > Screens.
Click the HOSTINGSCREEN_ screen.
Switch to the Parameters tab.
Click the CATEGORYLIST_ID_ parameter.
Click the Add Category button.
Select Dummy Plans category.
- Click Add.
Publish domain plan:
Go to Product Director > Online Store Manager > Screens.
Click the DOMAINSEXTENSIONSCREEN_ screen.
Switch to the Parameters tab.
Click the CATEGORYLIST_ID_ parameter.
Click the Add Category button.
Select Domain Plans category.
- Click Add.
Synchronize Online Store:
Go to Product Director > Online Store Manager > Synchronization Settings.
- 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:
Log in to the new PBA server by SSH as root
Create the folder /usr/local/bm/customization:
# mkdir /usr/local/bm/customization
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
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:
Log in to PBA Control Panel on the old installation.
Go to Product Director > Online Store Manager > Stores.
Click on the needed Online Store.
Click the Export Store button.
Save the file with the exported store content on the local workstation.
Log in to PBA Control Panel on the new installation.
Go to Product Director > Online Store Manager > Stores.
Click the Import Store button.
Go through the wizard.
Mark the imported Store as Selected for Editing.
Synchronize Online Store on the new PBA installation:
Go to Product Director > Online Store Manager > Synchronization Settings.
- Click the Synchronize button.
- 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.