To install on Debian 7 Wheezy click here.
Before I begin with the installation I just want to point out Virtualmin is a Webmin module specifically created to manage Virtual websites. Webmin is what you use to manage the overall server. The install script installs all the necessary prerequisites to get Webmin and Virtualmin installed correctly.
Delete the part for the CDROM or comment it out.
Bring the cursor over to the beginning of the cdrom line.
hit dd twice. Then do a save.
Then update apt.
I want to be able to manage the box remotely so I will install SSH. I’m going to install the enhanced version of vi as well as the perl library needed by Webmin to allow secure connections.
apt-get install ssh vim libnet-ssleay-perl
Download the virtualmin install script using wget.
Make the script executable.
chmod +x install.sh
Run the script. Be patient it does take time depending on how fast your server and connection is.
Debian 5.0 is supported.
Seat back grab a cup of coffee and let the install script do all the hard work configuring the best free Open Source web control panel managing virtual hosting!
When the install script is done I also prefer to add other software which I will need later on.
apt-get install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libio-compress-perl libpcre3 libpopt-dev lynx m4 make ncftp nmap perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential ffmpeg flvtool2 pbzip2 lvm2 ntpdate curl rsync libmagic-dev
Be a good idea to do a reboot now.
Time to login to Webmin to manage the box. Launch Firefox connect to https://126.96.36.199:10000 (replace 188.8.131.52 with the IP address of your box) accept the security certificate. Login using the root account of the server. As a matter of convenience the developers of Virtualmin has provided a post-install wizard which helps to correctly setup Virtualmin. Answer the following post-install wizard questions.
Yes – more RAM – Preload Virtualmin Libraries
Yes – more RAM – email
Yes – more RAM – ClamAV
Yes – more RAM – Spamassassin
Yes – more RAM – MySQL
No – PostgreSQL
Set the password for MySQL. This will be the password for the super administrator on MySQL.
Click Re-check and refresh configuration. If an error comes up Virtualmin is not ready for use. Click the link “List of DNS servers” then add the loopback addess 127.0.0.1. Before Clicking Apply Configuration go into the Networking part to make sure the main IP address is set to static IP!
Go back to virtualmin. Recheck configuration again.
I like to host PHP, MySQL driven websites so I will install the following Debian PHP packages not installed by the Virtualmin install script.
apt-get install php5-curl php5-dev php5-gd php5-idn php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-odbc php5-dev apache2-prefork-dev unixodbc unixodbc-dev unixodbc-bin aspell-en imagemagick make memcached g++ graphicsmagick
To improve Webmin’s security I will delete the default root account and replace it with something else not easily guessed. Go into Webmin | Webmin Users | click the root account | scroll down | click clone.
Choose a username not easily guessed, don’t use words found in a dictionary for your password. Limit what IP addresses can connect to the Webmin interface.
Log back out then log back in using the cloned root account. Go back into Webmin | Webmin Users then delete the original root account. I have also changed the default port where Webmin listens for connections. This guide explains how it is done.