Building A Virtual Server (VPS) With Debian 3.1 (Sarge) And OpenVZ - Page 3

Want to support HowtoForge? Become a subscriber!
 
Submitted by till (Contact Author) (Forums) on Wed, 2006-03-08 21:54. ::

3 Build Your Own Ubuntu OpenVZ Virtual Private Server Template

First install the debootstrap utility from Ubuntu. This allows us to bootstrap Debian Sarge and Ubuntu installations.

cd /tmp
wget http://archive.ubuntulinux.org/ubuntu/pool/main/d/debootstrap/debootstrap_0.3.3.0ubuntu3_all.deb
dpkg -i debootstrap_0.3.3.0ubuntu3_all.deb

Now we bootstrap the Ubuntu installation. I use the VPS ID 110. You can use any ID, as long as it is unused on the server and > 100.

debootstrap --arch i386 dapper /var/lib/vz/private/110 http://archive.ubuntulinux.org/ubuntu

Apply the basic configuration to the VPS:

vzctl set 110 --applyconfig vps.basic --save

Set the name of the template:

echo "OSTEMPLATE=ubuntu-6.06" >> /etc/vz/conf/110.conf

Set the IP and nameserver. If you get this warning: "Warning: configuration file for distribution ubuntu-6.06 not found default used", ignore it.

vzctl set 110 --ipadd 192.168.0.169 --save
vzctl set 110 --nameserver 192.168.0.2 --save
vzctl set 110 --numothersock 120 --save

Add some additional package sources to the sources.list of the VPS:

echo "deb http://archive.ubuntulinux.org/ubuntu dapper-updates main restricted" >> /var/lib/vz/private/110/etc/apt/sources.list
echo "deb http://archive.ubuntulinux.org/ubuntu dapper universe" >> /var/lib/vz/private/110/etc/apt/sources.list
echo "deb http://security.ubuntu.com/ubuntu dapper-security main restricted" >> /var/lib/vz/private/110/etc/apt/sources.list
echo "deb http://security.ubuntu.com/ubuntu dapper-security universe" >> /var/lib/vz/private/110/etc/apt/sources.list

Start the VPS:

vzctl start 110

Update the system:

vzctl exec 110 apt-get update
vzctl exec 110 apt-get -u upgrade
vzctl exec 110 apt-get install ssh libedit2 openssh-client openssh-server quota

Disable gettys on terminals:

vzctl exec 110 sed -i -e '/getty/d' /etc/inittab

Fix some mounts:

vzctl exec 110 rm -f /etc/mtab
vzctl exec 110 ln -s /proc/mounts /etc/mtab

Run apt-get clean to remove unnecessary packages:

vzctl exec 110 apt-get clean

Stop the VPS and remove the IP addresses:

vzctl set 110 --ipdel all --save
vzctl stop 110

Delete the SSH host keys and create a script thet generates new host keys on first boot of the VPS:

rm -f /var/lib/vz/private/110/etc/ssh/ssh_host_*
cat << EOF > /var/lib/vz/private/110/etc/rc2.d/S15ssh_gen_host_keys
#!/bin/bash
ssh-keygen -f /etc/ssh/ssh_host_rsa_key -t rsa -N ''
ssh-keygen -f /etc/ssh/ssh_host_dsa_key -t dsa -N ''
rm -f \$0
EOF
chmod a+x /var/lib/vz/private/110/etc/rc2.d/S15ssh_gen_host_keys

Pack the VPS to make it easily installable:

cd /var/lib/vz/private/110
tar czf /var/lib/vz/template/cache/ubuntu-6.06-minimal.tar.gz .

Hint: The dot in the line above is part of the command! It reads ....tar.gz[space][dot]

Now we remove the VPS we used to setup the template:

vzctl destroy 110

To create an instance of our Ubuntu server template, you can use this command:

vzctl create 102 --ostemplate ubuntu-6.06-minimal --config vps.basic

and then follow the other steps described in chapter 2.

4 Links

All trademarks are the property of their respective owners. OpenVZ and Virtuozzo are trademarks of SWSoft.


Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.