This document is a step-by-step instruction on how to globally configure all virtual private servers
from the VPS host server.
Though, H-Sphere VPS interface configuration may slightly vary from version to version, the core procedure
remains the same:
Log into the VPS host server under root and run the VPS configuration script:
# /hsphere/shared/scripts/vps-configure.pl
You'll see the versions of VPS packages installed on your host server. For example:
Kernel: 2.4.21-freevps-1.4hugemem
FreeVPS patch build: 1114360337
Base freevps tools package: freevps-tools-1.3-17
H-Sphere VPS scripts package: hsphere-vps-1.3-6.7
RedHat release: RH73
With the further steps, you'll perform basic configuration for all your virtual servers.
The default values are enclosed in square brackets ([ ]). To accept them, press ENTER.
Point to all Virtual Private Servers home directory which you has created during installation:
Please point to the directory where all Virtual Private Servers will be stored.
Make sure it has enough free space!
The default is: [/hsphere/local/vservers]
After entering path, you will be informed about free disk space in it:
Free disk space on /hsphere/local/vservers: XXXXXXXX Mb
Choose the gateway. The gateway of the main server,
suggested as the default, should be selected if the main server and the virtual private servers
will belong to the same subnet. Otherwise, enter a different gateway's IP:
Gateway will be used for routing by VPSs: [192.168.112.1]
See also VPS Network Configuration
Specify the IPs of your name servers. If you are running the script for the first time,
no defaults are suggested. Once you enter name server IPs, they will be remembered and used when
you run the script again:
Enter name server IP(s) separated with spaces: [192.168.112.1 192.168.112.102]
On this step, the script tries to find this host's network device. To accept the suggested value,
press Enter. Otherwise, enter a different device name:
Host ethernet device will be used for VPSs: [eth0]
If you need to assign more than 16 IPs to VPS, type "yes" to
use ethernet aliases:
Would you like to use virtual ethernet device [eth0] aliases instead of creating new
virtual devices [yes/no]?
Normally, VPS supports up to 16 virtual ethernet devices, and up to 16 IPs per each virtual
ethernet device, thus totally 16x16=256 IPs available for assignment per VPS.
But if it requires to assign more than 16 different IPs to VPS, you need to
reconfigure your VPS to assign IPs to virtual ethernet devices aliases.
Specify the directory with the full set of RPMS. If you don't have the RPMS, they will be
downloaded to this directory on the next step. If your RPMS are located in the default directory
(for example, in /home/RedHat/7.3/RedHat/RPMS),
just press Enter, otherwise, type the actual path to the RPMS directory:
Please specify where Linux RedHat 7.3 installation RPMs are located.
The default is: [/home/RedHat/7.3/RedHat/RPMS]
Then you will be asked for required packages checking.
Configuration script can perform package test in case it is damaged, using gpg -- encryption and signing tool.
To say "yes" just press 'Enter' or type 'y', 'yes'.
Would you like to check Linux RH73 installation RPMs [y/n]?
You can install on your virtual servers additional sets of packages, or
VPS templates. Default VPS templates are:
samba-server - Windows File Server
ftp-server - FTP Server
pgsql-server - Postgresql SQL Database
web-server - Web Server
dns-server - DNS Name Server
mysql-server - MySQL Database
mail-server - Mail Server
news-server - News Server
perl-full - Perl programing language modules
system-tools - System Tools
development-tools - Development Tools
You can also enable some additional services:
smb - provide SMB network services
winbind - Starts and stops the Samba winbind daemon
postgresql - This is the init script for starting up the PostgreSQL server
aep1000 - load and unload AEP1000 coprocessor driver
bcm5820 - BCM5820 - Broadcom BCM5820 Cryptonet init script
squid - Squid - Internet Object Cache
tux - This starts and stops the TUX kernel-based http server.
httpd - Startup script for the Apache Web Server
named - DNS service
mysqld - This service takes care of starting and stopping the MySQL subsystem (mysqld);
You will get the following prompt:
Would you like to install additional templates such as: "(templates list goes here)" [y/n]?
If you choose to install additional packages, you will have the opportunity to
configure templates and services to be available on your Virtual Private Servers.
Read more about H-Sphere VPS templates.
Additional services:
1 - [ ] httpd
2 - [ ] sendmail
3 - [ ] mysqld
4 - [ ] postgresql
5 - [ ] rhnsd
6 - [+] winbind
--------------------------
[ a ] - add
[ d ] - delete
[ s ] - save and exit
[ e ] - exit without saving
---------------------------
Enter the number of the service to be turned on/off,
or choose an option:
If you are going to enable new Additional services, the script will prompt you to
enter the name of a service.
Mind that service must be installed to a virtual server.
/etc/rc.d/init.d/<service_name> is required to start/stop the service in your
virtual server(s).
For example, to enable the winbind service, packages from the samba
list (/hsphere/local/config/vserver/RH73/rpm_samba.cfg)
will install the /etc/rc.d/init.d/winbind file.
[ d ] - deletes lists/services from the additional package lists/services enabled.
[ c ] - changes list installation priority.
For example, installation packages from the http package list
(packages required to install Apache Web server) require
the gcc package to be installed first.
[ n ] - helps you to create your own list of additional packages to install.
Enter the name of the new list of package (i.e., my_list)
and the names of RPM packages to be added to the list.
Press Enter after each package name. When you finish, press Ctrl+D.
Remember that all of this packages must be located in the RPMS directory.
If these packages are not there, you will be prompted to download them.
Then, you save the list and exit ([ s ]), or exit without save ([ e ]).
If you don't have required RPM packages for the base Linux installation
(e.g. you installed RedHat from a CD-ROM), answer YES (type 'yes'),
and the script will download these packages:
Would you like the script to automatically download
required for Linux RH73 installation RPMs [yes/no]?
If you choose to download the packages (answered YES on the previous step),
you will be prompted for their location:
Please specify the URL where Linux RH73 installation RPMs are located.
The default is: [ftp://192.168.112.77/pub/RedHat/7.3/RedHat/RPMS]
If the URL is valid, the download will start:
Downloading packages ...
base packages:
4Suite-0.11.1-8.i386.rpm [OK]
Distutils-1.0.2-2.noarch.rpm [OK]
...
------------------------------------
202 packages successfully downloaded.
0 packages skipped.
0 packages failed to download.
If some packages fail to download, please download them manually
or run this script once again.
Script will check all required packages.
If the gpg Linux RPMs public key is not installed, script will install it.
Also script will import Linux RPMs public key to rpm database.
If public key is installed and imported, you will see it, and all templates will be checked. For example:
Linux RH73 RPMs public key:
/root/.gnupg/pubring.gpg
------------------------
pub 1024D/DB42A60E
sub 2048g/961630A2
Checking packages required for VPS initialization ...
Checking in 'base' template ...
Specify if all VPSs will start at system reboot. Type 'y', 'yes' or press Enter for YES.
If you choose 'no', none of your VPSs will be started automatically, and you will have to resume
every individual VPS manually in the control panel after the system reboot:
Would you like all VPSs to start at physical server startup [y/n]?
At this point, the script will finish the configuration with the following notification
(see VPS cron scripts in VPS scripts documentation):
Writing to crontab: vps-cron-fix.pl [OK]
Writing to crontab: vps-cron.pl [OK]
Writing to crontab: vps-cron-traf.pl [OK]
Writing to crontab: vps-cron-delete.pl [OK]
Changing chkconfig... [OK]
At the end, you'll be prompted to save the changes you have made:
Save your changes [y/n]?