Parallels
Parallels Operations Automation 5.0
Linux Shared Hosting Deployment Guide
Revision 7.26 (June 12, 2010)
© 1999-2010
2
ISBN: N/A Parallels 500 SW 39th Street Suite 200 Renton, WA 98057 USA Phone: +1 (425) 282 6400 Fax: +1 (425) 282 6444 © Copyright 2010, Parallels, Inc. All rights reserved Distribution of this work or derivative of this work in any form is prohibited unless prior written permission is obtained from the copyright holder. { Patented technology protected by U.S.Patents 7,328,225; 7,325,017; 7,293,033; 7,099,948; 7,076,633. Patents pending in the U.S.} Product and service names mentioned herein are the trademarks of their respective owners. Parallels Operations Automation is a registered trademark of Parallels.
3
Contents
Preface 6
Documentation Conventions...................................................................................................... 6 Typographical Conventions ............................................................................................. 6 General Conventions ....................................................................................................... 8
Feedback .................................................................................................................................. 8
Deploying Apache Web Hosting 9
Installing Apache Web Server ................................................................................................... 9 System Requirements for Apache Web Servers .............................................................. 9 Installation Requirements for Apache 2.2....................................................................... 11 Installation Requirements for Apache 2.0....................................................................... 14 Installing FrontPage on Host ......................................................................................... 17 Installing ionCube Loader and SQLite2 PHP Extensions ................................................ 17 Configuring IP Pool for WebSites With SSL Support ...................................................... 20
Installing Web File Manager .................................................................................................... 21 System Requirements for Web File Manager Server ...................................................... 23 Installation Requirements for Apache 2.2....................................................................... 25 Installation Requirements for Apache 2.0....................................................................... 28
Upgrading Web Server from Apache 2.0 to Apache 2.2 ........................................................... 33 Legacy File Manager to Web File Manager Transition ............................................................. 38 Installing Domain Parking Service ........................................................................................... 38
System Requirements for Domain Parking Server ......................................................... 39 Installation Requirements for Domain Parking Service ................................................... 39
Installing SSL Proxy Server ..................................................................................................... 43 System Requirements for SSL Proxy Server.................................................................. 44 Installation Requirements .............................................................................................. 45 Creating Certificate........................................................................................................ 47 Updating Certificate ....................................................................................................... 51
Installing phpMyAdmin Service ................................................................................................ 52 System Requirements for phpMyAdmin Servers ............................................................ 52 Installation Requirements .............................................................................................. 53
Installing phpPgAdmin Service ................................................................................................ 55 System Requirements for phpPgAdmin Servers ............................................................ 55 Installation Requirements .............................................................................................. 56
Installing CM4all WebsiteCreator Service ................................................................................ 58 Deploying WebsiteCreator Service ................................................................................ 58 Registering WebsiteCreator Server in POA ................................................................... 59 Providing WebsiteCreator Resource .............................................................................. 59
Installing osCommerce (Separate) .......................................................................................... 60 System Requirements for osCommerce Server ............................................................. 60 Installation Requirements .............................................................................................. 61
Installing Urchin Service .......................................................................................................... 64 System Requirements for Urchin Server ........................................................................ 64 Installation Requirements .............................................................................................. 65
Installing Backup Service ........................................................................................................ 66 System Requirements for Backup Servers ..................................................................... 66
4 Contents
Installation Requirements for Customer Backup Service ................................................ 67 Configuring Customer Backup Server ............................................................................ 68 Installation Requirements for VPS Backup Service ........................................................ 68
Adding Account Information Into Header of E-mail Sent From Web Server .............................. 69 Deploying Mail Sender ID Server ................................................................................... 69 Deploying Client Part ..................................................................................................... 72
Installing Web Statistics Processor Server ............................................................................... 73 Description .................................................................................................................... 73 Hardware Requirements for Web Statistics Processor Server ........................................ 75 Installation Requirements for Web Statistics Processor Server ...................................... 76 Installing POA Packages ............................................................................................... 80 Configuring Web Statistics Processor Server ................................................................. 81 Uninstalling Web Statistics Processor Server ................................................................. 84
Deploying Linux-based Database Hosting 85
Installing MySQL Service ........................................................................................................ 85 Installing MySQL 4 ........................................................................................................ 85 Installing MySQL 5 ........................................................................................................ 88
Upgrading MySQL4 Database Servers to MySQL5.................................................................. 91 Viewing List of All MySQL4 Service Nodes .................................................................... 91 Checking MySQL Databases on Service Node .............................................................. 92 Upgrading MySQL Database Server on Hardware Node ................................................ 93 Upgrading MySQL Database Server on VPS ................................................................. 94 Upgrading MySQL PPM Package on Service Node ....................................................... 97
Installing PostgreSQL Service ................................................................................................. 97 System Requirements for PostgreSQL Database Servers ............................................. 97 Installation Requirements .............................................................................................. 98
Deploying Parallels Plesk Sitebuilder for Linux/Unix 100
System Requirements ........................................................................................................... 100 Setting Users Privileges ........................................................................................................ 101 Installing Plesk Sitebuilder ..................................................................................................... 102 Installing POA Packages ....................................................................................................... 103 Registering Plesk Sitebuilder Servers in POA ........................................................................ 104 Preparing Apache Web Servers for Site Publishing ............................................................... 104 Activating Plesk Sitebuilder License ...................................................................................... 104 Upgrading Plesk Sitebuilder .................................................................................................. 105
Common Operations 106
Configuring Firewall .............................................................................................................. 107 Installing Service on Linux-based Host .................................................................................. 107 Installing PPM Packages ....................................................................................................... 109
Adding a Package ....................................................................................................... 110 Installing a Package on the Host ................................................................................. 113
Creating IP Pool .................................................................................................................... 117 Adding IP Pool to Host .......................................................................................................... 118 Registering Linux-based Hardware Nodes ............................................................................. 119
Prerequisites ............................................................................................................... 119 Creating 'Hardware Nodes' Resource Type ................................................................. 120 Creating 'Traffic' Resource Type .................................................................................. 120 Adding Hardware Node ............................................................................................... 121
Contents 5
Creating Attributes ................................................................................................................ 123 Registering Linux-based VPS Hardware Nodes ..................................................................... 124
Prerequisites ............................................................................................................... 124 Creating 'Traffic' Resource Type .................................................................................. 125 Creating 'VPS Hardware Nodes' Resource Type ......................................................... 126 Creating 'Shared VPSs BackNet IPs' IP Pool ............................................................... 127 Synchronizing VPS Hardware Node with World Time .................................................. 128 Registering VPS Hardware Node in POA..................................................................... 129
Adding Attribute to Host ........................................................................................................ 129 Creating VPS ........................................................................................................................ 130 Installing RPM on Host .......................................................................................................... 131 Installing Standard OS/Application Templates ....................................................................... 131
Installing Templates Using POA Control Panel ............................................................ 132 Installing Templates Without Using POA Control Panel................................................ 136
Marking Host as 'Ready To Provide' ...................................................................................... 136 Upgrading Linux/Windows VPS Hardware Node from PVC 3.x to PVC 4.x (Shared VPSs) .... 137
Index 139
In This Chapter
Documentation Conventions ............................................................................. 6 Feedback .......................................................................................................... 8
Documentation Conventions
Before you start using this guide, it is important to understand the documentation conventions used in it.
Typographical Conventions
The following kinds of formatting in the text identify special information.
Formatting convention Type of Information Example
Special Bold Items you must select, such as menu options, command buttons, or items in a list.
Navigate to the QoS tab.
Titles of modules, sections, and subsections.
Read the Basic Administration module.
Italics Used to emphasize the importance of a point, to introduce a term or to designate a command line placeholder, which is to be replaced with a real name or value.
These are the so-called shared VEs.
To destroy a VE, type vzctl
destroy VEid.
C H A P T E R 1
Preface
Preface 7
Important An important note provides information that is essential to the completion of a task. Users can disregard information in a note and still complete a task, but they should not disregard an important note.
Important: The device
drivers installed automatically during Setup are required by your system. If you remove one of these drivers, your system may
not work properly.
Note A note with the heading ―Note‖ indicates neutral or positive information that emphasizes or supplements important points of the main text. A note supplies information that may apply only in special cases—for example, memory limitations, equipment configurations, or details that apply to specific versions of a program.
Note: If Windows prompts
you for a network password at startup, your network is already set up and you can
skip this section.
Monospace The names of commands, files, and directories.
Use vzctl start to start a
VE.
Preformatted On-screen computer output in your command-line sessions; source code in XML, C++, or other programming languages.
Saved parameters for VE
101
Preformatted Bold What you type, contrasted with on-screen computer output.
# rpm –V virtuozzo-
release
CAPITALS Names of keys on the keyboard.
SHIFT, CTRL, ALT
KEY+KEY Key combinations for which the user must press and hold down one key and then press another.
CTRL+P, ALT+F4
8 Parallels Operations Automation 5.0 Parallels
General Conventions
Be aware of the following conventions used in this book.
Modules in this guide are divided into sections, which, in turn, are subdivided into subsections. For example, Documentation Conventions is a section, and General
Conventions is a subsection.
When following steps or using examples, be sure to type double-quotes ("), left single-quotes (`), and right single-quotes (') exactly as shown.
The key referred to as RETURN is labeled ENTER on some keyboards.
Commands in the directories included into the PATH variable are used without absolute path names. Steps that use commands in other, less common, directories show the absolute paths in the examples.
Feedback
If you have found a mistake in this guide, or if you have suggestions or ideas on how to improve this guide, please send your feedback using the online form at http://www.parallels.com/en/support/usersdoc/. Please include in your report the guide's title, chapter and section titles, and the fragment of text in which you have found an error.
This service provides all the functionality necessary for the customers' websites like Apache, FTP, FileManager, Web applications, etc.
In This Chapter
Installing Apache Web Server ........................................................................... 9 Installing Web File Manager .............................................................................. 21 Upgrading Web Server from Apache 2.0 to Apache 2.2 .................................... 33 Legacy File Manager to Web File Manager Transition ....................................... 38 Installing Domain Parking Service ..................................................................... 38 Installing SSL Proxy Server ............................................................................... 43 Installing phpMyAdmin Service.......................................................................... 52 Installing phpPgAdmin Service .......................................................................... 55 Installing CM4all WebsiteCreator Service .......................................................... 58 Installing osCommerce (Separate) .................................................................... 60 Installing Urchin Service .................................................................................... 64 Installing Backup Service .................................................................................. 66 Adding Account Information Into Header of E-mail Sent From Web Server ....... 69 Installing Web Statistics Processor Server ........................................................ 73
Installing Apache Web Server
System Requirements for Apache Web Servers
Apache Web servers carry the customers' websites running by Apache on Linux. Each physical server has to meet the following requirements:
Server Names LINWEB
Description Linux Web Server. These servers carry the websites running Apache on Linux.
Density 2000-4000 Apache websites with moderate visit rate depending on the disk usage and content profile.
Quantity To be calculated based on the projected customer base and the density above
C H A P T E R 2
Deploying Apache Web Hosting
10 Parallels Operations Automation 5.0 Parallels
OS RHES 4 (x86)
CentOS 4 (x86)
RHEL 5 (x64)
CentOS 5 (x64)
Software To be installed by the Customer:
OS only
Supported Virtualization
Parallels Virtuozzo Containers (PVC) 4.0 for Linux
CPU 2 core (3GHz or higher)
RAM 4GB
Disks Array 1:
OS and software - 3 x 146 GB, SCSI, RAID 5 (hardware impl.)
Disk Partitioning Array 1:
/ 4GB - for OS
2 x RAM size (8GB) - swap
/usr - remaining space - for software and customers' websites
NICs FrontNet, BackNet
Deploying Apache Web Hosting 11
Installation Requirements for Apache 2.2
To install the Apache web service based on Apache 2.2, follow the instructions at Installing Service on Linux-based Host (on page 107) and use the data from the tables below.
To deploy Apache 2.2 on a VPS running RHES 4 or CentOS 4, it is necessary to use the
OS template and the mod_ssl application template versions 20090117-1.0-1 or later.
The required templates are available for downloading at the following URLs:
RHES 4
http://download.pa.parallels.com/download/templates/pvclin/redhat-as4-template-20090117-1.0-1.i386.rpm
http://download.pa.parallels.com/download/templates/pvclin/mod_ssl-as4-template-20090117-1.0-1.i386.rpm
CentOS 4
http://download.pa.parallels.com/download/templates/pvclin/centos-4-template-20090117-1.0-1.i386.rpm
http://download.pa.parallels.com/download/templates/pvclin/mod_ssl-ce4-template-20090117-1.0-1.i386.rpm
Note: All previous versions of the OS template and the mod_ssl application template
should also be imported to POA.
System-wide Requirements
Management Node apache (SC)
UI Node(s) apache (CP)
common_filemanager (CP)
filemanager (CP)
stat_profile (CP)
proftpd (CP)
Host-wide Requirements
Physical Servers Scenario Virtual Servers Scenario
Internal IP yes RPMs none
External IP yes Service package webve (other)
12 Parallels Operations Automation 5.0 Parallels
RPMs For RHEL 5 and CentOS 5:
see the full list of RPMs in section Installation Requirements for Apache 2.0 (on page 14).
For RHES 4 and CentOS 4:
apr (version 1.2.8-1 or later)
apr-util (version 1.2.8-1 or later)
httpd (version 2.2.11-1 or later)
httpd-manual (version 2.2.11-1 or later)
mod_ssl (version 2.2.11-1 or later)
openssl (version 0.9.8b-8 or later)
openssl-perl (version 0.9.8b-8 or later)
openssl097a (version 0.9.7a-9 or later)
pcre (version 6.6-1 or later)
Note: If the required versions of the packages above are unavailable, contact your Parallels representative for instructions on obtaining newer versions of these packages.
mod_cband-httpd22x
mod_init_crypto-httpd22x
mod_limitipconn-httpd22x
mod_mono-httpd22x
php4-httpd22x
php4-httpd22x-curl
php4-httpd22x-domxml
php4-httpd22x-gd
php4-httpd22x-imap
php4-httpd22x-ldap
php4-httpd22x-mbstring
Application Templates
For RHEL 5 and CentOS 5:
.pa-apache-httpd
.pa-php
.pa-pleskd
.pa-webalizer
.pa-mysql-client
.pa-pgsql-client
.mod_ssl
.pa-proftpd
.pa-php5-cgi
For RHES 4 and CentOS 4:
vzpem-apache-httpd22x
vzpem-php-httpd22x
vzpem-pleskd
vzpem-webalizer
vzpem-mysql-client
vzpem-pgsql-client
mod_ssl (version 20090117-1.0-1 or
later)
vzpem-proftpd
vzpem-php5-cgi-httpd22x
Deploying Apache Web Hosting 13
php4-httpd22x-mcrypt
php4-httpd22x-mhash
php4-httpd22x-mysql
php4-httpd22x-ncurses
php4-httpd22x-odbc
php4-httpd22x-pear
php4-httpd22x-pgsql
php4-httpd22x-snmp
php4-httpd22x-xmlrpc
php5-cgi-httpd22x
perl-BerkeleyDB
php4-pear-HTTP-Request
libc-client
libmcrypt
libmhash
webalizer
gd
db4
MySQL4-client
MySQL-shared-compat
MySQL-python
mx
perl-DBD-MySQL
perl-DBD-Pg
postgresql-libs
proftpd
vixie-cron
perl
curl
Service package webve (other) IP pools internal, external
14 Parallels Operations Automation 5.0 Parallels
Notes on installation:
While creating the Resource Type for Web Server VPSs, set the following QoS Parameters on the Activation Parameters step:
quotaugidlimit to 1000000
tcpsndbuf to 2097152:3145728
If you wish to change the default path /usr/local/pem/vhosts/ where webspaces
are provisioned with the custom path, change the directory where virtual hosts DocRoots be created (apache.vhostdir) property of the Apache package (type: service) during the
package installation. If the specified path does not exist, POA creates this path.
If you plan to provide your customers the Web File Manager service, deploy the Web File Manager application as described in section Installing Web File Manager (on page
21).
Installation Requirements for Apache 2.0
To install the Apache web service based on Apache 2.0, follow the instructions at Installing Service on Linux-based Host (on page 107) and use the data from the tables below.
Note that Apache 2.0 can be installed only on RHES 4 and CentOS 4 operating systems.
System-wide Requirements
Management Node apache (SC)
UI Node(s) apache (CP)
common_filemanager (CP)
filemanager (CP)
stat_profile (CP)
proftpd (CP)
Host-wide Requirements
Physical Servers Scenario Virtual Servers Scenario
Internal IP yes RPMs none
External IP yes Service package webve (other)
Deploying Apache Web Hosting 15
RPMs mod_cband
mod_init_crypto
mod_limitipconn
pem-suexec
perl-BerkeleyDB
php4
php4-curl
php4-domxml
php4-gd
php4-imap
php4-ldap
php4-mbstring
php4-mcrypt
php4-mhash
php4-mysql
php4-ncurses
php4-odbc
php4-pear
php4-pear-HTTP-Request
php4-pgsql
php4-snmp
php4-xmlrpc
libc-client
libmcrypt
libmhash
webalizer
gd
db4
MySQL4-client
MySQL-shared-compat
MySQL-python
mx
perl-DBD-MySQL
perl-DBD-Pg
postgresql-libs
mod_ssl
proftpd
php5-cgi
httpd
vixie-cron
perl
Application Templates vzpem-apache-httpd
vzpem-php
vzpem-pleskd
vzpem-webalizer
vzpem-mysql-client
vzpem-pgsql-client
mod_ssl
vzpem-proftpd
vzpem-php5-cgi
16 Parallels Operations Automation 5.0 Parallels
curl
Service package webve (other) IP pools internal, external
Notes on installation:
Do not upgrade the OS template and mod_ssl application to versions 20090117-
1.0-1 or later.
While creating the Resource Type for Web Server VPSs, set the following QoS Parameters on the Activation Parameters step:
quotaugidlimit to 1000000
tcpsndbuf to 2097152:3145728
If you wish to change the default path /usr/local/pem/vhosts/ where webspaces
are provisioned with the custom path, change the directory where virtual hosts DocRoots be created (apache.vhostdir) property of the Apache package (type: service) during the
package installation. If the specified path does not exist, POA creates this path.
If you plan to provide your customers the Web File Manager service, deploy the Web File Manager application as described in section Installing Web File Manager (on page 21).
Deploying Apache Web Hosting 17
Installing FrontPage on Host
To offer your customer the FrontPage service, you need to install FrontPage on all Apache hosts you plan to provision the service on.
To install FrontPage on a Hardware Node-based Apache host, install the following RPMs on the host:
For Apache 2.0:
mod_frontpage
frontpage
For Apache 2.2:
on RHES 4 and CentOS 4:
mod_frontpage-httpd22x
frontpage
on RHEL 5 and CentOS 5:
mod_frontpage
frontpage
For instructions on installing RPMs, refer to section Installing Package on the Host (on page 113).
To install FrontPage on a VPS-based Apache host, install the following Application templates on the host:
For Apache 2.0:
vzpem-frontpage
For Apache 2.2:
on RHES 4 and CentOS 4:
vzpem-frontpage
on RHEL 5 and CentOS 5:
.pa-frontpage
To install Application templates, go to Top > Service Director > Virtuozzo Manager > VPSs > VPS name > Application Templates tab, click Install, select the packages in the list and click Install.
Installing ionCube Loader and SQLite2 PHP Extensions
This section describes on how to install the ionCube Loader and SQLite2 PHP extensions on Apache Web Server.
18 Parallels Operations Automation 5.0 Parallels
Note: The ionCube Loader and SQLite2 PHP extensions are required for websites, which
are created through Plesk SiteBuilder. You should install these extensions if Plesk SiteBuilder is going to be used.
Installation Requirements
VPS Scenario
The following PVC Templates should be installed on Apache Web Server:
For Apache 2.0 on RHES 4/CentOS 4
vzpem-sitebuilder-support
vzpem-sitebuilder-support-php5
vzpem-php5-cgi
Note: The vzpem-php5-cgi PVC Template adds the SQLite2 PHP extension support for
PHP 5. This PVC Template is installed during the Apache Web Server deployment.
For Apache 2.2 on RHES 4/CentOS 4
vzpem-sitebuilder-support
vzpem-sitebuilder-support-php5
vzpem-php5-cgi-httpd22x
Note: The vzpem-php5-cgi-httpd22x PVC Template adds the SQLite2 PHP extension
support for PHP 5. This PVC Template is installed during the Apache Web Server deployment.
Apache 2.2 on RHEL 5/CentOS 5
.pa-sitebuilder-support
.pa-sitebuilder-support-php5
.pa-php5-cgi
Note: The .pa-php5-cgi PVC Template adds the SQLite2 PHP extension support for PHP 5. This PVC Template is installed during the Apache Web Server deployment.
To import a PVC Template in POA, follow the instruction of Installing Standard OS/Application Templates section (on page 131).
To install the required PVC Template on VPS, perform the following actions:
1 Go to Top > Service Director > Virtuozzo Manager > VPSs and click on the VPS.
2 Select the Application Templates tab and click on the Install button.
3 Select the checkbox opposite the required PVC Template(s) and click on the Install
button.
Deploying Apache Web Hosting 19
Hardware Node Scenario
The following RPMs should be installed on Apache Web Server:
For Apache 2.0 on RHES 4/CentOS 4
php-ioncube-loader
php5-ioncube-loader
php4-sqlite2
php5-cgi
Note: The php5-cgi RPM adds the SQLite2 PHP extension support for PHP 5. This
RPM is installed during the Apache Web Server deployment.
For Apache 2.2 on RHES 4/CentOS 4
php-ioncube-loader
php5-ioncube-loader
php4-sqlite2
php5-cgi-httpd22x
Note: The php5-cgi-httpd22x RPM adds the SQLite2 PHP extension support for PHP 5.
This RPM is installed during the Apache Web Server deployment.
Apache 2.2 on RHEL 5/CentOS 5
php4-ioncube-loader
php5-ioncube-loader
php4-sqlite2
php5-cgi
Note: The php5-cgi RPM adds the SQLite2 PHP extension support for PHP 5. This
RPM is installed during the Apache Web Server deployment.
To install RPM on the required host, follow the instruction of Installing RPM on Host section (on page 131).
Note: POA uses the Native Repositories to automatically install the required RPM packages on the Linux-based Hardware Node during the POA Packages installation. It is
recommended to deploy the System and External Native Repositories for required OSs.
Installing POA Packages
The following POA Packages should be installed on Apache Web Server:
php4-ioncube-loader (type: other)
php5-ioncube-loader (type: other)
php4-sqlite2 (type: other)
20 Parallels Operations Automation 5.0 Parallels
Note: The support of SQLite2 PHP extension for PHP 5 is added by the Apache (type: service) POA Package. This POA Package is installed during the Apache Web Server
deployment.
To obtain the instructions on how to install POA Packages, refer to the Installing PPM Packages section (on page 109).
Restarting Apache Service
Restart the Apache Service using the following instructions:
1 Log on to host using SSH under root user's credentials.
2 Restart the Apache Service using the service pemhttpd restart command.
Configuring IP Pool for WebSites With SSL Support
Configure the IP Pool for WebSites with SSL support:
1 Create the IP Pool following the instructions of the Creating IP Pool section (on page 117). Specify the following parameters:
Name: Exclusive FrontNet IPs
Pool available for: Everyone
Purpose: Shared hosting
Initial IP and Final IP: lower bound and upper bound FrontNet IP Addresses
Note: The number of IP Addresses of this IP Pool should be not less than the total
number of WebSites with SSL support, which will be provisioned in POA.
Netmask: netmask of the IP Pool subnet
Gateway: default gateway of the IP Pool subnet
2 Add the IP Pool to the web server following the instructions of the Adding IP Pool to Host section (on page 118).
Deploying Apache Web Hosting 21
Installing Web File Manager
Web File Manager (hereinafter FM) is a powerful web-based software tool that helps to perform various online actions with files on a web space server. These actions include:
file/directory creating
file uploading
file/directory copying
file/directory moving
changing the file/directory last modification time to the current time
file/directory deleting
file/directory renaming
viewing and setting the file/directory access permission attributes
Web File Manager service is designed to stand on a separate Hardware Node and manage all customer files remotely to achieve a better performance of FM itself and Web hosts in particular.
Below is the Web File Manager service deployment scheme.
Figure 1: FM Service Deployment Scheme
22 Parallels Operations Automation 5.0 Parallels
Earlier, Web File Manager could be installed on a Web Server node only, thus decreasing its productivity. Now it can also be installed on a separate node or even on a group of nodes (two or more) for better performance. In case of a group of servers, the Customer will have several FMs (one on each server). Hence, the servers will not be united, but they will have one common service controller installed on POA Management Node.
So, there are two possible installation scenarios of FM:
1 Installing FM service on a Web Server Node
2 Installing FM service on a separate Linux Node (or a group of Linux Nodes) - new installation scenario
Choice of a certain installation scenario should be made depending on the number of FM accounts you are planning to offer to Customers:
If the general number of your FM accounts is less than 500, you can use the first scenario.
If the general number of your FM accounts is greater than 500, it is recommended to use the second scenario to avoid decrease in the productivity of FM service.
Depending on the choice you have made, follow one of the installation scenarios described below.
WFM installation according to scenario #1
To install Web File Manager on a separate Web Server Node, follow these steps:
1 Install the WebFileManager SC POA package on your management node.
2 Install the common_filemanager CP POA package on all your UI servers.
3 Import and install package WebFileManager (type: service, platform:Linux) onto the (Apache+Mono) web server that is intended to host Web File Manager.
While installing the package, specify the following package properties:
Request Length. The maximum size (in kilobytes) of HTTP request that will be accepted by a web server that holds WebFileManager. This size is composed of HTTP header, of POST data, and of uploaded file content.
Execution Timeout. The period of time that WebFileManager is allowed to waste for one client‘s request. Note, that prolonged operations with files will be broken off after this time.
Port. The port that WebFileManager will be listening for. By default this value equals to 1299.
Note: If you specify the port used by the Apache (service) package, the
WebFileManager package will not be installed and the following error will appear: Port ${port} already used by Apache(service) package. Please choose another one or reinstall Apache with different port settings.
Proxy Suffix. The proxy suffix to be registered in branding proxy.
Host name prefix. The name to be registered in the DNS zone.
Deploying Apache Web Hosting 23
Domain ID. The identifier of the domain where DNS record will be registered in. By
default, this value equals to 1.
Maximum Number of requests - maximum number of simultaneous requests allowed for the service.
Maximum number of accounts - this value is very important. As soon as the limit set
here is reached, adding FM accounts becomes impossible.
Note: Do not enter a big value for this parameter as it may lead to the significant
performance decrease of the FM service.
WFM installation according to scenario #2
To install Web File Manager on a separate Linux Node (or a group of Linux Nodes), follow these steps:
1 Install the WebFileManager SC POA package on your management node.
2 Install the common_filemanager CP POA package on all your UI servers.
3 Import and install package WebFileManager (type: service, platform:Linux) on each Linux node which you want to use in cluster of FM nodes with installed OS.
While installing the package, specify its properties (which are exactly the same as in the first scenario).
If you still have an old File Manager installed on some Service Node and would like to migrate to the new one, Web File Manager, you just need to uninstall the filemanager.default POA package on that node (for instructions on uninstalling POA packages, consult POA Provider's Guide). Once you are done, the new Web File Manager becomes available for Customers assigned to the Service Node.
Note: It is supposed you have already installed the new Web File Manager on some
Service Node(s) according to the installation scenarios described above.
System Requirements for Web File Manager Server
FM service must be installed on a Linux Node (physical or virtual) that meets the following requirements:
Server Names LINFM
Description Web File Manager
Density Up to 20000 customer webspaces and/or websites.
Quantity To be calculated based on the projected customer base and the density above.
OS RHES 4 (x86)
CentOS 4 (x86)
RHEL 5 (x64)
CentOS 5 (x64)
24 Parallels Operations Automation 5.0 Parallels
Software To be installed by the Customer:
OS only
To be installed by Parallels:
Apache 2.0/2.2
Mono 2.4
Supported Virtualization
Parallels Virtuozzo Containers (PVC) 4.0 for Linux
CPU 2 core (3GHz or higher)
RAM 4GB
Disks Array 1:
OS and software - 2 x 80 GB, SATA RAID 1 (software impl.)
Disk Partitioning Array 1:
/ 4GB - for OS
2 x RAM size (8GB) - swap
/usr - remaining space - for software and Web File Manager data
NICs FrontNet, BackNet
Deploying Apache Web Hosting 25
Installation Requirements for Apache 2.2
To install the Web File manager service based on Apache 2.2, follow the instructions at Installing Service on Linux-based Host (on page 107) and use the data from the tables below.
To deploy Apache 2.2 on a VPS running RHES 4 or CentOS 4, it is necessary to use the OS template and the mod_ssl application template versions 20090117-1.0-1 or later.
The required templates are available for downloading at the following URLs:
RHES 4
http://download.pa.parallels.com/download/templates/pvclin/redhat-as4-template-20090117-1.0-1.i386.rpm
http://download.pa.parallels.com/download/templates/pvclin/mod_ssl-as4-template-20090117-1.0-1.i386.rpm
CentOS 4
http://download.pa.parallels.com/download/templates/pvclin/centos-4-template-20090117-1.0-1.i386.rpm
http://download.pa.parallels.com/download/templates/pvclin/mod_ssl-ce4-template-20090117-1.0-1.i386.rpm
Note: All previous versions of the OS template and the mod_ssl application template
should also be imported to POA.
System-wide Requirements
Management Node WebFileManager (SC)
UI Node(s) common_filemanager (CP)
Host-wide Requirements (Physical Servers Scenario)
Internal IP yes
External IP yes
26 Parallels Operations Automation 5.0 Parallels
Host-wide Requirements (Physical Servers Scenario)
RPMs For RHEL 5 and CentOS 5:
see the full list of RPMs in section Installation Requirements for Apache 2.0 (on page 28).
For RHES 4 and CentOS 4:
mod_ssl (version 2.2.11-1 or later)
httpd (version 2.2.11-1 or later)
Note: If the required versions of the packages above are unavailable, contact your Parallels representative for instructions on obtaining newer versions of these packages.
php4-httpd22x
php4-httpd22x-curl
php4-httpd22x-domxml
php4-httpd22x-gd
php4-httpd22x-imap
php4-httpd22x-ldap
php4-httpd22x-mbstring
php4-httpd22x-mcrypt
php4-httpd22x-mhash
php4-httpd22x-mysql
php4-httpd22x-ncurses
php4-httpd22x-odbc
php4-httpd22x-pear
php4-pear-HTTP-Request
php4-httpd22x-pgsql
php4-httpd22x-snmp
php4-httpd22x-xmlrpc
mod_cband-httpd22x
mod_init_crypto-httpd22x
mod_limitipconn-httpd22x
apache2-mod_mono-httpd22x
libc-client
libmcrypt
libmhash
libexif
Deploying Apache Web Hosting 27
Host-wide Requirements (Physical Servers Scenario)
libgdiplus0
mono-basic
mono-core
mono-data
mono-data-sqlite
mono-extras
mono-nunit
mono-web
mono-winforms
xsp
libungif
perl-DBD-Pg
postgresql-libs
FileManager
MySQL4-client
MySQL-shared-compat
MySQL-python
mx
perl-DBD-MySQL
webalizer
gd
db4
pem-suexec
perl-BerkeleyDB
perl
curl
php5-cgi-httpd22x
xorg-x11-Mesa-libGL
xorg-x11-libs
Service package WebFileManager (service)
Host-wide Requirements (Virtual Servers Scenario)
RPMs The list of RPMs is the same as in the Host-wide Requirements (Physical Servers Scenario) above
28 Parallels Operations Automation 5.0 Parallels
Service package WebFileManager (service)
Application Templates For RHEL 5 and CentOS 5:
.mod_ssl
.pa-pleskd
.pa-php
.pa-mono
.pa-pgsql-client
.pa-webfilemanager
.pa-mysql-client
.pa-webalizer
.pa-apache-httpd
.pa-php5-cgi
For RHEL 4 and CentOS 4:
mod_ssl (version 20090117-1.0-1 or later)
vzpem-pleskd
vzpem-php-httpd22x
vzpem-mono-httpd22x
vzpem-pgsql-client
vzpem-webfilemanager
vzpem-mysql-client
vzpem-webalizer
vzpem-apache-httpd22x
vzpem-php5-cgi-httpd22x
IP pools external, internal
Installation Requirements for Apache 2.0
Note that Apache 2.0 can be installed only on RHES 4 and CentOS 4 operating systems.
System-wide Requirements
Management Node WebFileManager (SC)
UI Node(s) common_filemanager (CP)
Deploying Apache Web Hosting 29
Host-wide Requirements (Physical Servers Scenario)
Internal IP yes
External IP yes
30 Parallels Operations Automation 5.0 Parallels
Host-wide Requirements (Physical Servers Scenario)
RPMs mod_ssl
php4
php4-curl
php4-domxml
php4-gd
php4-imap
php4-ldap
php4-mbstring
php4-mcrypt
php4-mhash
php4-mysql
php4-ncurses
php4-odbc
php4-pear
php4-pear-HTTP-Request
php4-pgsql
php4-snmp
php4-xmlrpc
libc-client
libmcrypt
libmhash
libexif
libgdiplus0
mono-basic
mono-core
mono-data
mono-data-sqlite
mono-extras
mono-nunit
mono-web
mono-winforms
xsp
apache2-mod_mono
libungif (For RHES 4), giflib (for RHEL 5)
perl-DBD-Pg
postgresql-libs
FileManager
php5-cgi
Deploying Apache Web Hosting 31
Host-wide Requirements (Physical Servers Scenario)
MySQL4-client
MySQL-shared-compat
MySQL-python
mx
perl-DBD-MySQL
webalizer
gd
db4
mod_cband
mod_init_crypto
mod_limitipconn
pem-suexec
perl-BerkeleyDB
httpd
perl
curl
xorg-x11-Mesa-libGL
xorg-x11-libs
Service package WebFileManager (service)
Host-wide Requirements (Virtual Servers Scenario)
RPMs The list of RPMs is the same as in the Host-wide Requirements (Physical Servers Scenario) above
Service package WebFileManager (service)
Application Templates mod_ssl
vzpem-pleskd
vzpem-php
vzpem-mono
vzpem-pgsql-client
vzpem-webfilemanager
vzpem-mysql-client
vzpem-webalizer
vzpem-apache-httpd
vzpem-php5-cgi
32 Parallels Operations Automation 5.0 Parallels
IP pools external, internal
Deploying Apache Web Hosting 33
Upgrading Web Server from Apache 2.0 to Apache 2.2
First, we recommend you to make a list of Apache web servers (Hardware Nodes and VPSs) you wish to upgrade to Apache 2.2. All such hosts will have the Apache application
installed.
Then, for each of such hosts, perform the procedure described below.
To upgrade a Hardware Node-based Apache host from Apache 2.0 to Apache 2.2, perform these steps:
1 In your POA Panel, go to Top > Deployment Director > Server Manager > Hardware Nodes > Hardware Node name > Packages tab > RPM subtab.
2 Make sure that the packages listed below are updated to the following versions:
apr (version 1.2.8-1 or later)
apr-util (version 1.2.8-1 or later)
httpd (version 2.2.11-1 or later)
httpd-manual (version 2.2.11-1 or later)
mod_ssl (version 2.2.11-1 or later)
openssl (version 0.9.8b-8 or later)
openssl-perl (version 0.9.8b-8 or later)
openssl097a (version 0.9.7a-9 or later)
pcre (version 6.6-1 or later)
If necessary, update the RPMs using the rpm -Uhv rpm1 rpm2 rpm3 command.
If the RPM versions above are unavailable in POA, contact your Parallels representative to obtain the URL of the POA Updates server.
3 Log on to the target host via SSH as root.
4 To any directory of your choice, upload the following RPMs from the POA distribution:
mod_cband-httpd22x
mod_frontpage-httpd22x
mod_init_crypto-httpd22x
mod_limitipconn-httpd22x
mod_mono-httpd22x
php4-httpd22x
34 Parallels Operations Automation 5.0 Parallels
php4-httpd22x-curl
php4-httpd22x-domxml
php4-httpd22x-gd
php4-httpd22x-imap
php4-httpd22x-ldap
php4-httpd22x-mbstring
php4-httpd22x-mcrypt
php4-httpd22x-mhash
php4-httpd22x-mysql
php4-httpd22x-ncurses
php4-httpd22x-odbc
php4-httpd22x-pear
php4-httpd22x-pgsql
php4-httpd22x-snmp
php4-httpd22x-xmlrpc
php5-cgi-httpd22x
php4-ioncube-loader
php5-ioncube-loader
php4-sqlite2
- for example, using the command: wget <url>
If the RPMs listed in Step 2 are unavailable in POA, upload them from the POA Updates server (the one pointed by your Parallels representative) to the same directory.
Note: The php4-ioncube-loader, php5-ioncube-loader and php4-sqlite2
RPMs are necessary for provisioning of Parallels Plesk Sitebuilder (see page 100); they also install ionCube PHP Loader support and SQLite2 support for PHP 4 on the Apache server.
5 From the same directory, run the RPM update command:
rpm -Uvh rpm1 rpm2 rpm3
Important: In the command, indicate the full list of new RPMs: the ones listed in Step 4
and, if necessary, the ones listed in Step 2.
6 On POA Management Node, re-generate the Apache service configuration files:
Depending on the platform of your POA Management Node, log in to the:
Linux-based POA Management Node via SSH as root and go to the "/usr/local/pem/bin/" directory
Deploying Apache Web Hosting 35
OR
Windows-based POA Management Node via RDP as administrator, open the command prompt and go to the "C:\Program Files\SWsoft\PEM\bin"
directory
and execute: apache_ctl service dumpStaticConfig <service_id>
To get the value of the <service_id> parameter, go the host management Top >
Deployment Director > Server Manager > Hardware Nodes > Hardware Node name > Applications tab and view the ID of the Apache application.
7 Go to Top > System Director > Task Manager > Background Tasks and wait until the task Generate config for apache service <service_id> is executed successfully.
To upgrade a VPS-based Apache host(s) from Apache 2.0 to Apache 2.2, perform these steps:
1 Download from POA Updates server and import the following OS and Application templates:
[OS]-template-20090117-1.0-1.i386.rpm
mod_ssl-[OS]-template-20090117-1.0-1.i386.rpm
- where [OS] indicates the corresponding Operating system version of the template:
redhat-as4, centos-4 for the OS template; or as4, ce4 for the mod_ssl
Application template.
The required OS template and the mod_ssl Application template are available for
downloading at the following URLs:
RHES 4
http://download.pa.parallels.com/download/templates/pvclin/redhat-as4-template-20090117-1.0-1.i386.rpm
http://download.pa.parallels.com/download/templates/pvclin/mod_ssl-as4-template-20090117-1.0-1.i386.rpm
CentOS 4
http://download.pa.parallels.com/download/templates/pvclin/centos-4-template-20090117-1.0-1.i386.rpm
http://download.pa.parallels.com/download/templates/pvclin/mod_ssl-ce4-template-20090117-1.0-1.i386.rpm
Note: All previous versions of the OS template and the mod_ssl application template
should also be imported to POA.
For importing instructions, refer to section Importing Templates (on page 134).
2 Remove the following Apache 2.0-specific Application templates from the host (one by one, in the specified order):
vzpem-apache-httpd
36 Parallels Operations Automation 5.0 Parallels
vzpem-sitebuilder-support (if present; this template contains PHP 4
extensions required for operation of Parallels Plesk Sitebuilder (see page 100))
vzpem-sitebuilder-support-php5 (if present; this template contains PHP 5
extensions required for operation of Parallels Plesk Sitebuilder (see page 100))
vzpem-php5-cgi
version 20090212 of vzpem-php Application Template.
To find this version, click the Show detailed view button on the Top > Service Director > Virtuozzo Manager > VPSs > VPS name > Application Templates tab and view the
expanded list of vzpem-php Application template versions
vzpem-php itself. To delete the package, click Hide details and select the vzpem-
php Application template in the list
vzpem-webfilemanager (if present; this template contains WebFileManager)
vzpem-mono (if present; this template contains WebFileManager)
To remove the Application templates, go to Top > Service Director > Virtuozzo Manager > VPSs > VPS name > Application Templates tab, select the application templates in the list and click Uninstall.
3 Upgrade the redhat-as4 (centos-4) and mod_ssl-as4 (mod_ssl-ce4)
templates to the version imported at Step 1 (20090117-1.0-1 or later).
To upgrade the templates, in POA CP, go to Top > Service Director > Virtuozzo Manager > VPSs > VPS name > Application Templates tab, click Install Updates, select the imported
versions of the OS template and mod_ssl Application template and click Install.
4 Install the following Application templates on the host:
vzpem-apache-httpd22x
vzpem-php-httpd22x
vzpem-php5-cgi-httpd22x
vzpem-mono-httpd22x (contains WebFileManager)
vzpem-webfilemanager (contains WebFileManager)
vzpem-sitebuilder-support (if was present; see above)
vzpem-sitebuilder-support-php5 (if was present; see above)
To install these Application templates, import them all from the POA distribution package as described in section Importing Templates, and then go to Top > Service Director > Virtuozzo Manager > VPSs > VPS name > Application Templates tab, click Install, select the packages in the list and click Install.
5 On POA MN, re-generate the Apache service configuration files:
Depending on the platform of your POA Management Node, log in to the:
Linux-based POA Management Node via SSH as root and go to the "/usr/local/pem/bin/" directory
Deploying Apache Web Hosting 37
OR
Windows-based POA Management Node via RDP as administrator, open the command prompt and go to the "C:\Program Files\SWsoft\PEM\bin"
directory
and execute: apache_ctl service dumpStaticConfig <service_id>
To get the value of the service_id parameter, go the host management Top >
Deployment Director > Server Manager > Hardware Nodes > Hardware Node name > Applications Templates tab and view the ID of the Apache application.
6 Go to Top > System Director > Task Manager > Background Tasks and wait until the task Generate config for apache service <service_id> is executed successfully.
38 Parallels Operations Automation 5.0 Parallels
Legacy File Manager to Web File Manager Transition
Since POA 2.9, Legacy File Manager is no longer maintained. It is recommended to make a transition from Legacy File Manager to Web File Manager. Transition procedure is the following:
1 Deploy Web File Manager following the instructions of the Installing Web File Manager section (on page 21).
2 Uninstall the filemanager.* (type: service) Package from the required web servers. To obtain the instructions on how to uninstall a Package, refer to POA Provider's Guide, Managing Packages > Managing Single Package > Uninstalling Packages.
Note: The mixed installation scenario is possible. If, Legacy File Manager is not
removed from a set of web servers, webspaces provisioned on these web servers remain accessible through Legacy File Manager.
When Legacy File Manager is removed from a web server, Web File Manager should be activated through Customer Control Panel for webspaces provisioned on a web server.
Note: You can use the POA Notification Messages system to notify the Customers that
Web File Manager should be activated. To obtain the information about the POA Notification Messages system, refer to POA Provider's Guide, Marketing Operations > Publishing News Messages and Notifications > Managing Notification Messages.
Installing Domain Parking Service
This service provides your subscribers with the possibility to register and park their domain names for future use. A subscriber is able to set up a domain name (a website without any content) to point to another working domain name.
For example, your subscriber owns the subscriber.provider.com and name.subscriber.provider.com domain names. He/she already has a website for subscriber.provider.com, but he/she does not want to create a new website for name.subscriber.provider.com at the moment. By parking name.subscriber.provider.com for subscriber.provider.com, all URL requests for name.subscriber.provider.com will automatically go to subscriber.provider.com instead.
Deploying Apache Web Hosting 39
System Requirements for Domain Parking Server
For the Domain Parking Server, you need an Apache web server with the following system requirements:
Server Names LINDP
Description Domain Parking Server on Linux
Density
Quantity 1
OS RHES 4 (x86)
CentOS 4 (x86)
RHEL 5 (x64)
CentOS 5 (x64)
Software To be installed by the Customer:
OS only
Supported Virtualization
Parallels Virtuozzo Containers (PVC) 4.0 for Linux
CPU 2 core (3GHz or higher)
RAM 2GB
Disks Array 1:
OS and software - 2 x 80 GB SATA, RAID1 (software impl.)
Disk Partitioning Array 1:
/ 5GB - for OS
2 x RAM size (4GB) - swap
/usr - remaining space - for software
NICs FrontNet, BackNet
Installation Requirements for Domain Parking Service
To install the Domain Parking service, follow the instructions at Installing Service on Linux-based Host (on page 107) and use the data from the tables below.
System-wide Requirements
Management Node DomainParking (SC)
UI Node(s) domain_parking (CP)
40 Parallels Operations Automation 5.0 Parallels
Host-wide Requirements
Physical Servers Scenario Virtual Servers Scenario
Internal IP yes RPMs none
External IP yes Service package domain_parking (service)
Deploying Apache Web Hosting 41
RPMs mod_cband
mod_init_crypto
mod_limitipconn
pem-suexec
perl-BerkeleyDB
php4
php4-curl
php4-domxml
php4-gd
php4-imap
php4-ldap
php4-mbstring
php4-mcrypt
php4-mhash
php4-mysql
php4-ncurses
php4-odbc
php4-pear
php4-pear-HTTP-Request
php4-pgsql
php4-snmp
php4-xmlrpc
libc-client
libmcrypt
libmhash
webalizer
gd
db4
MySQL4-client
MySQL-shared-compat
MySQL-python
mx
perl-DBD-MySQL
perl-DBD-Pg
postgresql-libs
mod_ssl
httpd
perl
curl
php5-cgi
Application Templates For RHEL 5 and CentOS 5:
.pa-apache-httpd
.pa-php
.pa-pleskd
.pa-webalizer
.pa-mysql-client
.pa-pgsql-client
.pa-php5-cgi
.mod_ssl
For RHES 4 and CentOS 4:
vzpem-apache-httpd
vzpem-php
vzpem-pleskd
vzpem-webalizer
vzpem-mysql-client
vzpem-pgsql-client
vzpem-php5-cgi
mod_ssl
42 Parallels Operations Automation 5.0 Parallels
Service package domain_parking (service) IP pools internal, external
Deploying Apache Web Hosting 43
Notes on installation:
Before the installation of service package to Domain Parking VPS, you should edit the etc/hosts file on the VPS. When the VPS is created the etc/hosts file contains the
string:
127.0.0.1 <Host_Name_full> <Hostname_Short> localhost localhost.localdomain.
You should delete the following entries: <Host_Name_full> <Hostname_Short>.
During the domain parking (service) package installation, provide the following information:
dp.company - enter the name of the company to appear on the default page of the parked domain.
dp.mail - enter the contact e-mail. It will be displayed at the default page of the parked domain.
Important: Domain Parking Service's host is intended for Domain Parking only and this
host should not be used for provisioning of Customers' WebSites.
Installing SSL Proxy Server
SSL protocol enables client and server applications to communicate in a way that is designed to prevent eavesdropping, tampering, and message forgery. This is especially useful for web-commerce organizations that use SSL protocol for transmitting private information via Internet.
SSL connection requires dedicated IP addresses. However, you can deploy an SSL Proxy server that will enable shared hosting customers to use SSL without actually having dedicated IP addresses.
SSL Proxy server receives HTTPS requests addressed to a specific host, then passes the request to its actual destination, and then passes the answer back in a ciphered form. All the data is transferred between the SSL Proxy server and webspaces via back-net.
SSL Proxy server ensures security of the data transfer between web and the SSL Proxy server itself. All the data transfers between the SSL Proxy server and webspaces remain insecure. Yet, this is not a big problem, as the risk of eavesdropping or tampering during such transfers is minimal.
44 Parallels Operations Automation 5.0 Parallels
Figure 2: Shared SSL Model
System Requirements for SSL Proxy Server
For the SSL Proxy server, you need an Apache web server with the following system requirements:
Server Names LINSSLPR
Description SSL Proxy Server on Linux
Density
Quantity 1
OS RHES 4 (x86)
CentOS 4 (x86)
RHEL 5 (x64)
CentOS 5 (x64)
Software To be installed by the Customer:
OS only
Supported Virtualization
Parallels Virtuozzo Containers (PVC) 4.0 for Linux
CPU 2 core (3GHz or higher)
RAM 2GB
Deploying Apache Web Hosting 45
Disks Array 1:
OS and software - 2 x 80 GB SATA, RAID1 (software impl.)
Disk Partitioning Array 1:
/ 5GB - for OS
2 x RAM size (4GB) - swap
/usr - remaining space - for software
NICs FrontNet, BackNet
Installation Requirements
To install the SSL Proxy service, follow the instructions at Installing Service on Linux-based Host (on page 107) and use the data from the tables below.
System-wide Requirements
Management Node ApacheSSLProxy (SC)
Apache (SC)
InternalIPResolver (SC)
IIS (SC) - optional
UI Node(s) apache (CP)
Host-wide Requirements
Physical Servers Scenario Virtual Servers Scenario
Internal IP yes RPMs openldap
openldap-servers
openldap-clients
nss_ldap
nscd
External IP yes Service package shared_ssl_config
46 Parallels Operations Automation 5.0 Parallels
RPMs mod_cband
mod_init_crypto
mod_limitipconn
pem-suexec
perl-BerkeleyDB
php4
php4-curl
php4-domxml
php4-gd
php4-imap
php4-ldap
php4-mbstring
php4-mcrypt
php4-mhash
php4-mysql
php4-ncurses
php4-odbc
php4-pear
php4-pear-HTTP-Request
php4-pgsql
php4-snmp
php4-xmlrpc
libc-client
libmcrypt
libmhash
webalizer
gd
db4
MySQL4-client
MySQL-shared-compat
MySQL-python
mx
perl-DBD-MySQL
perl-DBD-Pg
postgresql-libs
mod_ssl
httpd
perl
curl
nss_ldap
openldap-servers
Application Templates For RHEL 5 and CentOS 5:
.pa-apache-httpd
.pa-php
.pa-pleskd
.pa-webalizer
.pa-mysql-client
.pa-pgsql-client
.mod_ssl
.pa-php5-cgi
For RHES 4 and CentOS 4:
vzpem-apache-httpd
vzpem-php
vzpem-pleskd
vzpem-webalizer
vzpem-mysql-client
vzpem-pgsql-client
mod_ssl
vzpem-php5-cgi
Deploying Apache Web Hosting 47
Service package shared_ssl_config IP pools internal, external
Notes on installation:
Before installing the shared_ssl_config package, you need to configure the Internal IP
Resolver service. This implies the following activity:
a Create the OpenLDAP server by installing the openldap-servers RPM on any host registered in POA. In case of installing the OpenLDAP server on a Hardware Node (not VPS), the openldap-servers RPM is installed automatically.
b Install the service_InternalIPResolver package on the same host. Specify the root password for OpenLDAP server as the bind_password package property.
c Install the config_InternalIPResolver package on the host where shared_ssl_config will be installed.
When installing the package shared_ssl_config (type: service), you will be prompted to
put down the the access point domain name for SSL Proxy.
Creating Certificate
To make your SSL Proxy server work properly, you need to obtain an SSL certificate - an attachment to an electronic message used for security purposes. The most common use of a certificate is to verify that a user sending a message is who he or she claims to be, and to provide the receiver with the means to encode a reply. Usually certificates are required to initialize an SSL session.
In POA you can generate a self-signed certificate or create a Certificate Signing Request (CSR) to get your certificate from a certificate authority (CA). Below in this chapter, the step sequence for both procedures is described.
Notes on Certificates:
In order to use SSL certificates for a given domain, the domain must be set-up for IP-based hosting.
For your domains you can use either a self-signed certificate or a certificate signed by a recognized CA. The self-signed certificate is valid and secure, but many clients prefer
to have certificates signed by known CAs.
If using an SSL certificate issued by a CA other than Thawte or Verisign, a rootchain certificate is required to appropriately identify and authenticate the CA that has issued your SSL certificate.
If the given domain has the www prefix enabled, you must set up your CSR or self-signed certificate with the www prefix included. If you do not, you will receive a warning message when trying to access the domain with the www prefix.
48 Parallels Operations Automation 5.0 Parallels
Generating Self-Signed Certificate
POA enables you to create a self-signed certificate for your domain. Please note that a self-signed certificate will not provide the security guarantees provided by a CA-signed certificate.
To generate a self-signed certificate, follow these steps:
1 Log on to POA as Provider, and go to Top > Personal Info > SSL Certificates. Click on the Self-signed link in the main window.
2 Click the Self-signed link in the Certificates area and enter the information needed for generating a Self-Signed certificate:
Option Description
Bits Select the level of encryption of your SSL certificate by selecting an appropriate number from the drop-down menu.
Key type For asynchronous encryption and signing there are keys needed. For generating your certificate you can choose between the RSA and DSA keys.
Country Select a country from the drop-down list.
State/Province Specify a state or province.
Location (City) Specify a location (city).
Organization name Enter an appropriate organization name.
Organization Unit name
Type an appropriate department/division of your organization.
Common name Enter the domain name for which you wish to generate the self-signed certificate. The expected format is www.domainname.com or
domainname.com.
E-mail Specify an email address.
Valid from / Valid to Define the period during which the self-signed certificate will be valid for using it.
Store in user repository
RSA private keys and certificates are stored in the user repository automatically. You must clean the checkbox if you do not want to store them.
3 After you have provided the necessary information, click on the Submit button.
4 On the displayed page you can see two different text sections: Certificate and Private Key.
Deploying Apache Web Hosting 49
In the Certificate form you can see the certificate you have just generated. Click the Store button to immediately store the generated certificate to the repository or the Download button to download the certificate to your local computer.
In the Private Key form below the private key is displayed. Do not lose it! You will need this key during the certificate installation process. Losing it is likely to result in the need to generate another certificate. You can store the key to the repository immediately by clicking the Store button or download it to your local computer by clicking the Download button. Your self-signed certificate will be immediately
generated and added to the repository.
Note: The Store button is hidden if the Store in user repository option was checked
during the private keys/certificates generating.
5 After performing the corresponding operations, click OK.
All your generated keys or obtained by a Certificate Authority certificates are stored in the user repository. When creating your self-signed certificate, you can store it immediately or add any certificate to the user repository later on by clicking the Store button.
Note: If you install the self-signed certificate to the webmail server, watch that its validity dates not yet expired and the domain name agrees with one in the certificate. Otherwise,
your customers won't be able to log in to the server using IMAP over SSL.
Creating Certificate Signing Request
Certificate Signing Requests are used to supply a Certification Authority with the needed information to issue a valid certificate for you without knowing your private key. This includes your personal information and your public key. You can get a CA-signed certificate by creating a Certificate Signing Request. A CA-signed certificate provides two important capabilities for your server:
Browsers will (usually) automatically recognize the certificate and allow a secure connection to be made, without prompting the user.
When a CA issues a signed certificate, they are guaranteeing the identity of the organization that is providing the Web pages to the browser.
To generate a Certificate Signing Request, perform the following operations:
1 Select Top > Personal Info > SSL Certificates and then click on the Request link in the main window.
2 On the displayed page enter the information needed for creating a Certificate Signing Request.
Option Description
Bits Select the level of encryption of your SSL certificate. Select an appropriate number from the drop-down menu.
Key type For asynchronous encryption and signing there are keys needed. For generating your certificate you can choose between the RSA and DSA keys.
50 Parallels Operations Automation 5.0 Parallels
Country Select a country from the drop-down list.
State/Province Specify a state or province.
Location (City) Specify a location (city).
Organization name Enter an appropriate organization name.
Organization Unit name Type an appropriate department/division of your organization.
Common name Enter the domain name for which you wish to generate the self-signed certificate. The expected format is www.domainname.com or domainname.com.
E-mail Specify an email address.
Store in user repository RSA private keys and certificates are stored in the user repository automatically. You must clean the check box if you do not want to store them.
Deploying Apache Web Hosting 51
After having filled in the fields provided, click on the Submit button. The page appears
where the Certificate Request and Private Key are displayed.
3. On this page you can see two different text sections, the Certificate and the RSA Private Key.
In the Certificate form you can see the request you should send to a Certificate
Authority in order to get your certificate. Download this request to your local computer by clicking the Download button. Later on, you can attach the request to
your email and send it to a Certificate Authority like Verisign or Thawte.
In the form below the Private Key field, your RSA private key is displayed. Do not lose it. You will need this key during the certificate installation process. Losing it is likely to result in the need to generate another certificate. You can store the key to the repository immediately by clicking the Store button or download it to your local computer by clicking the Download button.
Note: The Store button is hidden if the Store in user repository option was checked during the private keys/certificates generating.
After performing the corresponding operations, click OK.
All your generated keys or obtained by a Certificate Authority certificates are stored in the user repository. When you create your self-signed certificate, you can store it immediately or add any certificate to the user repository later on by clicking the Store button.
Updating Certificate
When a certificate is issued, its validity is limited by an expiration date. After the certificate is expired, you can update it in the following way:
1 Connect via SSH to the server with installed SSL Proxy Service,
2 In the /usr/local/pem/etc/apache/httpsd.pem file directory replace your
old Private Key and SSL Certificate with the new one.
The format of the file is the following:
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQCdu0cjQwLuPs7CgCZB/0mvhJuflLN3wV+jM5By4W/ykZ2hkH22
BnS2TWucvoqmZp3qGaebXwT76xG5AaXFLKUgAB8tV3q5jTGVujAa1YE/AnP5c+jJ
CVLVkYf3jFnzjBftB9QWX7kq4RAwz7I3Iuyt6vdL+qbyiMb1mYf1Iy+oUwIDAQAB
AoGAQG+idxhIGTYVV0Xs2ydEXeyper7PtkuMG2rURuorxoeQQtF5WaQ3h8YHAUih
8aqYNmt2mjVuHtAANHkk1HERn2XGW/38kWM50yCJGSuila7SMgnQElWKZl2mt3g7
yHrTMqvy8Z/KC53EV4VJbLQ/FeLRCo68xqPAcn1IrpWzHEECQQDP5axnR+aQADBa
aMSOd9VraYLljcIlNbOnNWw0dH3ibilIPKZdlANTp12+ildKoiI2AbJt7TiVWGQK
xZTa4DqhAkEAwjon9jUk5eN99r1FbCYTbwQbFk4i2BjZgyia0xHn69p/K1Qu87NH
PgIR4euuuBkvovR/IeMzwSoQpaYVcpYScwJBALtzx6PIfOfSg8bBOJmNC24yUMhS
rX+HkFlwHgSeFPOZiLeNmCRAVU+UVT581oCA+H/hv9TGVIK0lF/yD2nbTIECQQCS
gP+HrYqJhVGMfjQRYZ8jDDvKVWHfEs9vKX+vWkBQHV3zNuq7lC1WzoTinr4Jy6Wt
CzOiQhjVyX8JE//1kNGVAkBayDncDnR9K1+CcH17MPOp1YgYHAJY6aYPRDmz9aKh
59KuHcxUMcNwZr0tE0eIzTUVcuKFioTqzda4GMAZ66zk
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIDPzCCAqigAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MQswCQYDVQQGEwJVUzEL
52 Parallels Operations Automation 5.0 Parallels
MAkGA1UECBMCVkExEjAQBgNVBAcTCUNoYW50aWxseTETMBEGA1UEChMKUGxlc2sg
SW5jLjESMBAGA1UEAxMJcGxlc2suY29tMSAwHgYJKoZIhvcNAQkBFhFzdXBwb3J0
QHBsZXNrLmNvbTAeFw0wMDExMTAyMzI0NDFaFw0wMTExMTAyMzI0NDFaMHkxCzAJ
BgNVBAYTAlVTMQswCQYDVQQIEwJWQTESMBAGA1UEBxMJQ2hhbnRpbGx5MRMwEQYD
VQQKEwpQbGVzayBJbmMuMRIwEAYDVQQDEwlwbGVzay5jb20xIDAeBgkqhkiG9w0B
CQEWEXN1cHBvcnRAcGxlc2suY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
gQCdu0cjQwLuPs7CgCZB/0mvhJuflLN3wV+jM5By4W/ykZ2hkH22BnS2TWucvoqm
Zp3qGaebXwT76xG5AaXFLKUgAB8tV3q5jTGVujAa1YE/AnP5c+jJCVLVkYf3jFnz
jBftB9QWX7kq4RAwz7I3Iuyt6vdL+qbyiMb1mYf1Iy+oUwIDAQABo4HWMIHTMB0G
A1UdDgQWBBT2zaAoFZ5VmekJeHsaUbp9TVhYHzCBowYDVR0jBIGbMIGYgBT2zaAo
FZ5VmekJeHsaUbp9TVhYH6F9pHsweTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlZB
MRIwEAYDVQQHEwlDaGFudGlsbHkxEzARBgNVBAoTClBsZXNrIEluYy4xEjAQBgNV
BAMTCXBsZXNrLmNvbTEgMB4GCSqGSIb3DQEJARYRc3VwcG9ydEBwbGVzay5jb22C
AQAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAmHfypVB/5muH/sF0B
gAOH9MBe35xvu+JaYBucuCPZz2VTeVpg/6pdLavlXVE7LHPjDm8gM31vzeFvY5/J
Z54BcyQ0HIluPG2MMF2+BBYPEJ0ubl9BK/XHaNk2ff1FhbJPBbWjnwqR1sUyuVij
3Z2oznbWvsE7cpdYJJBYOw1c7Q==
-----END CERTIFICATE-----
3 Restart HTTPD using the service pemhttpd restart command,
4 Validate that SSL Certificate is replaced successfully: open https://SSL_PROXY_HOSTNAME URL in IE and check that new SSL Certificate is
used.
Installing phpMyAdmin Service
phpMyAdmin is a popular, powerful web-based interface for administering MySQL databases. It is open source, written in PHP, and is among the better tools available for working with MySQL databases.
After installing it, you can include it in your hosting plan and provide your customers with the access to their databases via phpMyAdmin.
System Requirements for phpMyAdmin Servers
Server Names PHPMYADM
Description phpMyAdmin Server This server hosts the application for web-based databases management: phpMyAdmin.
Density Up to 10,000 customers per server depending on activity.
Quantity To be calculated based on the projected customer base and the density above. * Can be deployed as a VPS on one of the Multi-Purpose servers - see below
OS RHES 4 (x86)
CentOS 4 (x86)
RHEL 5 (x64)
CentOS 5 (x64)
Deploying Apache Web Hosting 53
Software To be installed by the Customer:
OS only
Supported Virtualization
Parallels Virtuozzo Containers (PVC) 4.0 for Linux
CPU 2 core (3GHz or higher)
RAM 2GB
Disks Array 1:
OS and software - 2 x 80GB SATA, RAID1 (soft impl.)
Disk Partitioning Array 1:
/ 4GB - for OS
2 x RAM size (4GB) - swap
/usr - remaining space - for software
NICs FrontNet, BackNet
Installation Requirements
System-wide Requirements
Management Node MySQL (SC)
UI Node(s) none
Host-wide Requirements
Physical Servers Scenario Virtual Servers Scenario
Internal IP yes RPMs none
External IP yes Service package First install the "phpMyAdmin_skin_<SKIN name> (other)" package (if necessary), then "phpMyAdmin (other)" (point out skin if necessary, package property: theme.default).
54 Parallels Operations Automation 5.0 Parallels
RPMs mod_cband
mod_init_crypto
mod_limitipconn
pem-suexec
perl-BerkeleyDB
php4
php4-curl
php4-domxml
php4-gd
php4-imap
php4-ldap
php4-mbstring
php4-mcrypt
php4-mhash
php4-mysql
php4-ncurses
php4-odbc
php4-pear
php4-pear-HTTP-Request
php4-pgsql
php4-snmp
php4-xmlrpc
libc-client
libmcrypt
libmhash
webalizer
gd
db4
MySQL4-client
MySQL-shared-compat
MySQL-python
mx
perl-DBD-MySQL
perl-DBD-Pg
postgresql-libs
mod_ssl
httpd
perl
curl
php5-cgi
Application Templates For RHEL 5 and CentOS 5:
.pa-apache-httpd
.pa-php
.pa-mysql-client
.pa-pgsql-client
.pa-pleskd
.pa-webalizer
.mod_ssl
.pa-php5-cgi
For RHES 4 and CentOS 4:
vzpem-apache-httpd
vzpem-php
vzpem-mysql-client
vzpem-pgsql-client
vzpem-pleskd
vzpem-webalizer
mod_ssl
vzpem-php5-cgi
Deploying Apache Web Hosting 55
Service package First install the "phpMyAdmin_skin_<SKIN name> (other)" package (if necessary), then "phpMyAdmin (other)" (point out skin if necessary, package property: theme.default).
IP pools internal, external
Installing phpPgAdmin Service
phpPgAdmin is a web-based application for managing PostgreSQL databases.
System Requirements for phpPgAdmin Servers
Server Names PHPPGADM
Description phpPgAdmin Server This server hosts the application for web-based databases management: phpPgAdmin.
Density Up to 10,000 customers per server depending on activity.
Quantity To be calculated based on the projected customer base and the density above. * Can be deployed as a VPS on one of the Multi-Purpose servers - see below
OS RHES 4 (x86)
CentOS 4 (x86)
RHEL 5 (x64)
CentOS 5 (x64)
Software To be installed by the Customer:
OS only
Supported Virtualization
Parallels Virtuozzo Containers (PVC) 4.0 for Linux
CPU 2 core (3GHz or higher)
RAM 2GB
Disks Array 1:
OS and software - 2 x 80GB SATA, RAID1 (soft impl.)
Disk Partitioning Array 1:
56 Parallels Operations Automation 5.0 Parallels
/ 4GB - for OS
2 x RAM size (4GB) - swap
/usr - remaining space - for software
NICs FrontNet, BackNet
Note: You can deploy phpPgAdmin server as a VPS on one of the Multi-Purpose servers.
Installation Requirements
System-wide Requirements
Management Node PgSQL (SC)
UI Node(s) none
Host-wide Requirements
Physical Servers Scenario Virtual Servers Scenario
Internal IP yes RPMs none
External IP yes Service package First install the "phpPgAdmin_skin_<SKIN name> (other)" package (if necessary), then "phpPgAdmin (other)" (point out skin if necessary, package property: theme.default).
Deploying Apache Web Hosting 57
RPMs mod_cband
mod_init_crypto
mod_limitipconn
pem-suexec
perl-BerkeleyDB
php4
php4-curl
php4-domxml
php4-gd
php4-imap
php4-ldap
php4-mbstring
php4-mcrypt
php4-mhash
php4-mysql
php4-ncurses
php4-odbc
php4-pear
php4-pear-HTTP-Request
php4-pgsql
php4-snmp
php4-xmlrpc
libc-client
libmcrypt
libmhash
webalizer
gd
db4
MySQL4-client
MySQL-shared-compat
MySQL-python
mx
perl-DBD-MySQL
perl-DBD-Pg
postgresql-libs
mod_ssl
httpd
perl
curl
php5-cgi
Application Templates For RHEL 5 and CentOS 5:
.pa-apache-httpd
.pa-php
.pa-mysql-client
.pa-pgsql-client
.pa-pleskd
.pa-webalizer
.mod_ssl
.pa-php5-cgi
For RHES 4 and CentOS 4:
vzpem-apache-httpd
vzpem-php
vzpem-mysql-client
vzpem-pgsql-client
vzpem-pleskd
vzpem-webalizer
mod_ssl
vzpem-php5-cgi
58 Parallels Operations Automation 5.0 Parallels
Service package First install the "phpPgAdmin_skin_<SKIN name> (other)" package (if necessary), then "phpPgAdmin (other)" (point out skin if necessary, package property: theme.default).
IP pools internal, external
Installing CM4all WebsiteCreator Service
CM4all WebsiteCreator is a comprehensive tool for building up, maintaining and upgrading a fully functional website in record short terms. You can buy this tool from CM4all, and install the tool on one of your servers. Then you are free to use POA for providing WebsiteCreator to your Customers. For more detailed information about CM4all WebsiteCreator, please visit the http://www.cm4all.com website.
Deploying WebsiteCreator Service
1 Buy CM4All WebsiteCreator. Obtain the CM4all WebsiteCreator license.
2 Prepare a computer to be used as WebsiteCreator server. For the system requirements of the server, refer to the installation instructions of the specific WebsiteCreator version.
3 Install CM4All WebsiteCreator on the server according to the CM4All instructions.
4 Install the CM4All (type: sc) package on the Management Node.
5 Install the cm4all (type: cp) package on the UI servers.
Deploying Apache Web Hosting 59
Registering WebsiteCreator Server in POA
To provide your POA Customers with WebsiteCreator functionality, you need to register your WebsiteCreator server in POA:
1 In POA Control Panel, go to Top > Service Director > Shared Hosting Manager > WsC Servers.
2 Click on the Add New Server button.
3 Fill out the following fields:
Server Address for Web Access - specify the URL that your Customers will use to access WebsiteCreator via Internet browser.
Server Address for API Calls - specify the IP address that your POA will use to call the WebsiteCreator API methods. Normally, this address is on the internal network as it is used only by the system.
Client ID - this ID is obtained from the WebsiteCreator license.
Product ID - this ID is obtained from the WebsiteCreator license.
Description - these fields may contain any information that you find suitable.
4 Click on the Submit button.
The WsC Servers screen reopens with the just registered WebsiteCreator server in the list. Wait until the server status is Ready.
Providing WebsiteCreator Resource
Perform the following steps to provide WebsiteCreator resource to your Customers:
1 Create the WebsiteCreator-related Resource Type:
a In POA Control Panel, go to Top > Service Director > Provisioning Manager > Resource Types.
b Click on the Add New Resource Type button.
c In the list of Resource Classes, click CM4All Website Creator.
d Specify the Resource Type Name and Description. Click Next to continue.
e Select the required Product ID.
f Click on the Finish button.
2 Include the Resource Type into the Apache Web Hosting Service Template.
60 Parallels Operations Automation 5.0 Parallels
Installing osCommerce (Separate)
osCommerce makes it easy to build profitable Web-based storefronts. It helps you manage product catalogs, prices, customer accounts, orders and shipping. Your storefront can even offer bestseller lists, customer product reviews and product recommendations. osCommerce is an open source software.
System Requirements for osCommerce Server
Server Names LINOSCOM
Description osCommerce Server on Linux. It hosts online stores.
Density 1000 online stores
Quantity To be calculated based on the projected customer base and the density above
OS RHES 4 (x86)
CentOS 4 (x86)
RHEL 5 (x64)
CentOS 5 (x64)
Software To be installed by the Customer:
OS only
Supported Virtualization
Parallels Virtuozzo Containers (PVC) 4.0 for Linux
CPU 2 core (3GHz or higher)
RAM 4GB
Disks Array 1:
OS and software - 3 x 146 GB, SCSI, RAID 5 (hardware impl.)
Disk Partitioning Array 1:
/ 4GB - for OS
2 x RAM size (8GB) - swap
/usr - remaining space - for software and customers' online stores
NICs FrontNet, BackNet
Deploying Apache Web Hosting 61
Installation Requirements
System-wide Requirements
Management Node osCommerce (SC)
UI Node(s) separate_oscomm (CP)
Host-wide Requirements (Physical Servers Scenario)
Internal IP yes
External IP yes
62 Parallels Operations Automation 5.0 Parallels
RPMs mod_cband
mod_init_crypto
mod_limitipconn
pem-suexec
perl-BerkeleyDB
php4
php4-curl
php4-domxml
php4-gd
php4-imap
php4-ldap
php4-mbstring
php4-mcrypt
php4-mhash
php4-mysql
php4-ncurses
php4-odbc
php4-pear
php4-pear-HTTP-Request
php4-pgsql
php4-snmp
php4-xmlrpc
libc-client
libmcrypt
libmhash
webalizer
gd
db4
MySQL4-client
MySQL-shared-compat
MySQL-python
mx
perl-DBD-MySQL
perl-DBD-Pg
postgresql-libs
mod_ssl
httpd
perl
curl
oscommerce
php5-cgi
Deploying Apache Web Hosting 63
Service package osCommerce (service)
Host-wide Requirements (Virtual Servers Scenario)
RPMs none
Service package osCommerce (service)
Application Templates For RHEL 5 and CentOS 5:
.pa-pleskd
.pa-webalizer
.pa-apache-httpd
.pa-oscommerce
.pa-php
.pa-pgsql-client
.pa-mysql-client
.pa-php5-cgi
.mod_ssl
For RHES 4 and CentOS 4:
vzpem-pleskd
vzpem-webalizer
vzpem-apache-httpd
vzpem-oscommerce
vzpem-php
vzpem-pgsql-client
vzpem-mysql-client
mod_ssl
vzpem-php5-cgi
IP pools external, internal
64 Parallels Operations Automation 5.0 Parallels
Installing Urchin Service
Urchin is a server-resident, HTML-based, website visitor reporting system. Urchin is one of the most accurate, robust, reliable and detailed traffic reporting packages on the market. One Urchin server can run 5,000-10,000 websites.
System Requirements for Urchin Server
Disk space should be planned as following:
Size of processed log data is about 10% of raw log data size.
Size of archived log data is about 15% of processed log data size.
Assuming log archiving after 1 months and 1 year logs retention period ~80GB of disk space is required for logs databases.
Assuming log archiving after 3 months and 1 year logs retention period~150GB of disk space is required for logs databases.
Note: Archived logs take less disk space bug produce higher load when generating reports
for archived period.
For Urchin Statistics Server, you need a computer that meets the following requirements:
Server Names URCHIN
Description Urchin Web Statistics Server. This server hosts Urchin web-statistics application. Can be installed inside of the Virtuozzo VPS.
Density Up to 5,000 website profiles
Quantity To be calculated based on the projected customer base and the density above.
OS RHES 4 (x86)
CentOS 4 (x86)
RHEL 5 (x86)
CentOS 5 (x86)
Software To be installed by the Customer:
OS only
Supported Virtualization
Parallels Virtuozzo Containers (PVC) 4.0 for Linux
CPU 2 core (3GHz or higher)
RAM 2GB
Disks Array 1:
Deploying Apache Web Hosting 65
OS and software - 5 x 72GB, SCSI, RAID 5 (hardware impl.)
Disk Partitioning Array 1:
/ 5GB - for OS
2 x RAM size (4GB) - swap
/usr - remaining space - for software and Urchin data
NICs FrontNet, BackNet
Note: Urchin Statistics Server can be installed inside a VPS.
Installation Requirements
System-wide Requirements
Management Node urchin (SC)
UI Node(s) urchin (CP)
Host-wide Requirements (Physical Servers Scenario)
Internal IP yes
External IP yes
RPMs perl
proftpd
webalizer
gd
Service package urchin (service)
Host-wide Requirements (Virtual Servers Scenario)
RPMs perl
Service package urchin (service)
Application Templates vzpem-pleskd
vzpem-webalizer
vzpem-proftpd
IP pools external, internal
66 Parallels Operations Automation 5.0 Parallels
During urchin (type: service) package installation, you will have to provide Urchin serial key
obtained at software vendor.
After the installation completes, you can configure additional parameters of the Urchin Application.
1 Click on the hostname where the Urchin service is installed and move to the Applications tab.
2 Click on the urchin name and move to the Configuration tab. Here you can configure the limits for the following parameters:
Logs processing frequency (from Never to Monthly) - the time interval at which Urchin accesses server's log file data to collect information for generating reports. For example, if the Update frequency is set as Hourly, the reports will not contain the
server's log data that appeared within an hour from the time of the last update.
Keep Statistics for - the number of months you would like for the data collected by Urchin to be stored on the server.
Archive statistics after - the number of months you would like for the data collected by
Urchin to be archived on the server.
Installing Backup Service
The purpose of Customer Backup Service is to provide your customers with the possibility
to make copies of their domains and restore them in case of some hardware failure or corruption of data due to malicious attacks.
As against to a Customer Backup Service that gives the possibility to save and restore only customers' webspaces, VPS Backup Service allows to create backups for the entire
VPSs, no matter customers' or system ones.
System Requirements for Backup Servers
The Backup server stores backups of customers' data. The total storage capacity of backup server should be equal to or greater than the total size of customers‘ data to be backed up.
The same server configuration can be used for backing up the full VPSs: customers' or system.
You need one Backup server for your system. The server is installed on a computer that meets the following requirements:
Server Names LINCUSTBACKUP
Description Customer Backup Server on Linux. This server stores the customer backups.
Deploying Apache Web Hosting 67
Density Depends on the disk space.
Quantity To be calculated based on the projected customer base and the density above.
OS RHES 4 (x86)
CentOS 4 (x86)
RHEL 5 (x86 or x64)
CentOS 5 (x86 or x64)
Software To be installed by customer:
OS only
Supported Virtualization
Parallels Virtuozzo Containers (PVC) 4.0 for Linux
CPU 1 core (2GHz or higher)
RAM 512MB
Disks Array 1:
OS, software, and data - 2 x 300GB, SATA RAID1
Disk Partitioning Array 1:
/ - 5GB - for OS
2 x RAM size (1GB) - swap
/custbackups - remaining space - for customers‘ data
NICs BackNet
If you plan to have a Backup server for saving the entire VPSs, the HDD capacity must be bigger, since VPSs occupy more space. In this case, everything depends on the size of your VPSs, your hosting plans, etc.
Installation Requirements for Customer Backup Service
System-wide Requirements
Management Node BackupManager (SC)
UI Node(s) backup (cp)
Host-wide Requirements
Physical Servers Scenario Virtual Servers Scenario
Internal IP yes RPMs none
External IP no Service package None. The host is just added to POA.
68 Parallels Operations Automation 5.0 Parallels
RPMs none Application Templates vzpem-pleskd
Service package None. The host is just added to POA.
IP pools internal
Configuring Customer Backup Server
To configure Customer Backup Server, perform the following steps:
1 Create the custbackups Provisioning Attribute following the instructions of the Creating Attributes section (on page 123).
2 Add the custbackups Provisioning Attribute to the Customer Backup Server following the instructions of the Adding Attribute to Host section (on page 129).
3 Mark the host as Ready To Provide following the instructions of the Marking Host as
"Ready To Provide" section (on page 136).
Installation Requirements for VPS Backup Service
System-wide Requirements
Management Node VPSManager (SC)
UI Node(s) virtuozzo (cp)
Host-wide Requirements
Virtual Servers Scenario
RPMs none
Service package None. The host is just added to POA.
Application Templates none
IP pools internal
Deploying Apache Web Hosting 69
Adding Account Information Into Header of E-mail Sent From Web Server
For the anti-spam purpose, POA users have at their disposal a powerful solution that lies in the following: mail messages sent from web servers are marked with a special header line containing information corresponding only to the originating webspace. The sender ID is written into the message header with the Sender-ID title.
For example:
Sender-ID: c2
where c2 is the system user name of the corresponding webspace.
This line is added to the top of the message. So, when the message contains more then one Sender-ID headers, only the top one is valid, others are probably added by a malicious
sender.
To enable the feature, you need to deploy its Server part and its Client part.
Deploying Mail Sender ID Server
Mail Sender ID Server must meet the following hardware and software requirements:
Server Names MAILSID
Description Mail Sender ID Server
Density
Quantity 1
OS RHES 4 (x86)
CentOS 4 (x86)
Software To be installed by the Customer:
OS only
Supported Virtualization
Parallels Virtuozzo Containers (PVC) 4.0 for Linux
CPU 1 core (2GHz or higher)
RAM 512MB
Disks Array 1:
OS, software, and data - 40 GB, SATA
Disk Partitioning Array 1:
70 Parallels Operations Automation 5.0 Parallels
2 x RAM size (1GB) - swap
/ - remaining space - for OS and software
NICs BackNet, FrontNet
Deploying Apache Web Hosting 71
To install the Server part, follow these steps:
1 Prepare a Mail Server that will be used as Mail Sender ID Server. For Mail Sender ID Server, you can use a dedicated Mail Server or a server used for some other purposes, e.g. for shared mail hosting. You can use a physical host or a VPS with standard
sendmail, or POA clustered-qmail server.
Notes:
1. Mail Sender ID Server host needs to have an IP Address from the BackNet network.
2. Mail Sender ID Server host should be registered in POA.
2 Make sure the mail server is reachable from POA web servers with SSH. Make sure you can send mail from it:
# /usr/sbin/sendmail [email protected] -t << EOF
To: _your_email_address_here_
Subject: Test message
Test message body
EOF
Note: Don't forget to substitute _your_email_address_here_ in the
example above.
3 Install version 0.3 or higher of MailSenderIdServer RPM package on mail server:
# rpm -ihv /tmp/mail-sender-id-server-0.1-0.parallels.i386.rpm
During the installation, the following operations are automatically performed:
a A server system user is added.
b The program /usr/bin/sendmail-proxy is installed. Clients login and run this
program under sendmail-proxy system user, in home directory /etc/sendmail-
proxy/, standard shell.
c Two configuration files (containing only comment lines explaining their purpose) are created:
/etc/sendmail-proxy/.ssh/authorized_keys. This file is to store public
keys of clients that are allowed to send mail through the server.
/etc/sendmail-proxy/blacklist. This file is to list users (one user per line)
which are not allowed to send mail from their web spaces.
4 Install MailSenderID Service Controller on the Management Node. Specify the following package properties:
Server host ID - ID of the host where the Mail Sender ID Server is installed
Note: To obtain the ID of the host, go to Top > Service Director > Virtuozzo Manager >
VPSs (if the Mail Sender ID Server is installed on VPS) or Top > Deployment Director > Server Manager > Hardware Nodes (if the Mail Sender ID Server is installed on Hardware Node).
Server address - BackNet IP Address of the host where the Mail Sender ID Server is installed
72 Parallels Operations Automation 5.0 Parallels
To obtain the instructions on how to install POA Packages, refer to the Installing PPM Packages section (on page 109).
Deploying Client Part
Clients are installed on POA Apache web servers with disabled PHP exec().
To install the Client part, follow these steps:
1 Make sure SMTP (TCP/25) connections from the web server are disabled with firewall. For this purpose, perform the following commands on the webspace node:
# iptables -A INPUT -p TCP --dport 25 -j DROP
# iptables -A OUTPUT -p TCP --dport 25 -j DROP
2 Install the newest version of the MailSenderID-Client (type: service) PPM package. To obtain the instructions on how to install POA Packages, refer to the Installing PPM Packages section (on page 109).
Deploying Apache Web Hosting 73
Installing Web Statistics Processor Server
This section describes on how to install and configure the Web Statistics Processor Server.
Description
Web Statistics Processor Server is responsible for aggregating the web statistics from the log files of Apache Web Servers and representing the web statistics in the following XML format:
<?xml version="1.0" encoding = "UTF-8" ?>
<Websites>
<Website>
<SiteName>www.website01.acom</SiteName>
<SubscriptionID>1000001</SubscriptionID>
<WebspaceID>100001</WebspaceID>
<VisitsTotal>1</VisitsTotal>
<VisitsUnique>1</VisitsUnique>
</Website>
<Website>
<SiteName>www.website02.acom</SiteName>
<SubscriptionID>1000002</SubscriptionID>
<WebspaceID>100002</WebspaceID>
<VisitsTotal>1</VisitsTotal>
<VisitsUnique>1</VisitsUnique>
</Website>
<Website>
<SiteName>www.website03.acom</SiteName>
<SubscriptionID>1000003</SubscriptionID>
<WebspaceID>100003</WebspaceID>
<VisitsTotal>1</VisitsTotal>
<VisitsUnique>1</VisitsUnique>
</Website>
</Websites>
where:
Websites section - It contains the web statistics for Websites.
Website section - It contains the web statistics for the Website.
SiteName section - Name of the Website.
SubscriptionID section - ID of Subscription under which the Website is provisioned.
WebspaceID section - ID of Webspace where the Website is located.
VisitsTotal section - Total number of HTTP requests to Website's pages for a time
period (day/week/month).
VisitsUnique section - Total number of unique hosts which requested the pages of
Website for time period (day/week/month).
74 Parallels Operations Automation 5.0 Parallels
The Web Statistics Processor Server generates the web statistics for the following time periods: Day, Week, and Month. This web statistics is placed into the following files:
daily-total-YYYYMMDD.xml
daily-unique-YYYYMMDD.xml
weekly-total-YYYYMMDD-DD.xml
weekly-uniq-YYYYMMDD-DD.xml
monthly-total-YYYYMM.xml
monthly-uniq-YYYYMM.xml
where YYYY/MM/DD is a year/month/day.
Note: Files having the total string in the name contain the web statistics ordered by total visits number. Files having the unique string in the name contain the web statistics ordered
by unique visits number.
The web statistics is generated at 2.00 AM every 24 hours. The files with web statistics are
available at the following URL: http://<Web Statistics Processor Server
BackNet IP Address>:1403.
Note: Port 1403 is used by default. It can be customized during the WebStatProcessor (type: service) POA Package installation.
When the Web Statistics Processor Server is installed, the web statistics for new Apache Webspaces is collected and processed. To enable the collecting and processing of web statistics for existing Apache Webspaces, use the pem.apache.turnWebStatProcessingOn POA
Public API method.
Note: To obtain the detailed information on the pem.apache.turnWebStatProcessingOn POA Public API method, refer to POA Public API Reference.
The Web Statistics Processor Server writes the error messages in error.xml file (for
example, error appears in case of incorrect format of Apache Webspace log file). The file
is placed in /usr/local/pem/webstatpro/stats directory.
This file is regenerated each run of the Web Statistics Processor Server when errors appear. Otherwise the file is automatically removed.
Format of the file is the following:
<Errors>
<Error time="Date and time of error" type="critical (processing
of web statistics can be continued) | fatal (processing of web statistics
cannot be continued)">
<Operation>Operation which causes error</Operation>
<Description>Error description</Description>
</Error>
</Errors>
Deploying Apache Web Hosting 75
Note: error.xml file is intended to notify that errors appear during the processing of web
statistics. To obtain the detailed information on error, see the Web Statistics Processor
Server log file (/usr/local/pem/webstatpro/logs/webstatpro.log).
Hardware Requirements for Web Statistics Processor Server
Host for Web Statistics Processor Server should meet the following hardware requirements:
Server Names LINWSP
Description Web Statistics Processor Server on Linux. It processes Apache WebSites‘ log files and outputs the results in the XML format.
Density
Quantity 1
OS RHES 4 (x86)
CentOS 4 (x86)
RHEL 5 (x64)
CentOS 5 (x64)
Software To be installed by the Customer:
OS only
Supported Virtualization
Parallels Virtuozzo Containers (PVC) 4.0 for Linux
CPU 2 core (3GHz or higher)
RAM 4GB
Disks Array 1:
OS and software - 3 x 146 GB, SCSI, RAID 5 (hardware impl.)
Disk Partitioning Array 1:
/ 4GB - for OS
2 x RAM size (8GB) - swap
/usr - remaining space - for software and data
NICs BackNet
76 Parallels Operations Automation 5.0 Parallels
Installation Requirements for Web Statistics Processor Server
This section provides the installation requirements for Web Statistics Processor Server.
VPS Scenario
The following PVC Templates should be installed on Web Statistics Processor Server:
Apache 2.0 on RHES4/CentOS4
vzpem-apache-httpd
vzpem-php
vzpem-pleskd
vzpem-webalizer
vzpem-mysql-client
vzpem-pgsql-client
mod_ssl
vzpem-proftpd
vzpem-php5-cgi
Apache 2.2 on RHES4/CentOS4
To deploy Apache 2.2 on a VPS running RHES 4 or CentOS 4, it is necessary to use the
OS template and the mod_ssl application template versions 20090117-1.0-1 or later.
The required templates are available for downloading at the following URLs:
RHES 4
http://download.pa.parallels.com/download/templates/pvclin/redhat-as4-template-20090117-1.0-1.i386.rpm
http://download.pa.parallels.com/download/templates/pvclin/mod_ssl-as4-template-20090117-1.0-1.i386.rpm
CentOS 4
http://download.pa.parallels.com/download/templates/pvclin/centos-4-template-20090117-1.0-1.i386.rpm
http://download.pa.parallels.com/download/templates/pvclin/mod_ssl-ce4-template-20090117-1.0-1.i386.rpm
Note: All previous versions of the OS template and the mod_ssl application template
should also be imported to POA.
vzpem-apache-httpd22x
vzpem-php-httpd22x
vzpem-pleskd
vzpem-webalizer
Deploying Apache Web Hosting 77
vzpem-mysql-client
vzpem-pgsql-client
mod_ssl (version 20090117-1.0-1 or later)
vzpem-proftpd
vzpem-php5-cgi-httpd22x
Apache 2.2 on RHEL5/CentOS5
.pa-apache-httpd
.pa-php
.pa-pleskd
.pa-webalizer
.pa-mysql-client
.pa-pgsql-client
.mod_ssl
.pa-proftpd
.pa-php5-cgi
78 Parallels Operations Automation 5.0 Parallels
Hardware Node Scenario
The following RPMs should be installed on Web Statistics Processor Server:
Apache 2.0 on RHES4/CentOS4 and Apache 2.2 on RHEL5/CentOS5
mod_cband
mod_init_crypto
mod_limitipconn
pem-suexec
perl-BerkeleyDB
php4
php4-curl
php4-domxml
php4-gd
php4-imap
php4-ldap
php4-mbstring
php4-mcrypt
php4-mhash
php4-mysql
php4-ncurses
php4-odbc
php4-pear
php4-pear-HTTP-Request
php4-pgsql
php4-snmp
php4-xmlrpc
libc-client
libmcrypt
libmhash
webalizer
gd
db4
MySQL4-client
MySQL-shared-compat
MySQL-python
mx
perl-DBD-MySQL
Deploying Apache Web Hosting 79
perl-DBD-Pg
postgresql-libs
mod_ssl
proftpd
php5-cgi
httpd
vixie-cron
perl
curl
Apache 2.2 on RHES4/CentOS4
apr (version 1.2.8-1 or later)
apr-util (version 1.2.8-1 or later)
httpd (version 2.2.11-1 or later)
httpd-manual (version 2.2.11-1 or later)
mod_ssl (version 2.2.11-1 or later)
openssl (version 0.9.8b-8 or later)
openssl-perl (version 0.9.8b-8 or later)
openssl097a (version 0.9.7a-9 or later)
pcre (version 6.6-1 or later)
mod_cband-httpd22x
mod_init_crypto-httpd22x
mod_limitipconn-httpd22x
mod_mono-httpd22x
php4-httpd22x
php4-httpd22x-curl
php4-httpd22x-domxml
php4-httpd22x-gd
php4-httpd22x-imap
php4-httpd22x-ldap
php4-httpd22x-mbstring
php4-httpd22x-mcrypt
php4-httpd22x-mhash
php4-httpd22x-mysql
php4-httpd22x-ncurses
php4-httpd22x-odbc
php4-httpd22x-pear
php4-httpd22x-pgsql
80 Parallels Operations Automation 5.0 Parallels
php4-httpd22x-snmp
php4-httpd22x-xmlrpc
php5-cgi-httpd22x
perl-BerkeleyDB
php4-pear-HTTP-Request
libc-client
libmcrypt
libmhash
webalizer
gd
db4
MySQL4-client
MySQL-shared-compat
MySQL-python
mx
perl-DBD-MySQL
perl-DBD-Pg
postgresql-libs
proftpd
vixie-cron
perl
curl
Note: If the required versions of the packages above are unavailable, contact your
Parallels representative for instructions on obtaining newer versions of these packages.
Installing POA Packages
Install the WebStatProcessor (type: sc) POA Package on the Management Node.
Install the WebStatProcessor (type: service) POA Package on the Web Statistics Processor
Server. The package has the following editable properties:
Root path for WebStatProcessor tool (webstatpro.root.path). Default value is
/usr/local/pem/webstatpro.
FTP port used for uploading log files (webstatpro.log_uploading_ftp.port). Default value is 1401.
HTTP port for downloading ready web statistics (webstatpro.web_statistics.http.port). Default value is 1403.
You can set the custom values of the parameters.
Deploying Apache Web Hosting 81
Note: It is recommended to use the default values of the WebStatProcessor (type: service)
POA Package parameters.
To obtain the instructions on how to install POA Packages, refer to the Installing PPM Packages section (on page 109).
Configuring Web Statistics Processor Server
This section describes on how to configure the Web Statistics Processor Server.
Configuring Web Statistics Retention Policy
The retention policy defines how long the web statistics in XML format are kept on the Web Statistics Processor Server. There is the following default retention policy:
Daily web statistics is kept for the last 90 days.
Weekly web statistics is kept for the last 365 days.
Monthly web statistics is kept for the unlimited number of days.
To customize the retention policy, perform the following steps:
1 Log on to the Web Statistics Processor Server via SSH as root user.
2 Edit /usr/local/pem/webstatpro/conf/webstatpro.conf file.
3 Customize the values of the following parameters:
DAILY_RETENTION
WEEKLY_RETENTION
MONTHLY_RETENTION
Note: The unit of measure is a day. Specify 0 if you wish to keep the web statistics
unlimited period of time.
4 Save the file. The changes will be applied at the next run of Web Statistics Processing Server.
82 Parallels Operations Automation 5.0 Parallels
Configuring Excluded File Extensions List
The Web Statistics Processor Server does not collect and process the web statistic for the files, which extensions are defined in /usr/local/pem/webstatpro/conf/ext.list
file. The default list of extensions is the following:
mng
pct
bmp
gif
jpeg
jpg
png
psd
psp
thm
tif
3dm
3dmf
aac
aif
iff
m3u
m4a
mid
midi
mp3
mpa
ra
ram
wav
wma
3g2
3gp
asf
asx
avi
flv
mkv
Deploying Apache Web Hosting 83
mov
mp4
mpg
qt
rm
swf
vob
wmv
To customize the list perform the following actions:
1 Log on to the Web Statistics Processor Server via SSH as root user.
2 Edit /usr/local/pem/webstatpro/conf/ext.list file.
3 Add/remove the required extensions.
4 Save the file. The changes will be applied at the next run of Web Statistics Processing Server.
Configuring Log Rotation
Web Statistics Processor Server writes log messages to
/usr/local/pem/webstatpro/logs/webstatpro.log file. The log file is
automatically rotated on the basis of its size. The rotated log files are stored in
/usr/local/pem/webstatpro/logs/ directory.
You can customize the log rotation setting using the following instructions:
1 Log on to Web Statistics Processor Server via SSH as root user.
2 Edit /usr/local/pem/webstatpro/conf/log.conf file.
3 Set the required log rotation settings in the following line:
args=("/usr/local/pem/webstatpro/logs/webstatpro.log", 'a',
SIZE, COUNT)
Log file is rotated when it grows bigger then SIZE bytes. Default value is 100000000 bytes (~100 MB).
Log files are rotated COUNT times before being removed. Default value is 10.
For example:
args=("/usr/local/pem/webstatpro/logs/webstatpro.log", 'a',
200000000, 20)
4 Save the file. The changes will be applied at the next run of Web Statistics Processing Server.
84 Parallels Operations Automation 5.0 Parallels
Uninstalling Web Statistics Processor Server
To uninstall the Web Statistics Processor Server, perform the following actions:
1 Turn off the processing of web statistics by Web Statistics Processor Server for all Apache Services. Use the pem.apache.turnWebStatProcessingOff POA Public API method
to accomplish this task.
Note: To obtain the detailed information on the pem.apache.turnWebStatProcessingOff POA Public API method, refer to POA Public API Reference.
2 Uninstall the WebStatProcessor (type: service) POA Package from Web Statistics Processor Server.
3 Uninstall the WebStatProcessor (type: sc) POA Package from Management Node.
In This Chapter
Installing MySQL Service .................................................................................. 85 Upgrading MySQL4 Database Servers to MySQL5 ........................................... 91 Installing PostgreSQL Service ........................................................................... 97
Installing MySQL Service
MySQL is a fast, reliable and easy-to-use database server that ideally suits for working with dynamic content. It is widely used for storing information and generating dynamic web-pages. Nowadays, more and more providers include MySQL database in their hosting plans, since the majority of different web-catalogues, libraries, e-shops with plenty of items use databases.
You are able to deploy MySQL 4 and MySQL 5 database servers.
Installing MySQL 4
This section contains information necessary for deploying MySQL 4.
System Requirements for MySQL 4 Database Servers
The MySQL4 Database Server must meet the following requirements:
Server Names MYSQL
Description MySQL Database Server. These servers carry the customer MySQL databases.
Density 5,000 customer databases. Server is split into 5 VPS, each carries up to 1,000 databases.
Quantity To be calculated based on the projected customer base and the density above
OS RHES 4 (x86)
CentOS 4 (x86)
RHEL 5 (x64)
CentOS 5 (x64)
C H A P T E R 3
Deploying Linux-based Database Hosting
86 Parallels Operations Automation 5.0 Parallels
Software To be installed by the Customer:
OS only
Supported Virtualization
Parallels Virtuozzo Containers (PVC) 4.0 for Linux
CPU 2 core (3GHz or higher)
RAM 4GB
Disks Array 1:
OS, software, and data - 3 x 72GB, SCSI, RAID 5 (hardware impl.)
Disk Partitioning Array 1:
/ 4GB - for OS
2 x RAM size (8GB) - swap
/var - remaining space - for data
NICs BackNet, FrontNet (optional)
Installation Requirements for MySQL 4 Service
To install the MySQL 4 service, follow the instructions provided in the Installing Service on Linux-based Host section (on page 107) and use the data from the tables below.
System-wide Requirements
Management Node MySQL (SC)
UI Node(s) db_manager (CP)
Host-wide Requirements
Physical Servers Scenario Virtual Servers Scenario
Internal IP yes IP pools internal, external
Deploying Linux-based Database Hosting 87
External IP yes, if you want to let customers access their databases from public network.
Application Templates For RHEL 5 and CentOS 5:
.pa-pleskd
.pa-mysql-server
.pa-webalizer
.pa-mysql-client
For RHES 4 and CentOS 4:
vzpem-pleskd
vzpem-mysql-server
vzpem-webalizer
vzpem-mysql-client
RPMs MySQL4-Max
MySQL4-server
webalizer
gd
db4
MySQL4-client
MySQL-shared-compat
MySQL-python
mx
perl-DBD-MySQL
RPMs none
Service package MySQL (service) Service package dbve (other)
88 Parallels Operations Automation 5.0 Parallels
Notes on installation:
During the MySQL (type: service) POA package installation, provide the following
information:
Database friendly name - this name will be used for displaying the service in the object tree. The default value is "MySQL database".
Database name - database name used for connection. The default value is "mysql".
MySQL port - port number to listen for remote connections. The default value is "3306".
MySQL operator username (default: "root") and password.
Capacity - maximum amount of databases per server. The default value is "1000".
Root path - database location. The default value is "/usr/local/pem".
Initial state - whether the provisioned database will be in started or stopped state.
During the dbve (type: other) POA package installation, you will be asked to provide the
MySQL operator login and password.
Installing MySQL 5
This section contains information necessary for deploying MySQL 5.
System Requirements for MySQL 5 Database Servers
The MySQL 5 Database Server must meet the following requirements:
Server Names MYSQL
Description MySQL Database Server. These servers carry the customer MySQL databases.
Density 5,000 customer databases. Server is split into 5 VPS, each carries up to 1,000 databases.
Quantity To be calculated based on the projected customer base and the density above
OS RHES 4 (x86)
CentOS 4 (x86)
RHEL 5 (x64)
CentOS 5 (x64)
Software To be installed by the Customer:
OS only
Supported Virtualization
Parallels Virtuozzo Containers (PVC) 4.0 for Linux
Deploying Linux-based Database Hosting 89
CPU 2 core (3GHz or higher)
RAM 4GB
Disks Array 1:
OS, software, and data - 3 x 72GB, SCSI, RAID 5 (hardware impl.)
Disk Partitioning Array 1:
/ 4GB - for OS
2 x RAM size (8GB) - swap
/var - remaining space - for data
NICs BackNet, FrontNet (optional)
Installation Requirements for MySQL 5 Service
To install the MySQL 5 service, follow the instructions provided in the Installing Service on Linux-based Host section (on page 107) and use the data from the tables below.
System-wide Requirements
Management Node MySQL (SC)
UI Node(s) db_manager (CP)
Host-wide Requirements
Physical Servers Scenario Virtual Servers Scenario
Internal IP yes IP pools internal, external
External IP yes, if you want to let customers access their databases from public network.
RPMs none
90 Parallels Operations Automation 5.0 Parallels
RPMs MySQL-server-community
MySQL-client-community
MySQL-shared-compat
MySQL-python
mx
perl-DBD-MySQL
webalizer
gd
db4
Application Templates For RHEL 5 and CentOS 5:
.pa-pleskd
.pa-mysql5-server
.pa-webalizer
.pa-mysql5-client
For RHES 4 and CentOS 4:
vzpem-pleskd
vzpem-mysql5-server
vzpem-webalizer
vzpem-mysql5-client
Service package MySQL5 (service) Service package mysql5_dbve (other)
Notes on installation:
During the MySQL (type: service) POA package installation, provide the following
information:
Database friendly name - this name will be used for displaying the service in the object tree. The default value is "MySQL 5 database".
Database name - database name used for connection. The default value is "mysql".
MySQL port - port number to listen for remote connections. The default value is "3306".
MySQL operator username (default: "root") and password.
Capacity - maximum amount of databases per server. The default value is "1000".
Root path - database location. The default value is "/usr/local/pem".
Initial state - whether the provisioned database will be in started or stopped state.
During the mysql5_dbve (type: other) POA package installation, you will be asked to
provide the MySQL operator login and password.
All the RPMs presented in the Physical Servers Scenario table above must be available
either in the "/usr/local/pem/tmp/rpms" directory on the target Hardware Node,
or in the YUM native repository set up for the node. For more information on managing native repositories in Parallels Operations Automation, refer to the POA Provider's Guide ("Managing Packages" chapter, "Native Repository" section).
Deploying Linux-based Database Hosting 91
Upgrading MySQL4 Database Servers to MySQL5
You are able to upgrade MySQL4 servers to MySQL5.
This section lists all commands and provides detailed instructions that will help you to upgrade your MySQL4 servers to MySQL5 in Parallels Operations Automation.
Important! There are many incompatible changes made in MySQL5 that may affect your customers' applications during upgrade and, therefore, require your attention and appropriate actions. More information on this matter can be found at
http://dev.mysql.com/doc/refman/5.0/en/upgrading-from-4-1.html.
Viewing List of All MySQL4 Service Nodes
To view the list of all your MySQL4 Service Nodes (VPSs and Hardware Nodes registered in POA) that can be upgraged to MySQL5, perform the following steps:
1 Depending on the platform of your POA Management Node, log in to the:
Linux-based POA Management Node via SSH as root and go to the "/usr/local/pem/bin/" directory
or
Windows-based POA Management Node via RDP as administrator, open the
command prompt and go to the "C:\Program Files\SWsoft\PEM\bin"
directory.
2 Execute the following command:
MySQL_ctl upgradeToMySQL5 list
Example of the command output:
ID Hostname Type
34 mysql.somedomain.com VPS
65 mysql-fast.somedomain.com NODE
where:
ID – shows identifiers of the found MySQL4 Service Nodes.
Hostname – shows host names of the found MySQL4 Service Nodes.
Type – shows the type of the found MySQL4 Service Nodes: Hardware Node or VPS.
92 Parallels Operations Automation 5.0 Parallels
Checking MySQL Databases on Service Node
To check all MySQL databases on a Service Node (VPS or Hardware Node registered in POA) to be upgraded for compatibility with MySQL 5, perform the following steps:
1 Depending on the platform of your POA Management Node, log in to the:
Linux-based POA Management Node via SSH as root and go to the "/usr/local/pem/bin/" directory
or
Windows-based POA Management Node via RDP as administrator, open the command prompt and go to the "C:\Program Files\SWsoft\PEM\bin"
directory.
2 Execute the following command:
MySQL_ctl upgradeToMySQL5 check <host-id>
where <host-id> is the identifier of a Service Node where to perform the check. For
information about how to obtain identifiers of the Service Nodes, refer to the Viewing List of All MySQL4 Service Nodes section (on page 91).
Command example:
MySQL_ctl upgradeToMySQL5 check 65
Output can be long, so it is recommended to redirect it (both STDOUT and STDERR) to some file, for example, by using the following command:
MySQL_ctl upgradeToMySQL5 check 65 2> checking.log
Example of the command output:
Some databases have tables with RAID options,
RAID options are not supported by MySQL 5.
All RAID options would be removed during upgrade, tables' data would not
be affected.
Table
db4_1.table_1_raid
db4_1.table_2_raid
db4_1.table_3_raid
db4_1.table_4_raid
db4_2.table_1_raid
Some DECIMAL columns have values, which are not compatible with MySQL 5
implementation,
during upgrade definitions of such columns would be corrected (e.g. if
column type is
DECIMAL(3,1) but it has values greater than 99.9 its type would be
changed to DECIMAL(4,1)).
Also for DECIMAL(M,N) maximum M for MySQL 5 is 65, not 254. If it
possible definitions
of such columns would be corrected during upgrade
Deploying Linux-based Database Hosting 93
Database Table Column Type Current Max Value
Max Value according to MySQL 5
Upgrade possibility
db4_2 table_3_nnd decimal_col decimal(7,3) 99909.094000 9999.999000 Yes
db4_2 table_4 decimal_col decimal(7,3) 99938.940000 9999.999000 Yes
db4_2 table_4_d decimal_col decimal(252,3)
999072345… 999999999…
No
db4_3 table_2 column1 decimal(7,3) 99904.067000 9999.999000 Yes
The command prints all the incompatibilities found on the Service Node that can be manually fixed. Detailed information on the revealed incompatibilities (if any) can be found at http://dev.mysql.com/doc/refman/5.0/en/upgrading-from-4-1.html.
Important! Customer's data are not affected during the check, and there is no downtime for the server being checked. Upgrade should be performed only if no conflicts and incompatibilities were found during the check. Ignoring the conflicts may result in the
customer‘s data loss during upgrade.
Upgrading MySQL Database Server on Hardware Node
To upgrade a MySQL4 server on your Hardware Node registered in POA to MySQL5, perform the following steps:
1 Depending on the platform of your POA Management Node, log in to the:
Linux-based POA Management Node via SSH as root and go to the
"/usr/local/pem/bin/" directory
or
Windows-based POA Management Node via RDP as administrator, open the command prompt and go to the "C:\Program Files\SWsoft\PEM\bin"
directory.
2 Execute the following command:
MySQL_ctl upgradeToMySQL5 upgradeNode <host-id> [tmp-path]
where:
<host-id> – identifier of a Hardware Node where to perform the upgrade.
[tmp-path] – optional parameter, directory on the target node where all temporary
data are stored (default path is "/usr/local/pem/tmp"). There must be enough
diskspace in the [tmp-path] directory to store databases dump as all databases
are dumped during upgrade.
94 Parallels Operations Automation 5.0 Parallels
Command example:
MySQL_ctl upgradeToMySQL5 upgradeNode 65 /usr/local/pem/tmp
The command can be used only for upgrading MySQL servers on Hardware Nodes. For instructions on upgrading MySQL servers on VPSs, refer to the Upgrading MySQL Database Server on VPS section (on page 94).
Upgrading MySQL Database Server on VPS
The process of upgrading MySQL server on a VPS includes two stages:
Preparation stage. During this stage the old MySQL4 application templates are removed
from the target VPS and the new MySQL5 templates are installed instead.
Completion stage. During this stage it is checked if all required application templates are
installed on the target VPS. If yes, the upgrade procedure gets finished.
This section provides detailed instructions on upgrading MySQL server hosted on VPS.
Deploying Linux-based Database Hosting 95
Starting Upgrade
To initiate the upgrade of your MySQL server, perform the following steps:
1 Depending on the platform of your POA Management Node, log in to the:
Linux-based POA Management Node via SSH as root and go to the "/usr/local/pem/bin/" directory
or
Windows-based POA Management Node via RDP as administrator, open the
command prompt and go to the "C:\Program Files\SWsoft\PEM\bin"
directory.
2 Execute the following command:
MySQL_ctl upgradeToMySQL5 upgradeVPS start <host-id> [tmp-path]
where:
<host-id> – identifier of a VPS where your MySQL4 server is hosted.
[tmp-path] – optional parameter, directory on the target VPS where all temporary
data are stored (default path is "/usr/local/pem/tmp"). There must be enough
diskspace in the [tmp-path] directory to store databases dump as all databases
are dumped during upgrade.
Command example (suppose we have VPS with the "mysql-vps.com" hostname and the
host identifier equal to 65):
MySQL_ctl upgradeToMySQL5 upgradeVPS start 65 /usr/local/pem/tmp
It takes time to uninstall the old MySQL4 application templates and install the new MySQL5 ones. That is why the operations cannot be performed simultaneously. They are shecheduled first and then executed as background tasks. Therefore, you must wait until all the 'Uninstall set of VZ templates from VPS mysql-vps.com‘ and
‗Install set of VZ templates to VPS mysql-vps.com‘ tasks have been
completed successfully (status of the tasks can be monitored at the "Top > System Director > Task Manager" menu in your POA Control Panel).
96 Parallels Operations Automation 5.0 Parallels
Completing Upgrade
To finish upgrading your MySQL server, perform the following steps:
1 Depending on the platform of your POA Management Node, log in to the:
Linux-based POA Management Node via SSH as root and go to the "/usr/local/pem/bin/" directory
or
Windows-based POA Management Node via RDP as administrator, open the
command prompt and go to the "C:\Program Files\SWsoft\PEM\bin"
directory.
2 Execute the following command:
MySQL_ctl upgradeToMySQL5 upgradeVPS finish <host-id> [tmp-path]
Important! The command can be executed only upon successful completion of the
"start" command described earlier (on page 95). Otherwise, you will get the error
message.
where:
<host-id> – identifier of a VPS where your MySQL4 server is hosted.
[tmp-path] – optional parameter, directory on the target VPS where all temporary
data are stored (default path is "/usr/local/pem/tmp"). There must be enough
diskspace in the [tmp-path] directory to store databases dump as all databases
are dumped during upgrade. Use the same path as you use for initiating the upgrade (on page 95).
Command example:
MySQL_ctl upgradeToMySQL5 upgradeVPS finish 65 /usr/local/pem/tmp
Deploying Linux-based Database Hosting 97
Upgrading MySQL PPM Package on Service Node
If you have upgraded your MySQL server using the commands described in the previous sections, ignore the current section.
In case you have performed the upgrade of your MySQL server manually (without using the commands), you also need to update the MySQL (type: service) POA package on the target Service Node (VPS or Hardware Node registered in POA) to the MySQL5 (type: service) POA package.
To upgrade the MySQL package, perform the following steps:
1 Depending on the platform of your POA Management Node, log in to the:
Linux-based POA Management Node via SSH as root and go to the "/usr/local/pem/bin/" directory
or
Windows-based POA Management Node via RDP as administrator, open the
command prompt and go to the "C:\Program Files\SWsoft\PEM\bin"
directory.
2 Execute the following command:
MySQL_ctl upgradeToMySQL5 changePPMOnly <host-id>
where <host-id> is the identifier of a Service Node where to perform the package upgrade.
Command example:
MySQL_ctl upgradeToMySQL5 changePPMOnly 65
Installing PostgreSQL Service
PostgreSQL is another free software object-relational database server (database management system), released under the flexible BSD-style license. It offers an alternative to other open-source database systems (such as MySQL and Firebird), as well as to proprietary systems such as Oracle and Sybase.
POA currently supports PostgreSQL 8.1 version.
System Requirements for PostgreSQL Database Servers
Server Names PGSQL
Description PostgreSQL Database Server. These servers carry the PostgreSQL databases.
Density 5,000 customer databases. Server is split into 5 VPS, each carries up to 1,000 databases.
98 Parallels Operations Automation 5.0 Parallels
Quantity To be calculated based on the projected customer base and the density above
OS RHES 4 (x86)
CentOS 4 (x86)
RHEL 5 (x64)
CentOS 5 (x64)
Software To be installed by the Customer:
OS only
Supported Virtualization
Parallels Virtuozzo Containers (PVC) 4.0 for Linux
CPU 2 core (3GHz or higher)
RAM 4GB
Disks Array 1:
OS, software, and data - 3 x 72GB, SCSI, RAID 5 (hardware impl.)
Disk Partitioning Array 1:
/ 4GB - for OS
2 x RAM size (8GB) - swap
/var - remaining space - for data
NICs BackNet, FrontNet (optional)
Installation Requirements
To install the PostgreSQL service, follow the instructions at Installing Service on Linux-based Host (on page 107) and use the data from the tables below.
System-wide Requirements
Management Node PgSQL (SC),
UI Node(s) db_manager (CP)
Host-wide Requirements
Physical Servers Scenario Virtual Servers Scenario
Internal IP yes RPMs none
External IP yes, if you want to let customers access their databases via URL.
Service package pg_dbve (other)
Deploying Linux-based Database Hosting 99
RPMs postgresql
postgresql-contrib
postgresql-server
webalizer
gd
db4
perl-DBD-Pg
postgresql-libs
notty
Application Templates For RHEL 5 and CentOS 5:
.pa-pleskd
.pa-pgsql-server
.pa-webalizer
.pa-pgsql-client
For RHES 4 and CentOS 4:
vzpem-pleskd
vzpem-pgsql-server
vzpem-webalizer
vzpem-pgsql-client
Service package pg_dbve (other) IP pools internal, external
During the PgSQL (type: service) POA package installation, provide the following
information:
Database friendly name - this name will be used for displaying the service in the object
tree. The default value is "PostgreSQL databases".
Database name - database name used for connection. The default value is "postgres".
PgSQL port - port number to listen for remote connections. The default value is "5432".
Capacity - maximum amount of databases per server. The default value is "1000".
Root path - database location. The default value is "/usr/local/pem".
Initial state - whether the provisioned database will be in started or stopped state.
Parallels Plesk Sitebuilder is а site creation and content management solution produced
by Parallels.
Parallels Plesk Sitebuilder provides unique capabilities for non-technical users who want to create, publish, and maintain their web sites without any knowledge of HTML or other programming languages. The Parallels Plesk Sitebuilder website content management solution allows wide groups of users to create their websites with minimum efforts.
From this section, you will learn how to deploy Plesk Sitebuilder for Linux/Unix to integrate it with POA. This version of POA supports Plesk Sitebuilder for Linux/Unix, version 4.5.
Note: If you want to use several Plesk Sitebuilder servers, it is strongly recommended to
use them as one cluster, since only one Plesk Sitebuilder server can be bound to a brand.
In This Chapter
System Requirements ....................................................................................... 100 Setting Users Privileges .................................................................................... 101 Installing Plesk Sitebuilder ................................................................................. 102 Installing POA Packages ................................................................................... 103 Registering Plesk Sitebuilder Servers in POA ................................................... 104 Preparing Apache Web Servers for Site Publishing ........................................... 104 Activating Plesk Sitebuilder License .................................................................. 104 Upgrading Plesk Sitebuilder .............................................................................. 105
System Requirements
You should install Parallels Plesk Sitebuilder for Linux/Unix 4.5 on a dedicated VPS
carried on a host with the following system requirements:
Server Names LINSB
Description Parallels Linux SiteBuilder server. Runs SiteBuilder application and database. Can publish the websites both on Linux and Windows web servers.
Density Up to 15,000 websites depending on the usage profile.
C H A P T E R 4
Deploying Parallels Plesk Sitebuilder for Linux/Unix
Deploying Parallels Plesk Sitebuilder for Linux/Unix 101
Quantity To be calculated based on the projected customer base and the density above.
OS RHES 4 (x86)
CentOS 4 (x86)
Software To be installed by the Customer:
OS only
Supported Virtualization
Parallels Virtuozzo Containers (PVC) 4.0 for Linux
CPU 2 core (3GHz or higher)
RAM 4GB
Disks Array 1:
OS and software - 3 x 72GB, SCSI, RAID 5 (hardware impl.)
Disk Partitioning Array 1:
2 x RAM size (8GB) - swap
/ - remaining space - for OS, software, and SiteBuilder data
NICs FrontNet, BackNet
The dedicated VPS requires internal and external IP pools. The external IP is created automatically during the creation of the dedicated VPS. As for the internal IP, you need to create it manually before installing the Plesk Sitebuilder for Linux/Unix.
Make sure that POA websites and corresponding FTP access URLs can be resolved from the Plesk Sitebuilder for Linux/Unix node.
Note: Please, configure Firewall on Plesk Sitebuilder hosts to allow connections to ka.parallels.com on port 5224. Make port 80 accessible from the Internet. Add the host header "localhost" for Plesk Sitebuilder website. All these measures are required to enable
automatic update of the Plesk Sitebuilder license.
Setting Users Privileges
Perform the following steps to enable POA users view and manage Parallels Plesk Sitebuilder:
1 In POA Control Panel, go to Top > Configuration Director > Security Manager > Privileges tab.
2 Open the Staff member privileges subtab.
3 Set the Configuring External CMS privilege as View / Manage / Admin.
4 Open the Customer privileges tab.
5 Set the Content Management Systems privilege as View / Manage / Admin.
102 Parallels Operations Automation 5.0 Parallels
Installing Plesk Sitebuilder
1 Install Parallels Plesk Sitebuilder for Linux/Unix on the prepared node following the instructions of Plesk Sitebuilder Installation Guide.
2 Open the /etc/httpd/conf.d/zz011_sitebuilder.conf file. Customize the file
so that HTTPD could handle requests for Plesk Sitebuilder pages on both internal and external IP addresses. For this purpose, you need to add the external IP address into the line:
<VirtualHost <internal IP>:80>
For example, the external IP address is 212.10.1.15 and the internal IP address is 10.53.155.136. In this case, by default the line will look as follows:
<VirtualHost 10.53.155.5:80>
You need to change it into:
<VirtualHost 212.10.1.15:80 10.53.155.136:80>
3 Restart Apache on the Plesk Sitebuilder node:
# service httpd restart
Note: Make sure to repeat steps 2-3 after each upgrade of Plesk Sitebuilder.
4 Set the password to be used for logging on to the Plesk Sitebuilder Control Panel:
sb_config --sb_admin_passwd <your password>
5 Log on to the Plesk Sitebuilder Control Panel:
a Open http://sitebuilder_hostname/admin.
b Log in using admin login and password.
6 Obtain and install a valid Plesk Sitebuilder for Linux/Unix license.
7 Create the first plan for Plesk Sitebuilder.
8 If you plan to provide Plesk Sitebuilder in multiple languages, install the necessary language packs. Plesk Sitebuilder 4.5 is available in the following languages: Chinese (Simplified), Chinese (Traditional), Dutch, French, German, Italian, Japanese, Russian, Spanish.
Note: If the corresponding language pack is installed, Plesk Sitebuilder is opened for
your customers in the language of their CCP.
9 Restrict access to Plesk Sitebuilder WebServices (make it accessible only from the internal IP):
a Create the file /usr/local/sitebuilder/htdocs/ServiceFacade/.htaccess with the
following lines:
--- begin ---
Deny from all
Allow from <internal IP of POA management node>
Deploying Parallels Plesk Sitebuilder for Linux/Unix 103
--- end ---
Substitute <internal IP of POA management node> with the actual IP
address.
b Make sure the Plesk Sitebuilder's MySQL database is not accessible from the outside (TCP/3306 port on Firewall is closed).
Installing POA Packages
1 Install the SiteBuilder (type: sc) package on the Management Node.
2 Install the linux_sitebuilder (type: cp) package on the UI server. Restart the UI server after the package is installed.
104 Parallels Operations Automation 5.0 Parallels
Registering Plesk Sitebuilder Servers in POA
After you installed Parallels Plesk Sitebuilder servers and granted the users privileges, register the Plesk Sitebuilder servers in POA.
1 In POA Control Panel, go to Top > Service Director > Shared Hosting Manager > Parallels Plesk Sitebuilder for Windows Servers or Parallels Plesk Sitebuilder for Linux/Unix Servers.
2 Click on the Add New Server button.
3 Provide the following fields:
UI URL Prefix - URL for accessing Plesk Sitebuilder Administrator Panel.
Webservice URL prefix - URL for accessing Plesk Sitebuilder API. (Unlike UI URL, webservice URL is usually based on internal IP address, not accessible from the Internet).
Ready to provide - if you check in this checkbox, the Plesk Sitebuilder Service will become available for provisioning right after it is registered in POA.
Password - enter the password of the Administrator. On Plesk Sitebuilder for Windows, enter the password of the user you created at the step Creating Plesk Sitebuilder for Windows Administrator.
Confirm Password - enter the same password again.
4 Click Submit to save the parameters.
Wait until the Plesk Sitebuilder server status becomes Activated.
Preparing Apache Web Servers for Site Publishing
After a website is created in Plesk Sitebuilder for Linux/Unix, its content is to be published to one of POA Apache Web Servers. You need to prepare Apache Web Servers for site publishing using the instructions of the Installing ionCube Loader and SQLite2 PHP Extensions section (on page 17).
Activating Plesk Sitebuilder License
1 Open http://sitebuilder_VPS_internal_URL/admin_login.php
2 Login to the Plesk Sitebuilder Administrator panel using your login/password.
3 Open Server > License Management > License Key Upload.
Deploying Parallels Plesk Sitebuilder for Linux/Unix 105
4 Click Browse.
5 Select the key, and click Upload.
6 Click OK.
Upgrading Plesk Sitebuilder
1 Save the file /etc/httpd/conf.d/zz011_sitebuilder.conf from your current
Sitebuilder installation to a separate location.
2 Upgrade Parallels Plesk Sitebuilder for Linux/Unix on the prepared node following the instructions of Plesk Sitebuilder Installation Guide.
3 Open the /etc/httpd/conf.d/zz011_sitebuilder.conf file of the new
Sitebuilder installation and specify the external IP address in the line: <VirtualHost
<internal IP>:80> in format: <VirtualHost <external IP> <internal
IP>:80>, as you had done it when installing Sitebuilder. You can copy the whole line
from the zz011_sitebuilder.conf file of your previous Sitebuilder installation.
4 Restart Apache on the Plesk Sitebuilder node:
# service httpd restart
In This Chapter
Configuring Firewall ........................................................................................... 107 Installing Service on Linux-based Host .............................................................. 107 Installing PPM Packages ................................................................................... 109 Creating IP Pool ................................................................................................ 117 Adding IP Pool to Host ...................................................................................... 118 Registering Linux-based Hardware Nodes ........................................................ 119 Creating Attributes............................................................................................. 123 Registering Linux-based VPS Hardware Nodes ................................................ 124 Adding Attribute to Host..................................................................................... 129 Creating VPS .................................................................................................... 130 Installing RPM on Host ...................................................................................... 131 Installing Standard OS/Application Templates ................................................... 131 Marking Host as 'Ready To Provide' .................................................................. 136 Upgrading Linux/Windows VPS Hardware Node from PVC 3.x to PVC 4.x (Shared VPSs) ................................................................................................................ 137
C H A P T E R 5
Common Operations
Common Operations 107
Configuring Firewall
To obtain the information about the configuring firewall on servers used in POA installation, refer to the POA Firewall Configuration Guide.
Installing Service on Linux-based Host
The installation of each service requires certain conditions to be observed. Further in this guide you will find the Installation Requirements topic that is attached to the description of every Linux-related service. This topic contains all the requirements for a particular service.
The requirements are divided into 2 groups: system-wide and host-wide.
System-wide requirements include the information about dependent packages (CP and SC) that should be installed on User Interface server(s) and Management Node server
accordingly.
Host-wide requirements provide the data on the necessary network interfaces
configuration as well as packages to be installed on the target host.
These requirements should be satisfied in the following sequence:
1 Check the availability of the dependent components (CP and SC) and install if necessary on UI and Management Node servers respectively. Refer to Installing PPM Packages (on page 109).
2 Create required IP pools. Refer to Creating IP Pools (on page 117).
3 Add a Hardware Node/VPS the service will run on:
To add a Hardware Node, refer to Registering Hardware Nodes (on page 119).
To add a VPS, follow these steps:
a Create an attribute. Refer to Creating Attributes (on page 123).
b Create the Resource Type for the VPS.
c Register the VPS Hardware Node. Refer to Registering VPS Hardware Node (on page 124).
d Add the attribute to the VPS Hardware Node. Refer to Adding Attribute to VPS Hardware Node (on page 129).
e Create the VPS. Refer to Creating VPS (on page 130).
4 Install the base RPMs/Application Templates on the target host:
To install the required RPMs on the Hardware Node, refer to Installing RPM Packages on Hardware Nodes (on page 131).
108 Parallels Operations Automation 5.0 Parallels
To install the required Application Templates on the VPS Hardware Node, refer to Installing Application Templates on VPS Hardware Nodes (on page 131).
5 Install the service package on the target host. Refer to Installing PPM Packages (on page 109).
6 Mark the host as ready to provide:
a In POA Control Panel, click on the name of the host. The Summary tab opens.
b Click the Mark as ready to provide link. As a result, the Marked as ready to provide indicator located on the left side of the General box becomes green saying Yes.
The requirements are presented in the form of the tables. For example:
System-wide Requirements
UI Node(s) apache (cp) The apache (cp) package should be installed on the UI Node(s)
Management Node apache (sc) The apache (sc) package should be installed on the Management Node
Host-wide Requirements (Physical Servers Scenario)
Internal IP yes Internal IP should be configured on the target host
External IP no No external IP required on the target host
RPMs This list of rpms should be installed on the target host.
Service package apache (service) The apache (service) package should be installed on the target host
Host-wide Requirements (Virtual Servers Scenario)
RPMs ....
....
....
This list of rpms should be installed on the target host.
Service package apache (service) The apache (service) package should be installed on the target host
Application Templates ... This list of Application Templates should be installed on the target VPS.
IP pools
Common Operations 109
Installing PPM Packages
This section describes the following operations:
Adding a Package Manifest to the Packages Repository.
Adding a Package Tarball to the Packages Repository Mirror.
Installing a Package on the host.
110 Parallels Operations Automation 5.0 Parallels
Adding a Package
Prior to installing a Package on the host, the following actions should be performed:
1 A Package Manifest should be added to the Packages Repository.
2 A Package Tarball should be placed to the Packages Repository Mirror.
Note: Typically, a Package has a Manifest (file having pdl.asc extension) and a Tarball
(file having tgz extension). But, in some cases, a Package has a Manifest only.
OS specific Packages Manifests and Packages Tarballs are available by the following
location: POA_DISTRIBUTION_DIRECTORY/os/OS_TYPE/OS_VERSION/packages/
where:
POA_DISTRIBUTION_DIRECTORY - Directory where POA distribution is located.
OS_TYPE - Type of Operating System, for example: Win32, RHES.
OS_VERSION - Version of Operating System.
Common Packages Manifests and Packages Tarballs are available by the following
location: POA_DISTRIBUTION_DIRECTORY/common/
Adding a Package Manifest to the Packages Repository
There are the following options available how to add Package Manifest to the Packages Repository:
Adding Package Manifest from local workstation. To do this, perform the following steps:
1. Deliver Package Manifest from POA distribution to the local workstation.
2. In POA Control Panel, go to Top > Deployment Director > Applications Manager > Packages Repository. The Packages tab opens.
Common Operations 111
Figure 3: Packages Repository - Packages List Screen
3. Click on the Add new package button. The input box appears prompting you for the name of the file.
Figure 4: Packages Repository - Add New Package Screen
4. Enter the absolute path to the Package Manifest into the provided File text input field. You can also use the Browse... button to find the desired Package Manifest by means of the standard dialog window.
5. Click on the Submit button to import the selected Package Manifest into the Package Repository.
Note: To check that Package Manifest is added to the Package Repository, the
following options are available: 1. Go to Top > Deployment Director > Applications Manager > Packages Repository, switch to the Packages tab, and check that Package is present in the list of Packages. 2. Use the Notification system. Notification system is described in the POA Provider's Guide, Monitoring System > Managing Notifications section.
Adding Package Manifest by specifying the Package Manifest location URL. To do this, perform the following steps:
1. Deliver Package Manifest to the Web or FTP server.
2. In POA Control Panel, go to Top > Deployment Director > Applications Manager > Packages Repository. The Packages tab opens.
Figure 5: Packages Repository - Packages List Screen
3. Click on the Add new package from URL button.
112 Parallels Operations Automation 5.0 Parallels
Figure 6: Packages Repository - Add New Package from URL Screen
4. Enter the URL address of the Package Manifest into the provided URL text input field.
5. Click on the Submit button to import the selected Package Manifest into the Package Repository.
Note: To check that Package Manifest is added to the Package Repository, the
following options are available: 1. Go to Top > Deployment Director > Applications Manager > Packages Repository, switch to the Packages tab, and check that
Package is present in the list of Packages. 2. Use the Notification system. Notification system is described in the POA Provider's Guide, Monitoring System > Managing Notifications section.
Adding a Package Tarball to the Packages Repository Mirror / Initial POA Tarballs Storage
Linux-based Management Node. In this case Packages Repository Mirror is located on the Management Node itself. Obtain Package Tarball and deliver it to the Management
Node to the POA_INSTALLATION_DIRECTORY/sysvhosts/ppmmirror/data
directory. Typically, POA_INSTALLATION_DIRECTORY is /usr/local/pem/.
Windows-based Management Node. In this case Initial POA Tarballs Storage is located on the Management Node itself. Obtain Package Tarball and deliver it to the Management Node to the POA_INSTALLATION_DIRECTORY\install\tarballs directory.
Typically, POA_INSTALLATION_DIRECTORY is C:\Program Files\SWsoft\PEM\.
Common Operations 113
Installing a Package on the Host
This section describes the following operations:
Installing a package on the host. Use this operation to install one package on one host. For
example, to install a Service Controller on the Management Node.
Installing a set of packages on the group of hosts. Use this operation to install a set of packages on the group of hosts. For example, to install a Control Panels on several UI
Servers.
Installing a Package on the Host
To install a package on the host, perform the following steps:
1 In POA Control Panel, go to the target host (path in Control Panel depends on type of host):
Hardware Node: Top > Deployment Director > Server Manager > Hardware Nodes.
VPS: Top > Service Director > Virtuozzo Manager > VPSs.
2 Select the host you wish to install the package on by clicking on it. The Summary tab
opens.
3 Click on the Packages tab. The list of installed packages appears.
Figure 7: Installing Package - List of Installed Packages
114 Parallels Operations Automation 5.0 Parallels
4 Click on the Install Package button. You will be offered the list of available components,
not yet installed.
Figure 8: Installing Package - List of Available Components
5 Select the package you'd like to install and click on appropriate Install package icon in the Actions column. The list of components that should be installed on the host is
displayed.
Figure 9: Installing Package - List of Components That Should Be Installed
Common Operations 115
There are the following types of packages:
Package has no editable properties. In this case the following icon is displayed in
the Actions column:
Package has editable properties. Properties have default values and can be
customized. In this case the following icon is displayed in the Actions column:
Package has editable properties. Properties have no default values and should be defined prior to package installation. In this case the following icon is displayed in
the Actions column:
6 Click on or icon and specify package's properties. Click on the Submit button.
Figure 10: Installing Package - Edit Package Properties Screen
Note: This step is performed if a package has editable properties or properties that are
mandatory to fill out.
7 Click the Finish button to install the package.
Note: To check that a package is installed on the host, the following options are available: 1. Select the target host, switch to the Packages tab, and check that package is available in the list of installed packages. 2. Use the Notification system. Notification system is described in the POA Provider's Guide, Monitoring System > Managing Notifications
section.
Installing Set of Packages on Group of Hosts
To install a set of packages on the group of hosts, perform the following actions:
1 Fill out the mandatory properties of packages you wish to install. To do that, execute the following steps:
a In POA Control Panel, go to Top > Deployment Director > Applications Manager > Packages Repository.
b Select the target package and click on icon in the Actions area.
c Fill out mandatory package properties and click on the Submit button.
116 Parallels Operations Automation 5.0 Parallels
Important! Execute these steps for every package which participates in the
installing operation and has mandatory properties.
2 In POA Control Panel, go to Top > Deployment Director > Applications Manager > PPM Group Operations.
3 Click on the Create new PPM group operation link. The Create PPM group operation wizard
starts.
4 Select the Installation option in the Operation area and click on the Next button to continue.
Figure 11: PPM Group Operations Wizard - Select Operation Type Screen
5 Select target hosts and click on the Next button to continue.
Figure 12: PPM Group Operations Wizard - Select Target Hosts Screen
6 Select packages to install and click on the Next button to continue.
Common Operations 117
Figure 13: PPM Group Operations Wizard - Select Packages Screen
7 Click on the Finish button to start the installation of packages on the selected hosts.
Note: To check that a package is installed on the host, the following options are available: 1. Select the target host, switch to the Packages tab, and check that package is available in the list of installed packages. 2. Use the Notification system. Notification system is described in the POA Provider's Guide, Monitoring System > Managing Notifications
section.
Creating IP Pool
To create an IP Pool, follow these steps:
1 Go to Top > Infrastructure Director > Network Manager > IP Manager > IP Pools.
2 Click on the Add New IP Pool button.
3 Specify the following parameters:
Name - name of this IP Pool
Initial IP - lower bound IP Address
118 Parallels Operations Automation 5.0 Parallels
Final IP - upper bound IP Address
Netmask - netmask of the IP Pool subnet
Gateway - default gateway of the IP Pool subnet
4 Specify the Pool available for: parameters:
Everyone - select this value if you want this pool to be available for all Accounts who
have the ability to use IP Addresses in their Subscriptions.
Customers only - only your direct customers can use this IP Pool.
Owner only - such IP Pool will become unavailable for the Accounts, so that you can
use it for your internal needs.
Specified customers - you can assign such IP Pool to particular Accounts.
5 Specify the Pool applicable for parameters which define the purpose of IP Pool:
Branding configuration – the IP Pool will be used for branding configuration.
Infrastructure configuration – the IP Pool will be used for infrastructure configuration.
Dedicated hosting – the IP Pool will be used for Exclusive IP Addresses allocation to VPS and Dedicated Servers.
Shared Hosting – the IP Pool will be used for Exclusive IP Addresses allocation to Apache, IIS, and SharePoint sites.
Note: If a purpose is specified for an IP Pool, this IP Pool can be used only for this
purpose. If you select no purpose, the IP Pool will not be usable.
6 Click on the Submit button. The newly created IP Pool will be immediately added to the IP Pools list.
Adding IP Pool to Host
To add IP Pool to host, perform the following steps:
1 Go to Top > Infrastructure Director > Network Manager > IP Manager > IP Pools and click on the required IP Pool.
2 Go to the Networking tab.
3 On the Hosts sub-tab, click on the Attach Host button.
4 Select checkbox opposite the required host and click on the Attach button, then click on the OK button.
5 Go to the Routable networks sub-tab and click on the Add button.
6 Select checkbox opposite the FrontNet NIC of the required host and click on the Submit button.
Common Operations 119
Registering Linux-based Hardware Nodes
This section describes how to register a Linux-based Hardware Node in POA.
Prerequisites
Before registering a Linux-based Hardware Node in POA, the following prerequisites should be satisfied:
Operating System is installed.
There are the System and External Native Repositories for the platform of the Hardware Node.
Note: To learn more about the POA Native Repositories, refer to the POA Provider's Guide, the Managing Packages > Native Repository section.
The Hardware Node is accessible via SSH.
There are the following options:
If the root user is used for Hardware Node registration, the password of the root user is available.
If non-privileged user is used for Hardware Node registration, the login and password of the non-privileged user are available. This user is in the
/etc/sudoers file on the Hardware Node and the user can act as the root user.
Important: The sudo -u root ... command should not ask the user's
password.
If SSH Public-Key Authentication is used, there are Public and Private SSH Keys of the user (root or non-privileged user). The Private SSH Key is placed on your workstation and password of this key is available. The Public SSH Key is in the
$HOME/.ssh/authorized_keys file on the Hardware Node, where $HOME is a
directory of the user (root or non-privileged user).
The following network settings are configured on the Hardware Node:
BackNet IP Address
FrontNet IP Address (if it is required)
Gateway
DNS Server
If the Hardware Node you are going to add to POA works under RHEL 5 or CentOS 5, disable the SELinux service on it (by default, this service is enabled). To do it, perform
the following actions:
1. Log on to this Hardware Node with root privileges.
2. Open the file /etc/sysconfig/selinux and set SELINUX=disabled.
120 Parallels Operations Automation 5.0 Parallels
3. Reboot the Node.
Creating 'Hardware Nodes' Resource Type
To register Hardware Node in POA, the special Resource Type intended for Hardware Nodes registration should be created. Typically, one such Resource Type is enough for Linux-based Hardware Nodes registration purposes.
Note: If the Hardware Nodes Resource Type is already created in POA, skip this operation.
1 Go to Top > Service Director > Provisioning Manager > Resource Types.
2 Click on the Add New Resource Type button. The list of Resource Classes appears.
3 In the list of Resource Classes, click on the Hardware nodes Resource Class.
4 Specify the name and description of the Resource Type. For example, use the Hardware Nodes name. Click Next twice.
5 Click Finish.
Creating 'Traffic' Resource Type
To be able to register a Hardware Node in POA, the Traffic Resource Type must be created in the system. To create the Traffic Resource Type, follow the steps:
Note: If the Traffic Resource Type is already created in POA, skip this operation.
1 Go to Top > Service Director > Provisioning Manager > Resource Types and click on the Add New Resource Type button. The list of existing Resource Classes opens.
2 In the list click on the Traffic Resource Class. The Add New Resource Type wizard starts.
3 Specify the general parameters (name and description) for the new Resource Type based on the Traffic Resource Class. Click Next twice.
4 Click on the Finish button.
Common Operations 121
Adding Hardware Node
To register Linux-based Hardware Node in POA, perform the following actions:
1 In Provider Control Panel, go to Top > Deployment Director > Server Manager > Hardware Nodes. The list of the Hardware Nodes appears.
2 Click on the Add New Host button. The Add New Host Wizard starts.
3 Select the Unix Host Type and click on the Next button. The list of Resource Types
appears.
4 Click on the name of the Hardware Nodes Resource Type.
Figure 14: SSH Access Parameters of Linux-based Hardware Node
5 In the Remote node SSH access parameters area, specify the following parameters:
Host - BackNet IP Address or hostname of the Hardware Node.
Important: The specified hostname should be resolved via DNS to the BackNet IP Address of the Hardware Node.
Login - Login of the user (root or non-privileged user), which is used for Hardware Node registration.
Select the Password option and enter the user's password to the Password field.
If SSH Public-Key Authentication is used, select the Identity file option and provide path to the SSH Private Key using the Browse button.
Note: If the SSH Private Key is protected by password, enter the key password to the Private key password field.
Click on the Next button. The last step of the Wizard appears.
122 Parallels Operations Automation 5.0 Parallels
Figure 15: Linux-based Hardware Node Properties
6 In the Network configuration area, specify the following parameters:
Backnet IP address - BackNet IP Address of the Hardware Node. This IP Address will be used to communicate with Management Node.
Shared IP address - FrontNet IP Address of the Hardware Node. This IP Address will be used by POA services installed on the Hardware Node.
Note: In some cases a Hardware Node located in the BackNet is only required, for
example, Hardware Node is intended to store Customers' Backups. To register such Hardware Node, select the BackNet IP Address.
The Hardware Node can be registered with custom hostname. To do so, in the Register node with custom hostname area, select the Specify custom hostname checkbox and specify the required custom hostname in the Hostname field.
Note: The specified custom hostname will be displayed in POA Control Panel. To make the custom hostname resolvable via DNS, the appropriate A DNS Record should
be created.
7 Click on the Finish button.
Common Operations 123
Creating Attributes
The Attributes mechanism allows to link the resource to be provided and the Hardware Node/VPS/VPS Hardware Node, where this resource should be provisioned.
An Attribute is a special label with which the Provider marks the resource (more precisely, Resource Type) to be provided. The same label is marked on the Hardware Node/VPS/VPS Hardware Node, where this resource should be provisioned on.
To create an Attribute, follow these steps:
1 In Provider's Control Panel, go to Top > Service Director > Provisioning Manager > Attributes.
2 Click on the Add New Attribute button.
3 Enter values for the Attribute name and description.
4 Click on the Submit button.
124 Parallels Operations Automation 5.0 Parallels
Registering Linux-based VPS Hardware Nodes
This section describes how to register Linux-based VPS Hardware Node in POA.
Prerequisites
Before registering VPS Hardware Node in POA, the following prerequisites should be satisfied:
Credentials of the root user are available.
The following network settings are configured on the VPS Hardware Node:
BackNet IP Address
FrontNet IP Address
Gateway
DNS Server (resolver DNS Server, that is not managed by POA)
VPS Hardware Node is accessible by its hostname from others VPS Hardware Nodes. VPS Hardware Node hostname is resolved to the VPS Hardware Node BackNet IP
Address. It can be done by the following ways:
DNS Record of the A type is created on the resolver DNS Server (DNS Server that is not managed by POA).
Record is added to the hosts file and this file is distributed among all VPS
Hardware Nodes. Format of the record is the following:
VPS_HN_BACKNET_IP FQDN_VPS_HN_HOSTNAME VPS_HN_HOSTNAME
Where:
VPS_HN_BACKNET_IP - BackNet IP Address of the VPS Hardware Node.
FQDN_VPS_HN_HOSTNAME - Fully qualified domain name of the VPS Hardware Node.
VPS_HN_HOSTNAME - "Short" VPS Hardware Node hostname.
For example:
1.1.1.1 linvpshn01.hosting.local linvpshn01
Parallels Virtuozzo Containers (PVC) for Linux 4.xx is installed on the node according to instructions provided in the Parallels Virtuozzo Containers for Linux Installation Guide.
Valid PVC license is installed according to instructions provided in the Parallels Virtuozzo Containers for Linux User's Guide, Managing Hardware Nodes > Managing Virtuozzo Licenses
section.
PVC software is up to date. Instructions on how to update PVC software are provided in the Parallels Virtuozzo Containers for Linux User's Guide, Keeping Your Virtuozzo System Up-
to-Date section.
Common Operations 125
Service Level Management (SLM) support is enabled on VPS Hardware Node (it is enabled by default on fresh PVC installation). To obtain instructions how to manage SLM support for VPS Hardware Node, refer to the Parallels Virtuozzo Containers for Linux
User's Guide, Managing Resources > Managing System Parameters section.
Notes:
1. For Virtuozzo 3.xx BackNet IP Address on Service VPS should be configured and credentials of the vzagent0 user should be available.
2. In case of the VPS Hardware Node having the PVC 4.x installed, the public key-based authentication may be used instead of the password authentication for remote login on the VPS Hardware Node via SSH. It does not affect the communication between POA and VPS Hardware Node. POA does not use SSH connection to VPS Hardware Node. POA connects to the VPS Hardware Node's PVC Agent, which listens on TCP port 4433 for
incoming connections.
Creating 'Traffic' Resource Type
To be able to register VPS Hardware Node in POA, the Traffic Resource Type must be created in the system. To create the Traffic Resource Type, follow the steps:
Note: If the Traffic Resource Type is already created in POA, skip this operation.
1 Go to Top > Service Director > Provisioning Manager > Resource Types and click on the Add New Resource Type button. The list of existing Resource Classes opens.
2 In the list click on the Traffic Resource Class. The Add New Resource Type wizard starts.
3 Specify the general parameters (name and description) for the new Resource Type based on the Traffic Resource Class. Click Next twice.
4 Click on the Finish button.
126
Creating 'VPS Hardware Nodes' Resource Type
To register VPS Hardware Node in POA, the special Resource Type intended for VPS Hardware Nodes registration should be created. Typically, one such Resource Type is enough for VPS Hardware Nodes registration purposes.
To create a new Resource Type for VPS Hardware Nodes registration, follow these steps:
1 In POA, go to Service Director > Provisioning Manager > Resource Types.
2 Click on the Add New Resource Type button.
3 In the list of the opened Resource Classes click on the VPS Hardware nodes Resource Class.
4 Enter general parameters for the new Resource Type:
Name: for example, VPS Hardware Nodes.
Description: for example, ―This Resource Type is used to register VPS Hardware Nodes intended for the provisioning of VPSs in POA‖.
Click Next to continue.
5 Specify the following Activation Parameters:
Number of VPS per HW node capacity. This Activation Parameter sets default value for VPS Number per HW node Capacity of VPS Hardware Node.
Note: VPS Number per HW node Capacity limits maximum amount of VPSs, which are
allowed to provision on VPS Hardware Node. This Capacity can be changed in the following way: Top > Service Director > Virtuozzo Manager > VPS Hardware Nodes > VPS_HARDWARE_NODE > General tab > Capacities.
Maximum number of simultaneous migrations per Hardware Node. This Activation Parameter sets default value for Maximum of simultaneous VPS migrations Capacity of
VPS Hardware Node.
Note: Maximum of simultaneous VPS migrations Capacity limits amount of
simultaneous VPSs migrations from/to VPS Hardware Node. This Capacity can be changed in the following way: Top > Service Director > Virtuozzo Manager > Setup > Migration Settings tab.
6 Click Next to continue.
7 Check values entered on previous steps and click Finish.
Common Operations 127
Creating 'Shared VPSs BackNet IPs' IP Pool
This section describes how to create Shared VPSs BackNet IP Pool. This IP Pool will be attached and will be bound to VPS Hardware Node during its registration in POA. Shared VPSs BackNet IP Pool is used during Shared VPSs provisioning. Shared VPS automatically obtains BackNet IP Address from it. BackNet IP Address is used by POA Agent installed on Shared VPS to communicate with Management Node.
Note: The number of IP Addresses of this IP Pool should be not less than the total number
of Shared VPSs (both Linux-based and Windows-based).
To create Shared VPSs BackNet IP Pool, follow these steps:
1 Go to Top > Infrastructure Director > Network Manager > IP Manager > IP Pools.
2 Click on the Add New IP Pool button.
3 Specify the following parameters:
Name - name of this IP Pool, for example: Shared VPSs BackNet IPs.
Initial IP - lower bound IP Address.
Final IP - upper bound IP Address.
Netmask - netmask of the IP Pool subnet.
Gateway - default gateway of the IP Pool subnet.
Specify the Pool available for parameter, select the Everyone value.
4 Specify the purpose of IP Pool, select the Infrastructure configuration checkbox in the Purpose area.
5 Click on the Submit button. The newly created IP Pool will be immediately added to the IP Pools list.
128 Parallels Operations Automation 5.0 Parallels
Synchronizing VPS Hardware Node with World Time
Synchronize the world time and the VPS Hardware Node you are going to add to POA:
1 Log on to the VPS Hardware Node by SSH.
2 Ensure that NTP is installed. For this purpose, perform the following command:
rpm -qa | grep ntp-
Install if necessary.
3 Perform the following synchronization commands:
echo "server time.nist.gov" > /etc/ntp.conf
chkconfig --level 2345 ntpd on
service ntpd stop
ntpdate time.nist.gov
service ntpd start
Common Operations 129
Registering VPS Hardware Node in POA
1 In POA, go to Top > Service Director > Virtuozzo Manager > VPS Hardware Nodes. The list of already added VPS Hardware Nodes is displayed.
2 Click on the Register New VPS Hardware Node button.
3 Select the VPS Hardware Nodes Resource Type.
Note: The Traffic Resource Type must be created in the system in order to be able to
register VPS Hardware Node in POA.
4 Click Next to continue.
Note: If you have only one available VPS Hardware Nodes like Resource Type, it is
chosen automatically. In this case this step is omitted.
5 Fill out the following fields:
Address - enter the BackNet IP Address of the VPS Hardware Node.
Username - enter the root value to this field.
Password - enter the password of the root user.
Backnet IP Pool - using drop-down box, select the Shared VPSs BackNet IPs IP Pool.
Note: To register PVC having version lower than 4.xx (e.g. 3.xx), enter BackNet IP
Address of the Service VPS to the Address field, enter vzagent0 value to the Username field, enter password of the vzagent0 user to the Password field.
Click Next to continue.
6 Check if the information entered is correct. If all is OK, click Finish. The list of the VPS Hardware Nodes registered in the system reopens with the new VPS Hardware Node in it. Status of the new VPS Hardware Node is Registering.
VPS Hardware Node registration process takes time. During this time period POA collects the necessary information about VPS Hardware Node, such as Virtuozzo Version, amount of existing VPSs, whether Service Level Management (SLM) support is enabled. When all the necessary information is collected, VPS Hardware Node Status becomes Running.
After that, VPS Hardware Node can be managed from POA.
Note: If Status of VPS Hardware Node is Registration failed, you can find the reason of problem in Task Manager by checking logs of register HW Node with Agent IP IP_ADDRESS task. Task Manager is available by the following path: Top > System Director > Task Manager.
After that problem is fixed, this task can be restarted to proceed the process of registration.
Adding Attribute to Host
To assign a Provisioning Attribute to the host, perform the following actions:
130 Parallels Operations Automation 5.0 Parallels
1 In POA Control Panel, go to the target host (path in Control Panel depends on type of host):
Hardware Node: Top > Deployment Director > Server Manager > Hardware Nodes.
VPS Hardware Node: Top > Service Director > Virtuozzo Manager > VPS Hardware Nodes.
VPS: Top > Service Director > Virtuozzo Manager > VPSs.
2 Click on the host. The Summary tab opens.
3 Go to the General tab > Attributes subtab.
4 Click on the Assign button. The list of existing Attributes opens.
5 Select the required Attribute.
6 Click on the Submit button.
Creating VPS
1 In POA, go to Top > Service Director > Virtuozzo Manager > VPSs.
2 Click on the Add New VPS button to start the Wizard.
3 Select the Resource Type to base your VPS on. Click Next.
4 Choose the way you wish the new VPS will be named:
Generate hostname automatically - Enable the system to generate the random name for the VPS that will be resolved to the external domain.
Generate hostname based on the existing domain - Enable the system to generate the random name for the VPS that will be resolved to the POA domain.
Specify hostname based on the existing domain - Enter the desired hostname for the VPS that will be accessible on the POA domain.
Custom hostname - Enter the desired hostname for the VPS that will be resolved to the external domain.
5 Set the desired access password to the VPS. Click Next.
6 Click Finish to schedule the VPS for creation.
Common Operations 131
Installing RPM on Host
This section describes how to install a RPM on host.
1 Deliver the RPM file to the target host.
RPMs that are shipped with POA distribution available by the following path:
POA_DISTRIBUTION_DIRECTORY/os/OS_TYPE/OS_VERSION/RPMS/
where
POA_DISTRIBUTION_DIRECTORY - Directory where POA distribution is located.
OS_TYPE - Type of Operating System, for example: RHES.
OS_VERSION - Version of an Operating System (OS).
Other required RPMs can be obtained from the OS distribution.
2 Log in to the target host via SSH under the root user's credentials.
3 Execute the command:
rpm -ihv RPM_FILE_NAME
where RPM_FILE_NAME is the name of the RPM file. For example:
rpm -ihv mc-4.6.1-0.8.1.i386.rpm
Installing Standard OS/Application Templates
There are two variants of Application Template installation:
Using POA Control Panel. This variant is possible only if the VPS Hardware Node is already registered in POA.
Without POA Control Panel. This variant is possible before or after the VPS Hardware Node is registered in POA. Templates are imported automatically.
132 Parallels Operations Automation 5.0 Parallels
Installing Templates Using POA Control Panel
In POA Control Panel, operations with Templates are performed using the following POA items:
For OS templates - in Top > Service Director > Virtuozzo Manager > OS Templates.
For Application Templates - in Top > Service Director > Virtuozzo Manager > Application Templates.
In spite of the different sections, all the dialog pages and other interface elements within them correspond strictly to each other, and all the procedures you perform to complete a particular task are identical. The only exception is the name of certain interface elements. To simplify the description of similar processes, only Application Templates are mentioned. However, you can apply the same instructions for OS Templates, replacing Application Templates with OS Templates while reading.
Copying Templates to PPM Mirror
Mirror is a certain location that is specified as containing package bodies available for
installation. Such location is called the mirror due to the fact that it is an alternative source of package bodies as opposed to the original location that contains packages. The purpose of creating such location is to store packages in the single place and make them easily accessible.
Perform the following steps to copy the required Application Templates to the PPM Mirror:
1 Log on to the Management Node via SSH.
2 Create the templates/ directory:
# mkdir -p /usr/local/pem/sysvhosts/ppmmirror/data/templates
3 Into the just created directory, upload the RPMs from the directory os/<OS
name>/<OS version>/templates.
This process is rather time consuming, but it does not impede the subsequent actions. So, you may go on with the next steps while the Application Templates are copied.
Using VPS Hardware Node for Templates Import
At least one of you VPS Hardware Nodes must be used for importing templates to POA. On such a node, the Marked as used for templates import property must be enabled.
1 In POA Control Panel, go to Top > Service Director > Virtuozzo Manager > VPS Hardware Nodes.
2 Click on the name of the VPS Hardware Node. The Summary tab opens.
3 Click the Mark as used for templates import link. As a result, the Marked as used for templates import indicator located on the left side of the General box becomes green saying Yes.
Common Operations 133
Obtaining URL to Template
The URL to the required Application Template is obtained by putting together three parts. For example:
ftp://v620caa:[email protected]:20012/templates/vzpem-pleskd-
as3-template-20050324-1.0-1.i386.rpm
This URL is obtained by putting together the following three parts:
1 ftp://v620caa:[email protected]:20012/
To get the first part, log on to POA, go to Top > Deployment Director > Applications Manager > Packages Repository, and open the Mirrors tab. The first part is the URL of the mirror based on the Proftpd service.
2 templates/
This is the name of the directory where Application Templates are placed.
3 vzpem-pleskd-as3-template-20050324-1.0-1.i386.rpm
This is the Application Template RPM name.
134 Parallels Operations Automation 5.0 Parallels
Importing Templates
You can import a base or an update version of Application Template.
Importing Base Version of Template
If you are importing a base version of an Application Template, do the following:
1 Go to Service Director > Virtuozzo Manager > Application Templates and click on the Add New Application Template button.
Figure 16: Specifying URL of RPM File
2 Specify the URL to the place where the RPM with the base version of the Application Template can be downloaded from.
3 Click on the Finish button. The version of the Application Template will be scheduled for importing to POA.
In this way, add all the required Application Templates one by one replacing the last part of the URL with the corresponding Application Template name.
Importing Update Version of Template
If you are importing an update version of an Application Template, do the following:
1 Go to Service Director > Virtuozzo Manager > Application Templates and click on the
Application template, you are importing the update version for.
2 Go to the Versions tab and click on the Add New Version button.
3 Specify the URL to the place where the RPM with the update version of the Application Template can be downloaded from.
4 Click on the Finish button. The version of the Application Template will be scheduled for importing to POA.
Common Operations 135
Checking Import Status
Wait for the version of the Application Template to be added successfully. To check if the version is added, click on the template, go to the Versions tab and wait for the version of the template to get the Added status.
You can also track the progress of template importing by monitoring the tasks queue of POA Task Manager. For this purpose, you should go to Top > System Director > Task Manager. See the status of the Add Virtuozzo template $OS/APPLICATION_NAME$ in POA repository task as this task is related to this process.
In case if all is correct, the information that is necessary for Template registration is extracted and sent to POA Management Node. After that, the VZ Template will be uninstalled automatically. In case of EZ Templates, you can uninstall them using POA Control Panel.
Note: To save time, you can pass to importing the next template before the previous template gets the Added status. However, it is recommended to wait until the status turns to
Added at least for the first import to ensure that the process works in general.
Installing Templates on VPS Hardware Node
1 In POA Control Panel, go to Top > Service Director > Virtuozzo Manager > VPS Hardware Nodes. The list of VPS Hardware Nodes opens.
2 Click on the required VPS Hardware Node. The Summary tab opens.
3 Go to the Templates tab, then go to the OS Templates or Application Templates sub-tab.
The list of installed Templates opens.
4 Click on the Install button. The list of Templates opens.
5 Select the checkboxes opposite the required Templates and click on the Submit button.
136 Parallels Operations Automation 5.0 Parallels
Installing Templates Without Using POA Control Panel
Installing Templates on Linux-based VPS Hardware Node
In SSH, open the required VPS Hardware Node, and install all necessary RPMs executing the following command:
rpm -ihv *.rpm
You need to install the templates in the following order:
1 Install all required OS templates.
2 Execute the following command in SSH:
vzpkgcache
3 Install all required Application templates.
Installing Templates on Windows-based VPS Hardware Node
1 Copy the required Template into the directory <VZ_ROOT>\Templates\__cache
(where <VZ_ROOT> is the directory where Parallels Virtuozzo Containers is installed,
usually, C:\vz).
2 Execute the following command:
vzpkgdeploy -i <template name>
Marking Host as 'Ready To Provide'
To mark a host as "Ready To Provide", perform the following actions:
1 In POA Control Panel, go to the target host (path in Control Panel depends on type of host):
Hardware Node: Top > Deployment Director > Server Manager > Hardware Nodes.
VPS Hardware Node: Top > Service Director > Virtuozzo Manager > VPS Hardware Nodes.
VPS: Top > Service Director > Virtuozzo Manager > VPSs.
2 Click on the host. The Summary tab opens.
3 Click on the Mark as ready to provide link. As result the Ready To Provide host's property obtains the Yes value.
Common Operations 137
Upgrading Linux/Windows VPS Hardware Node from PVC 3.x to PVC 4.x (Shared VPSs)
This section provides instructions how to upgrade PVC from version 3.x to version 4.x for Linux/Windows VPS Hardware Node, where the Shared VPSs are created.
To upgrade PVC for Linux/Windows installed on VPS Hardware Nodes, perform the following actions:
1 From the VPS Hardware Node which is planned for upgrade, migrate all VPSs of Dedicated type to some other VPS Hardware Node. For VPS migration instructions, refer to POA Provider's Guide, VPS Hosting in POA > Managing VPS > Migrating Virtual Private Servers section.
It is necessary to migrate Dedicated VPSs only; upgrading VPS Hardware Nodes with Shared VPSs installed is supported by POA.
Important: After the upgrade, the Dedicated VPSs based on PVC 3.x format cannot be
migrated back to the source VPS Hardware Node, as they will become incompatible with the new VPS Hardware Node platform (PVC 4.x). The ability to upgrade VPS Hardware Nodes with Dedicated VPSs installed will be supported since POA 5.0. Currently we can recommend the following workaround: migrate permanently all Dedicated VPSs from all VPS Hardware Nodes to separate VPS Hardware Node(s),
which will continue working on the PVC 3.x platform. After POA 5.0 is released, you can upgrade these VPS Hardware Node(s) to PVC 4.x.
2 Log on to the VPS Hardware Node via SSH/RDP as root/Administrator user.
3 Upgrade PVC from 3.x to 4.x following the instructions at:
http://download.parallels.com/virtuozzo/virtuozzo4.0/docs/en/win/VzWindowsUpgrade.pdf - for Windows-based VPS Hardware Node
http://download.parallels.com/virtuozzo/virtuozzo4.0/docs/en/lin/VzLinuxUpgrade.pdf - for Linux-based VPS Hardware Node
Note: It is recommended to install all available updates for PVC 4.x after the upgrade is
completed.
4 Re-create the Service Container following the instructions at http://kb.parallels.com/en/1089 (for Linux-based VPS Hardware Node) and http://kb.parallels.com/en/3608 (for Windows-based VPS Hardware Node).
5 Depending on your POA Management Node platform, log in to the:
Linux-based POA Management Node via SSH as root and go to the
"/usr/local/pem/bin/" directory
OR
138 Parallels Operations Automation 5.0 Parallels
Windows-based POA Management Node via RDP as Administrator, open the
command prompt and go to the "C:\Program Files\SWsoft\PEM\bin\"
directory
and execute:
VEM_ctl -f /usr/local/pem/etc/pleskd.props vz3_shared_ves_to_vz4
<hw_host_id> <hw_node_ip> <user> <password>
OR
VEM_Ctl.exe -f "C:\Program Files\SWsoft\PEM\properties"
vz3_shared_ves_to_vz4 <hw_host_id> <hw_node_ip> <user> <password>
where
hw_host_id - The ID of VPS Hardware Node in POA. This ID can be obtained from the list of VPS Hardware Nodes (Top > Service Director > Virtuozzo Manager > VPS Hardware Nodes).
hw_node_ip - BackNet IP Address of VPS Hardware Node. This IP Address is used by POA for managing the VPS Hardware Node.
user - The login of VPS Hardware Node administrator (root/Administrator)
password - The password of VPS Hardware Node administrator
139
A
Activating Plesk Sitebuilder License • 104
Adding a Package • 110 Adding Account Information Into Header of E-
mail Sent From Web Server • 69
Adding Attribute to Host • 129 Adding Hardware Node • 121
Adding IP Pool to Host • 118
C
Checking MySQL Databases on Service Node
• 92
Common Operations • 106 Completing Upgrade • 96
Configuring Customer Backup Server • 68
Configuring Excluded File Extensions List •
82 Configuring Firewall • 107
Configuring IP Pool for WebSites With SSL
Support • 20 Configuring Log Rotation • 83
Configuring Web Statistics Processor Server •
81 Configuring Web Statistics Retention Policy •
81
Copying Templates to PPM Mirror • 132
Creating Attributes • 123 Creating Certificate • 47
Creating Certificate Signing Request • 49
Creating 'Hardware Nodes' Resource Type • 120
Creating IP Pool • 117
Creating 'Shared VPSs BackNet IPs' IP Pool • 127
Creating 'Traffic' Resource Type • 120, 125
Creating VPS • 130
Creating 'VPS Hardware Nodes' Resource Type • 126
D
Deploying Apache Web Hosting • 9
Deploying Client Part • 72
Deploying Linux-based Database Hosting • 85
Deploying Mail Sender ID Server • 69 Deploying Parallels Plesk Sitebuilder for
Linux/Unix • 100
Deploying WebsiteCreator Service • 58
Description • 73
Documentation Conventions • 6
F
Feedback • 8
G
General Conventions • 8
Generating Self-Signed Certificate • 48
H
Hardware Node Scenario • 19, 78
Hardware Requirements for Web Statistics Processor Server • 75
I
Importing Templates • 134 Installation Requirements • 18, 45, 53, 56, 61,
65, 98
Installation Requirements for Apache 2.0 • 14,
28 Installation Requirements for Apache 2.2 • 11,
25
Installation Requirements for Customer Backup Service • 67
Installation Requirements for Domain Parking
Service • 39 Installation Requirements for MySQL 4
Service • 86
Installation Requirements for MySQL 5
Service • 89 Installation Requirements for VPS Backup
Service • 68
Installation Requirements for Web Statistics Processor Server • 76
Installing a Package on the Host • 113
Installing Apache Web Server • 9 Installing Backup Service • 66
Installing CM4all WebsiteCreator Service • 58
Installing Domain Parking Service • 38
Installing FrontPage on Host • 17 Installing ionCube Loader and SQLite2 PHP
Extensions • 17
Installing MySQL 4 • 85 Installing MySQL 5 • 88
Index
Index 140
Installing MySQL Service • 85
Installing osCommerce (Separate) • 60
Installing phpMyAdmin Service • 52
Installing phpPgAdmin Service • 55 Installing Plesk Sitebuilder • 102
Installing POA Packages • 19, 80, 103
Installing PostgreSQL Service • 97 Installing PPM Packages • 109
Installing RPM on Host • 131
Installing Service on Linux-based Host • 107
Installing SSL Proxy Server • 43 Installing Standard OS/Application Templates
• 131
Installing Templates on Linux-based VPS Hardware Node • 136
Installing Templates on VPS Hardware Node •
135 Installing Templates on Windows-based VPS
Hardware Node • 136
Installing Templates Using POA Control Panel
• 132 Installing Templates Without Using POA
Control Panel • 136
Installing Urchin Service • 64 Installing Web File Manager • 21
Installing Web Statistics Processor Server • 73
L
Legacy File Manager to Web File Manager
Transition • 38
M
Marking Host as 'Ready To Provide' • 136
O
Obtaining URL to Template • 133
P
Preface • 6 Preparing Apache Web Servers for Site
Publishing • 104
Prerequisites • 119, 124 Providing WebsiteCreator Resource • 59
R
Registering Linux-based Hardware Nodes • 119
Registering Linux-based VPS Hardware Nodes
• 124 Registering Plesk Sitebuilder Servers in POA •
104
Registering VPS Hardware Node in POA • 129
Registering WebsiteCreator Server in POA • 59
Restarting Apache Service • 20
S
Setting Users Privileges • 101 Starting Upgrade • 95
Synchronizing VPS Hardware Node with
World Time • 128
System Requirements • 100 System Requirements for Apache Web Servers
• 9
System Requirements for Backup Servers • 66 System Requirements for Domain Parking
Server • 39
System Requirements for MySQL 4 Database Servers • 85
System Requirements for MySQL 5 Database
Servers • 88
System Requirements for osCommerce Server • 60
System Requirements for phpMyAdmin
Servers • 52 System Requirements for phpPgAdmin
Servers • 55
System Requirements for PostgreSQL Database Servers • 97
System Requirements for SSL Proxy Server •
44
System Requirements for Urchin Server • 64 System Requirements for Web File Manager
Server • 23
T
Typographical Conventions • 6
U
Uninstalling Web Statistics Processor Server •
84
Updating Certificate • 51
Upgrading Linux/Windows VPS Hardware Node from PVC 3.x to PVC 4.x (Shared
VPSs) • 137
Upgrading MySQL Database Server on Hardware Node • 93
Upgrading MySQL Database Server on VPS •
94 Upgrading MySQL PPM Package on Service
Node • 97
Upgrading MySQL4 Database Servers to
MySQL5 • 91 Upgrading Plesk Sitebuilder • 105
Upgrading Web Server from Apache 2.0 to
Apache 2.2 • 33 Using VPS Hardware Node for Templates
Import • 132
Index 141
V
Viewing List of All MySQL4 Service Nodes •
91 VPS Scenario • 18, 76