Professional Documents
Culture Documents
Provider's Guide
Revision 1.0
Copyright Notice
Parallels Holdings, Ltd.
c/o Parallels International GMbH
Vordergasse 49
CH8200 Schaffhausen
Switzerland
Phone: +41-526-722-030
Fax: +41-526-722-010s
Copyright © 1999-2010 Parallels Holdings, Ltd. and its affiliates. All rights reserved.
This product is protected by United States and international copyright laws. The product’s
underlying technology, patents, and trademarks are listed at http://www.parallels.com/trademarks.
Microsoft, Windows, Windows Server, Windows NT, Windows Vista, and MS-DOS are registered
trademarks of Microsoft Corporation.
Linux is a registered trademark of Linus Torvalds.
Mac is a registered trademark of Apple, Inc.
All other marks and names mentioned herein may be trademarks of their respective owners.
Contents
Preface 4
Typographical Conventions ........................................................................................................... 4
Feedback ....................................................................................................................................... 5
Preface
In this section:
Typographical Conventions ................................................................................. 4
Feedback............................................................................................................. 5
Typographical Conventions
The following kinds of formatting in the text identify special information.
Feedback
If you have found an error 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.
CHAPTER 1
This document is targeted at HSP administrators who aim to implement the Panel
deployment, i.e. to automate its installation and upgrade in the way that meets
particular business needs.
Scope
A typical Panel installation using the Parallels Installer utility requires user input and is
time-costly when it comes to handling a large number of hardware nodes or physical
servers. To leverage these complex deployments, we offer the automation solutions
described in this document.
The document explains how to install or upgrade the Panel in Virtuozzo Containers, or
how to perform it on physical servers without interacting with the Parallels Installer
utility. From here you can also learn how to create a local mirror of the Parallels
Updates server to reduce traffic and save time.
The scenarios of single installations through Parallels Installer are covered by the
separate document Parallels Plesk Panel 10.0 Installation and Upgrade Guide.
Overview
Chapter "Post-Deployment Panel Setup" describes actions you might want to perform to set
up a deployed Panel instance.
Chapter "Mirroring Parallels Updates Server" discusses a topic of creating custom mirrors of
the Panel distributions repository.
Chapter "Installing and Upgrading License Keys" explains how to install or upgrade the
Panel license key.
CHAPTER 2
In this chapter:
PVC for Linux ...................................................................................................... 7
PVC for Windows ................................................................................................ 14
Shipped Templates
Since both major-version and fixed-version sets of templates provide the same
components, we will list only the major-version ones for the simplicity sake.
The following EZ templates are shipped for Parallels Plesk Panel 10:
pp10-gameservers The Panel game server modules: Counter Strike and Battlefield 2.
pp10-migration The Panel migration manager, allows migrate hosting data from
other Panel servers.
The first stage is performed on each hardware node only once: As soon as an
application template is installed on a hardware node, it can be deployed to as many
Containers as required. Instead of creating a new Container every time you need to
deploy a Container with the Panel, there is always an option to clone an existing
Container where the Panel is installed, which acts as a sort of Template Container.
When the template is being installed on a hardware node, the core set of files is
deployed, which includes defining of the application packages repository. Then, when
the application is installed in a container, Parallels Containers communicates with the
repository (the default one resides at http://autoinstall.plesk.com), retrieves the
application packages, and installs them in the container. The packages are stored in
the node cache until it is cleaned up, and then the packages are retrieved from the
repository again when the application is installed in the Container.To save time and
reduce traffic, you may want to use a custom mirror of the Panel repository. For details,
see Mirroring Parallels Updates Server.
After the installation is finished, initialize the Panel (on page 30).
1. Obtain the template from the Parallels Web site and upload it to the
target Parallels Containers hardware node.
2. Install the application template by running a command in the following
format:
rpm -Uvh <absolute path to the template>
2. Set a barrier and limit for unswappable kernel memory, private (or potentially
private) memory, number of files opened by all Container processes, disk space
and the total number of disk inodes (files, directories, symbolic links) a
Container can allocate
3. Save the barrier/limit values to the Container configuration file.
4. Enable working Power Panel on the vzpp port with the "--
offline_management yes --offline_service vzpp" options.
# vzctl create 444 --ostemplate debian-5.0-x86_64
# vzctl set 444 --ipadd 10.100.1.2 --hostname example.com --
save
# vzctl set 444 --save --kmemsize 24299200:26429120 --
privvmpages 362144:392912 --numfile
12000:12000 --diskspace 5117880:5242880 --diskinodes
350000:370000
# vzctl set 444 --save --offline_management yes --
offline_service vzpp
Important: It is mandatory to use exactly these values for the options to ensure the
Panel compatibility with the Virtuozzo environment.
¾ To clone a Container:
Issue a command in the following format:
vzmlocal -C {CT List}
{CT List} =
<source_CTID>:<dst_CTID>[:[<dstCT_private>][:<dstCT_root>]] [...]
You should specify the source Container ID (<source_CTID>) and the destination
Container ID (<dst_CTID>). Specifying the destination Container private area path
(<dstCT_private>) and root path (<dstCT_root>) is optional allowing you to
override the default paths - /vz/private/<dst_CTID> and
/vz/root/<dst_CTID>, respectively. For details on the command options, refer to
the Parallels Containers for Linux Reference Guide located at the Parallels Technology
Network (http://www.parallels.com/ptn/documentation/virtuozzo/).
For example, to clone the Container with the Panel created during the previous
procedure, run the following command:
# vzmlocal -C 444:445
Deployment Inside Parallels Virtuozzo Containers 13
Important: Make sure you upgrade all installed components when upgrading to a
newer version of Parallels Plesk Panel. This is required to avoid conflicts caused by
outdated components.
Note: Do not remove templates of previous Plesk versions from the VPS prior to
upgrade.
Important: Parallels Plesk Sitebuilder 4.5 is not upgraded. Alternatively, the new
version of SiteBuilder installs beside the previous one. Hence, you have the opportunity
to manage existing sites in Sitebuilder 4.5 and create new sites either in Sitebuilder 5.0
or in 4.5. The upgrade of existing sites to the new format is performed manually.
¾ To upgrade Plesk 8.x or 9.x to the Panel 10.0 installed with EZ templates in
Parallels Containers environment:
1. Install the latest versions of the Panel templates on the hardware node
with the following command:
rmp -Uvh <list of vztemplates>
2. Do not remove templates for previous versions of Plesk and install the
latestx versions of the Panel templates in the container with the
following command:
vzpkg install <CTID> <list of selected plesk10.0* templates>
For example:
vzpkg install 444 pp10 pp10-kav
Shipped Templates
The following templates are shipped for Parallels Plesk Panel 10:
PANEL_10.0.0
Deploying Parallels Plesk Panel in a Parallels Containers environment implies the following
two stages:
1. Installing the Panel application template on a hardware node.
2. Creating a Container and deploying the application from the template.
The first stage is performed on each hardware node only once: As soon as an application
template is installed on a hardware node, it can be deployed to as many Containers as
required.
Instead of creating a new Container every time you need to deploy a Container with the
Panel, there is always an option of cloning an existing Container where the Panel is installed,
which acts as a sort of Template Container.
After the installation is finished, initialize the Panel (on page 30).
Note: If your operating system is Microsoft Windows 2008 and the container offline
management is turned on, you can log in to the Panel by requesting https://host-name:8443/
or https://IP-address:8443/ and providing your local administrator credentials, or by
requesting http://host-name:8880/ or http://IP-address:8880/ and providing global
administrator credentials.
Important: It is mandatory to use exactly these values for the options to ensure the Panel
compatibility with the Virtuozzo environment.
vzctl create 444 --pkgset w2k3 --ipadd 192.0.2.44
vzctl set 444 --save --diskspace 4500000 --vprvmem 1024 --
userpasswd Administrator:P4$$w0rd
vzctl set 444 --save --offline_management yes --offline_service
vzpp
2. Start the newly created Container:
vzctl start <CT_ID>
3. Install the Microsoft .NET framework version 2.0 or later into your Container:
vzpkgadd <CT_ID> <dotnet_template_name>
For example,
vzpkgadd 444 dotnet2.0_frmwk-2.0.50727.42/20070613
4. Install the Panel template into the Container:
vzpkgadd <CT_ID> <plesk_template_name>
For example,
vzpkgadd 444 PANEL_10.0.0/20100804.10
¾ To clone a Container:
Issue a command in the following format:
Deployment Inside Parallels Virtuozzo Containers 17
vzmlocal -C <CT_List>
<CT_List> = <source_CTID>:<dest_CTID>[:<dest_private>] [options]
You should specify the source Container ID (<source_CTID>) and the destination
Container ID (<dest_CTID>). Specifying the destination Container private area path
(<dest_private>) is optional; it allows you to override the default path of
X:\vz\private\<CT_ID>. For details on the command options, refer to the Parallels
Containers for Windows Reference Guide located at the Parallels Technology Network
(http://www.parallels.com/ptn/documentation/virtuozzo/).
For example, to clone the Container with the Panel created during the previous procedure:
vzmlocal -C 444:445
Important: Make sure you upgrade all installed components when upgrading to a newer
version of Parallels Plesk Panel. This is required to avoid conflicts caused by outdated
components.
Important: Parallels Plesk Sitebuilder 4.5 is not upgraded. Alternatively, the new version of
SiteBuilder installs beside the previous one. Hence, you have the opportunity to manage
existing sites in Sitebuilder 4.5 and create new sites in SiteBuilder 5.0. The upgrade of
existing sites to the new format is performed manually.
For example, if you have Parallels Plesk Panel 9.3.0 installed with the plesk_9.3.0_20091224
template, to upgrade to version 10.0 with the PANEL_10.0.0_20100923.19 template, run
the following command:
On Virtuozzo 3.5.x:
vzpkgadd 444 PANEL_10.0.0_20100923.19
On PVC 4:
vzpkgadd 444 PANEL_10.0.0/20100923.19
18 Standalone Deployment
Standalone Deployment
This section discusses automation of the Panel deployment in a non-Parallels Containers
environment, be it Linux/Unix- or Windows-based. The section briefs on the Panel installation
basics, and then provides instructions on installing the product using the command line
interface.
Standalone deployment of the Panel is performed using the Parallels Installer utility. The
utility connects to a Parallels Plesk Panel update server where the Panel packages are
stored, retrieves required packages and installs them.
Parallels Installer works in either interactive mode (via the Web graphical user interface or
command line), or automatic when it is run from command line with particular options
specified. The latter allows automating the Panel deployment by using shell scripts.
There are several distributions of Parallels Installer created for different operating systems
and platforms, so be sure to obtain the Parallels Installer matching your host operating
systems. Normally, Parallels Installer binaries are distributed under names in the following
format: parallels_installer_v<installer version>_<build
date>_os_<operating system name>_<operating system
version>_<platform>.
Note: When describing Parallels Installer CLI, we assume that the Parallels Installer utility is
called parallels_installer.
In this section:
Getting Release ID .............................................................................................. 19
Getting List of Product Components ................................................................... 19
Installing the Panel .............................................................................................. 19
Installer CLI Reference (Reduced) ..................................................................... 21
Installation Script (Linux/Unix) ............................................................................. 24
Standalone Deployment 19
Getting Release ID
Release ID is a unique identifier of the Panel release, for example, Parallels Plesk Panel
10.0.0.
Examples, Linux/Unix
1. The following command installs Parallels Plesk Panel 10.0 (release ID is PANEL_10_0_0)
from the mirror set up on server available via HTTP at host mirror.example.com. Installation
files will temporarily be stored at /tmp/panel, and the installation status will be reported to e-
mail admin@example.com. The installed components are base Panel packages,
PostgreSQL server, and SpamAssassin spam filter.
./parallels_installer --source http://mirror.example.com/ --target
/tmp/panel --select-release-id PLESK_10_0_0 --install-component base --
install-component postgresql --install-component spamassassin --notify-
email admin@example.com
2. The following command performs the complete installation (all available product
components are installed) of Parallels Plesk Panel 10.0 (release ID is PANEL_10_0_0) from
the Parallels Update server. All installer output will be redirected to an XML file.
./parallels_installer --select-release-id PLESK_10_0_0 --install-everything
--enable-xml-output
Standalone Deployment 21
Examples, Windows
To know more about options related to upgrading already installed Panel or the host
operating system, issue the following command:
parallels_installer --help
Example:
--proxy-host proxy.example.com
22 Standalone Deployment
Example:
--proxy-port 5741
Proxy authentication If your proxy server requires authentication, you should use these
options: options to authenticate the installer at the proxy server.
--proxy-user <user-
name> Example:
--proxy-password --proxy-user smith --proxy-password f1sZ9AnQ4EnO52
<password>
--show-releases Specify this option to retrieve a list of available releases for the
operating system where the installer is executed. You will be given a
list of release identifiers and release descriptions. The release
identifiers are what you will need to deal with.
--show-all-releases This option shows all releases available from the Panel updates
server.
--select-release-id Use this option to specify a release version that you want to install or
<ID> view properties of.
--select-release- Use this option to select the latest release available for your operating
latest system.
--show-components Specify this to obtain the information on the components available for
the selected release. Components’ descriptions and names will be
displayed.
The component names are what you need to specify when selecting
additional components to install.
--install-component Use this option to specify a component that you wish to install. If you
<component-name> want to install two or more components at once, repeat this option for
each component.
Example:
--install-component base --install-component
postgresql --install-component spamassassin
--install- Use this option to install all components of the selected release.
everything
--show-os-list Use this option to find out what operating systems are supported by
the Panel version you selected.
--no-space-check Installs packages even if you are low on disk space.
--no-daemon Performs installation process in the foreground.
--notify-email <e- Use this option to have the installer send you status reports by e-mail.
mail> A successful completion report includes a list of installed/upgraded
packages with a detailed log.
Standalone Deployment 23
When you specify this option, all output of the installer is XML-
wrapped. Note that this option disallows the installer to report errors
by exit code. Exit code is always zero and all errors are reported
inside XML output.
--query-status Because RPM database does not allow multiple accesses, the
installer makes a lock on its functionality. Run this option to find out if
the installer is active. This will check for a lock, and will return either
an exit code (0 - the installer is idle, 1 - the installer is running and
busy), or XML-formatted output.
--truncate-log Clears log file on Parallels Installer start.
--separate-log Uses new log file for each start of Parallels Installer.
Sample Scripts
1. This sample script is applicable in cases when Parallels Installer is previously uploaded to
the target server and the execution bit is set in its permissions.
#!/bin/sh
SERVERS_LIST="node1.example.com node2.example.com"
for current_server in $SERVERS_LIST; do
scp parallels_installer root@$current_server:
ssh -f root@$current_server "parallels_installer --source
http://updates.example.com/ --target /tmp/panel --select-release-id
PLESK_10_0_0 --install-component base --install-component postgresql --
install-component asp --notify-email admin@example.com"
done
2. This sample script is applicable in cases when the Parallels Installer binary is obtained
directly from a network location (the sample URL
http://example.com/type_parallels_installer_name_here should be substituted with a valid
installer download link).
#!/bin/sh
SERVERS_LIST="node1.example.com node2.example.com"
for current_server in $SERVERS_LIST; do
ssh -f root@$current_server 'wget
http://example.com/type_parallels_installer_name_here -o
parallels_installer;chmod 755 ./parallels_installer;./parallels_installer -
-source http://updates.example.com/ --target /tmp/panel --select-release-id
PLESK_10_0_0 --install-component base --install-component postgresql --
install-component spamassassin --notify-email admin@example.com'
done
CHAPTER 3
In this chapter:
Optimizing Panel for Operation in VPS ............................................................... 26
Setting Up Admin Password After Installation..................................................... 29
Setting Up Locale ................................................................................................ 32
Enabling Power User UI ...................................................................................... 33
CHAPTER 4
Note: The optimized mode can be switched on only on the Panel clean installations, it
is not applicable to the Panel installations upgraded from earlier versions.
Important: The optimized mode can only be enabled on fresh installations of the Panel
which have not yet been initialized, or, in other words, have not undergone the initial
configuration.
¾ If you need to switch the Panel back to the normal mode of operation,
perform the following steps:
1. Switch on the InnoDB engine.
a. Open for editing the file /etc/my.cnf.
b. Locate the lines containing entries skip-innodb and remove
them, or comment them out.
c. Save the file.
d. Restart MySQL server.
Post-Deployment Panel Setup 27
In this chapter:
Apache Modules Switched Off in VPS-Optimized Mode..................................... 28
28 Post-Deployment Panel Setup
The following Apache modules are switched off in the optimized mode:
authn_alias
authn_anon
authn_dbm
authn_default
authz_user
authz_owner
authz_groupfile
authz_dbm
authz_default
ldap
authnz_ldap
ext_filter
mime_magic
deflate
usertrack
dav_fs
vhost_alias
speling
proxy_balancer
cache
disk_cache
file_cache
mem_cache
version
asis
Post-Deployment Panel Setup 29
bw
proxy_ajp
auth_ldap
perl
python
php5
php4
The list of the modules can vary depending on the operating system distribution and
architecture. When Parallels Plesk Panel is installed and the optimized mode is
switched on, you can check the list in the following files:
On 32-bit operating systems - /usr/lib/plesk-
9.0/vps_optimized_aspects/apache-modules-all
On 64-bit operating systems - /usr/lib64/plesk-
9.0/vps_optimized_aspects/apache-modules-all
After the installation is finished, you can set the admin's password being authenticated
in the Panel with credentials of the server system power user, that is "root" on Linux
systems, and "Administrator" on Windows systems. Such authentication with
administrator's system account works in both cases of logging in to the Panel GUI and
using API RPC.
The admin's password can be set up during the Panel initialization (this is the best
way), or afterwards.
In this section:
During the Panel Initialization.............................................................................. 30
After Initialization ................................................................................................. 31
30 Post-Deployment Panel Setup
In case your Panel instance has already been initialized, refer to the following section
for instructions on how to set up the admin's password.
1. The server power user credentials are specified as the HTTP_AUTH_LOGIN and
HTTP_AUTH_PASSWD values in HTTP header of the packet.
2. The packet content is as follows:
<packet version="1.6.3.0">
<server>
<initial_setup>
<admin>
<admin_cname>JohnDoe BV.</admin_cname>
<admin_pname>John Doe</admin_pname>
<admin_phone>+49 89333333</admin_phone>
<admin_fax>+49 893333303</admin_fax>
<admin_email>john@example.com</admin_email>
<admin_address>Theatinerstrasse 96</admin_address>
<admin_city>Muenchen</admin_city>
<admin_state>Bavaria</admin_state>
<admin_pcode>80333</admin_pcode>
<admin_country>DE</admin_country>
<send_announce>true</send_announce>
</admin>
<password>Qwerty1234</password>
<server_name>example.com</server_name>
</initial_setup>
</server>
</packet>
Post-Deployment Panel Setup 31
On Linux/Unix:
/usr/local/psa/bin/init_conf --init -passwd jskekekHTD -email
johndoe@example.com
On Windows:
%plesk_cli%\init_conf.exe --init -passwd jskekekHTD -email
johndoe@example.com
After Initialization
In case your Panel instance has already been initialized, it is still possible to set the
admin's password being authenticated as the server power user.
On Linux/Unix:
PSA_PASSWORD=<new_password> /usr/local/psa/bin/init_conf --set-admin-
password -passwd "
On Windows:
%plesk_cli%\init_conf.exe --set-admin-password -passwd <new_password>
¾ To set up the admin's password using GUI if you do not know the current
admin's password:
1. Log in to the Panel using the server power user credentials.
2. If you have at least one own subscription, skip this step. Otherwise,
create a subscription:
a. In the left frame, click Hosting Services > Subscriptions.
b. Click Add New Subscription.
c. Specify a website and subscription info and click OK.
3. Go to the Control Panel: click the Control Panel link next to your
subscription.
4. Go to the Users tab.
5. Click the 'Admin' link in the list of user account.
6. Under the Panel Preferences, type in the new password and its
confirmation, and click OK.
Post-Deployment Panel Setup 33
Setting Up Locale
¾ To change the default en-US locale:
1. Log in to the Parallels Plesk Panel server via SSH.
2. Change the locale by running the utility:
On Linux:
# /usr/local/psa/bin/admin --update -locale en-US
On Windows:
> %plesk_cli%\admin --update -locale en-US
The power user interface combines the simplicity of Parallels Small Business Panel
and powerful hosting management features of Parallels Plesk Panel product line. It is
intended for users who do not need functions for reselling shared hosting services and
accommodating new resellers and customers:
There is no hierarchy of user accounts specific to shared hosting: no resellers, no
customers.
There are no service plans, subscriptions, and limits on amounts of resources
consumed by websites.
¾ To enable the power user mode through the Panel command line:
On Linux systems, issue the command:
/usr/local/psa/bin/poweruser --on -ip <ip-address> -domain
<domain_name>
On Windows systems, issue the command:
%plesk_bin%\poweruser.exe --on -ip <ip-address> -domain <domain_name>
where
<ip-address> is the IP address allocated to the administrator's default
webspace. This option is required in case there are no subscriptions belonging to
admin.
<domain_name> is the name of the default webspace and the main website in this
webspace. If the -domain option is not specified, the server host name will be
used. The option makes sense only when used together with -ip.
34 Post-Deployment Panel Setup
¾ To switch the power user mode off and return to the standard panel view
through the command line:
On Linux systems, issue the command:
/usr/local/psa/bin/poweruser --off
On Windows systems, issue the command:
%plesk_bin%\poweruser.exe" --off
A mirror of Parallels Plesk Panel for the Linux repository can serve both standalone and
Parallels Containers installations (depending on the volume of the mirrored packages).
In this section:
Mirroring Linux/Unix Distributions........................................................................ 35
update-<type>-<os-name>-<version>-<architecture>
Packages required to install the product.
36 Mirroring Parallels Updates Server
Note: If you mirror only Virtuozzo templates, we recommend to exclude the update-*
directories from mirroring.
thirdparty-<type>-<os-name>-<version>-<architecture>
Additional third-party packages.
<product>-<parallels-panel-version>-<os-name>-<architecture>.inf3
Parallels Installer configuration files. Here product is one of the following: plesk,
sitebuilder, billing.
2. Create a directory in which the files should reside. For illustration purposes,
we will call this directory destination_directory/.
Important: If you mirror separate packages for Debian and Ubuntu, create the /debian
and /ubuntu subdirectories inside destination_directory, and sync them
separately. For example, to sync the Panel for Debian, the rsync command turns into the
following: rsync -au --delete
rsync://autoinstall.plesk.com/autoinstall/debian/PSA_10.0.0/
destination_directory/debian
This applies to all rsync calls.
This command downloads the configuration files.
# rsync -auv --delete
rsync://autoinstall.plesk.com/'autoinstall/products.inf3
autoinstall/plesk.inf3 autoinstall/pp-sitebuilder.inf3
autoinstall/billing.inf3' destination_directory
This command mirrors EZ templates for Parallels Virtuozzo containers for RPM-based
repositories. If you plan not to mirror EZ templates or you plan to serve Debian or Ubuntu
OSes, omit this step.
# rsync -au --delete
rsync://rsync.autoinstall.plesk.com/autoinstall/PSA10/
destination_directory/PSA10
Mirroring Parallels Updates Server 37
These commands create links that the installer uses to install EZ templates on DEB-
based OSes. If you plan not to mirror EZ templates or you serve RPM-based OSes, omit
this step.
# cd destination_directory/debian; ln -s PSA_10.0.0 PSA10
# cd destination_directory/ubuntu; ln -s PSA_10.0.0 PSA10
4. Edit Parallels Installer configuration files to define which products, versions
and platforms should be supported by the mirror.
a. Remove the element with ID ppsmbe From products.inf3.
b. Edit the plesk.inf3 file removing all the build elements except
those of the operating systems and architectures you wish to be
supported by the mirror.
c. Edit the billing.inf3 and pp-sitebuilder.inf3 files
removing all the build elements except those of the operating
systems and architectures you wish to be supported by the mirror.
After the mirror is created, add the rsync calls to an executable file, and run it when you need
to update the mirror data.
In this chapter:
Installing License Keys........................................................................................ 38
Upgrading a Trial License Key ............................................................................ 39
1. On Linux/Unix:
./license -i /tmp/pp10key.xml
2. On Windows:
license.exe -i "D:\keys\pp10key.xml"
Installing and Upgrading License Keys 39