Plesk in VE

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search

Below is an example transcript of installing Plesk into an OpenVZ container (container#11):

# vzctl create 11 --ostemplate centos-4-i386-default
Creating container private area: /vz/private/11
Performing postcreate actions
container private area was created

 # vzctl set 11 --quotaugidlimit 150 \
   --numproc 400:400 \
   --kmemsize 16384000:18022400 \
   --privvmpages 262144:292912 \
   --hostname=plesk.example.com \
   --diskspace 2000000:2000000 \
   --shmpages 16384:16384 \
   --ipadd 127.1.2.3 \
   --save
Saved parameters for container 11

# vzctl set 11 --userpasswd root:pass
Changing password for user root.
passwd: all authentication tokens updated successfully.

# vzctl set 11 --iptables "iptable_filter iptable_mangle ipt_limit ipt_multiport ipt_tos ipt_TOS ipt_REJECT ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_LOG ipt_length ip_conntrack ip_conntrack_ftp ip_conntrack_irc ipt_conntrack ipt_state ipt_helper iptable_nat ip_nat_ftp ip_nat_irc" --save
Saved parameters for container 11

# vzctl start 11
Starting container ...
container is mounted
Adding IP address(es): 192.168.51.55
Setting CPU units: 1000
Set hostname: plesk.local
Setting quota ugidlimit: 150
container start in progress...

If you want to run a VPN server inside the container you need to TUN/TAP module. The following commands consolidate what needs to be done:

# modprobe tun
# lsmod | grep tun
tun                     6624  0 
# vzctl set 11 --devices c:10:200:rw --save
Setting devices
Saved parameters for container 11
# vzctl exec 11 mkdir -p /dev/net
# vzctl exec 11 mknod /dev/net/tun c 10 200
# vzctl exec 11 chmod 600 /dev/net/tun

Make sure that the container's hostname (plesk.example.com) is resolving correctly to the container's IP address (127.1.2.3). You can also add the corresponding record to /etc/hosts as a workaround.

Due to how the Plesk VPN package install script works, it uses a regex on the output of "uname -r" to determine the kernel release to assure you have a minimum version of Virtuozzo (version 021stab025). So what you can do is get your version with "uname -r", and set the VE release name to fit the regex. For example:

# uname -r
2.6.18-194.26.1.el5.028stab079.2
# echo "2.6.18-194stab079.2" > /proc/sys/kernel/virt_osrelease
# vzctl restart 11

Then, go to http://www.parallels.com/download/plesk8/ and download the appropriate autoinstaller or the appropriate RPM. In this case, CentOS 4.3.

If you want to download the autoinstaller all you need to do is:

# cp -f /etc/resolv.conf /vz/private/11/etc/resolv.conf 
# vzctl enter 11
entered into container 11
# cd
# wget http://download1.parallels.com/Plesk/Plesk8.1/CentOS4.3/psa_installer_v3.1.0_build061201.02_os_CentOS_4.3_i386
# chmod a+x psa*
# ./psa_installer_v3.1.0_build061201.02_os_CentOS_4.3_i386

Proceed as you would if you were installing Plesk without OpenVZ.

When the installation over you will see something along the lines of:

                             Congratulations!
        Plesk has been successfully installed on your server.
        To complete the system configuration, please proceed to URL:
        https://plesk.local:8443/ or
        https://127.0.0.1:8443/
        Use the login name 'admin' and password 'setup'.

        Further, use the following commands to start and stop Plesk:
        "/etc/init.d/psa start" and
        "/etc/init.d/psa stop" respectively.

Plesk install full output

Plesk "about" webpage:

http://www.parallels.com/en/products/plesk/
http://www.parallels.com/en/products/plesk/docs/

Done. You can create a prepackaged template from this container for future installations.