VHCS Step By Step Installation and Configuration in Debian
Posted by admin on January 05 2007 12:45:12

http;//www.vhcs.net

VHCS Step By Step Installation and Configuration in Debian

Tutorial quote: VHCS2 delivers a complete hosting automation appliance by offering significant security, total-cost-of-ownership, and performance advantages over competing commercial solutions.

With VHCS Pro you can configure your server and applications, create user with domains with a few point-and-click operations that take less than a minute.

There is no limit to the number of resellers, users and domains that can be created.

At the core of VHCS Pro are 3 easy-to-use, Web-based control panels. VHCS provides graphic user interfaces for the administrators, resellers and users.

Reduce the time required to manage web sites.

For server owners and their resellers, VHCS Pro shortens the time and expertise required to deploy new sites.
For users, VHCS Pro makes easy management of site files, configuration and users.

Virtual hosts management (Name-based, IP-based)
CO-Domains (Domain alias) and sub domains management
DNS (BIND 8 and 9) management
FTP users
E-mail addresses
POP3 and IMAP accounts
Auto responders
CGI, PHP,SSI configuration and management
MySQL user databases
Disk quotas
IP addresses
Backup and restore
SSL-secured domains
password protection (.htaccess files)
Custom error files - 401, 403, 404 and 500
Traffic accounting
Multilanguage support
Skin-based graphic user interface - 4 pre-installed skins

Operating System
Administrators wishing to use VHCS should note that the following operating systems are supported:

Debian => Sid, Sarge or Woody
Fedora => Core 1,2,3,4,5 (hard to install though)
Red Hat => 7.x, 9.x
SuSE => 7.x, 8.x, 9.x
Ubuntu => Warty, Hoary Or Breezy


VHCS Debian installation

Software Requirements
To run VHCS you must have the following software daemons installed:

Postfix (Version 2 or greater)
ProFTPd
Apache (Version 2 or greater)
Courier POP3 and IMAP
Bind9
MySQL (Version 4 or greater)
iptables


Install Debian OS Core

http://www.howtoforge.com/perfect_setup_debian_sarge

 - boot from the debian cdrom #1
 - type 'expert' at the prompt and hit enter
 - choose 'load installer components from cd'
 - accept the list of modules
 - continue on to the second list of modules
 - make sure to select the 'mdcfg' option
 - configure network
 - start disk partitioner
 - choose manually edit
 - initialize raid

- Build 4 raid devices with the following characteristics:
  >>> RAID1
  >>> 2 active devices
  >>> 0 spare devices
  
 -   format raid device 0 partition 1 >>> ext3 >>>  mount point = /
 -   format raid device 1 partition 1 >>> ext3 >>>  mount point = /tmp
 -   format raid device 2 partition 1 >>> ext3 >>>  mount point = /var/log
 -   format raid device 3 partition 1 >>> ext3 >>>  mount point = /var
  
 -   commit changes >>> Yes
  
 -   install the base software
 
 -   install grub to the mbr

 -    boot into the new system

'/usr/sbin/base-config'
launches automatically during the first boot of the system.  
If you run through the software portion of 'base-setup' then it will install
unneeded packages on your system.

Skip software installation ; the only thing that you need to do here is :

 -   enable shadow passwords

then finalize configuration and log in


On install of Debian, select no packages to be installed, allow it to connect to the internet and let it download anything it needs, usually its libs etc. Exim is most likely installed at this point so dont worry it will be removed shortly.

1).vi /etc/apt/sources.list (add the following sources)

Code:
   deb ftp://ftp.uk.debian.org/debian/ stable main
   deb-src ftp://ftp.uk.debian.org/debian/ stable main

   deb http://security.debian.org/ stable/updates main
  
(dont forget to run "apt-get update" after)


2). apt-get install postfix postfix-tls proftpd-mysql courier-authdaemon courier-base courier-imap courier-maildrop courier-pop libberkeleydb-perl libc-dev libcrypt-blowfish-perl libcrypt-cbc-perl libcrypt-passwdmd5-perl libdate-calc-perl libdate-manip-perl libdbd-mysql-perl libdbi-perl libio-stringy-perl libmail-sendmail-perl libmailtools-perl libmd5-perl libmime-base64-perl libmime-perl libnet-dns-perl libnet-netmask-perl libnet-perl libnet-smtp-server-perl libperl5.8 libsnmp-session-perl libterm-readkey-perl libtimedate-perl perl perl-base perl-modules bind9 diff gzip iptables libmcrypt4 mysql-client-4.1 mysql-common-4.1 mysql-server-4.1 patch php4 php4-mcrypt php4-mysql php4-pear procmail libterm-readpassword-perl libsasl2-modules libsasl2 sasl2-bin apache2 apache2-common apache2-mpm-prefork libapache2-mod-php4 gawk libgd1g bzip2 wget make

(when you get to the courier screen screen select no to web directories)
(when you get to the postfix screen select internet site and then type root for mail. If you set debian up correctly on install your domain should be already on screen. Select no to force sync updates.)
(when yo get to the mysql screen, select standalone)


3). mysql -u root (no password at this stage, change it later!)

Code:

create database vhcs2;
use vhcs2
grant all privileges on *.* to 'vhcs2'@'localhost' identified by 'vhcs2' with grant option;
\q (quit program)


4). apt-get remove apache-common (if installed - not needed)


5). wget http://mesh.dl.sourceforge.net/sourceforge/vhcs/vhcs2-2.4.7.1.tar.bz2


6). tar -xjvf vhcs2-2.4.7.1.tar.bz2


7). cd vhcs2-2.4.7.1


8). cd configs


9). vi vhcs2.conf (make the changes to match your requirements, dont forget to change database name, username and password, these are what you need to change)

Code:

DEFAULT_ADMIN_ADDRES = your email
SERVER_HOSTNAME = your hostname
BASE_SERVER_IP = your ip
DATABASE_TYPE = mysql
DATABASE_HOST = localhost
DATABASE_NAME = vhcs2
DATABASE_PASSWORD = vhcs2
DATABASE_USER = vhcs


10). cd .. (back to the root of the vhcs2 directory)


11). make install (if command not found run 'apt-get install make')


12). cd /tmp/vhcs2*


13). cp -R * /


14). cd /var/www/vhcs2/engine/setup


15). ./vhcs2-setup (install script)

Code:

Wlecome to VHCS2 '2.4 Spartacus' Setup Dialog.

This program will set up VHCS2 system on your server.


Please press 'Enter' to continue.

Please enter system hostname (Enter for defaults) [debian]: yourhostname

Please enter system network address (Enter for defaults) [192.168.0.128]: your ipaddress

Please enter SQL server host (Enter for defaults) [localhost]:

Please enter system SQL database (Enter for defaults) [vhcs2]: vhcs2

Please enter system SQL user (Enter for defaults) [root]: vhcs2

Please enter system SQL password (Enter for defaults) [none]: vhcs2
Please repeat system SQL password: vhcs2

Please enter VHCS ftp SQL user (Enter for defaults) [vftp]: vftp

Please enter VHCS ftp SQL user password (Enter for defaults) [none]: vftp
Please repeat VHCS ftp SQL user password: vftp

Please enter administrator login name (Enter for defaults) [admin]:

Please enter administrator password: your password
Please repeat administrator password: your password

Please enter admininistrator email address: your email address


16). echo "Include /etc/apache2/sites-available/vhcs2.conf" >> /etc/apache2/httpd.conf (forgotten in install script)


17). sh /etc/init.d/apache2 restart


18). vi /etc/init.d/courier-authdaemon

Code:
(change this line) ${libexecdir}/authlib/authdaemon stop
(to this) killall authdaemond.plain


19). sh /etc/init.d/courier-authdaemon restart


20). vi /etc/resolv.conf (and add to the top)

Code:

    nameserver your ip (this removes errors about virtual hosts when starting apache)


21). (vhcs2 does not start automatically on reboot so we need to add it as a startup script )

First, you must get the startup runlevel by the command "runlevel" in the bash. You'll get something like N 2, N means there was no previous runlevel, 2 is the actual runlevel.

For those who don't have an N, you know what you're doing, simply look in your inittab, then go in the folder /etc/rc2.d (if 2 is your startup runlevel)

Make an ls -al to see how it works, it isn't hard to understand. At startup everthing from S01xx to S99xx is started in that order.

Code:

   Example:  ln -s /etc/init.d/vhcs2_daemon /etc/rc2.d/S98vhcs


22). (You may need to change permissions on the tools folder)

Code:

chmod -R 766 /var/www/vhcs2/gui/tools


 23) Thats about it, vhcs should be installed and working now visit http://localhost/vhcs/

Some additional tools for web server tunning

Postfix anti Spam Configuration
http://jimsun.linxnet.com/misc/postfix-anti-UCE.txt


POSTFIX AND SPAMASSASSIN INSTALL (EASY)
http://www.xnote.com/howto/postfix-spamassassin.html


Tuning MySQL
http://www-css.fnal.gov/dsg/external/freeware/mysqlTuning.html


Awstats integration (Debian)
http://vhcs.puuhis.net/wiki/index.php/Awstats_integration_(Debian)


Firewall Resources
http://www.netfilter.org/
http://linuxfirewall.start.bg/


VHCS Official Site
http://www.vhcs.net


Alternative Installation with screenshots:
VHCS ISP Control Panel Installation With Screenshots