Automated Virtualmin Installation

Tags: 
Installation

There are two methods for installing Virtualmin. The first is a fully automated script described in this document, and the other is a manual installation documented in the Manual Virtualmin Installation page. When possible, the automated installation described here is highly recommended, as it removes many possible errors during configuration and insures that all applications are built with appropriate options for virtual hosting within the Virtualmin system.

Automated installation with install.sh

In most cases, installing Virtualmin is as simple as installing a supported Operating System of your choice, followed by running Virtualmin's install.sh script.

A list of supported Operating Systems is provided at the OS Support page.

We recommend using a minimal or server version of your Operating System. Virtualmin's install.sh script will install any additional packages that it requires.

Partitioning

We typically recommend putting everything on one partition, unless you have a good reason for doing otherwise.

If you wish to use multiple partitions, it's no problem to put /home and /var onto a separate partition. Virtualmin puts all user data, including websites and email, into /home. Database data and log files are stored in /var.

If you choose to use multiple partitions, we'd suggest devoting as much space as possible to /home.

Update Your System

Packages in Virtualmin depend on a lot of OS-standard packages in addition to the packages our repositories provide. And most package managers are a bit temperamental about dependencies; sometimes they'll refuse to install a package because an older version of one of its dependencies is installed. So, in order to avoid dependency problems of this sort it is best to fully update your system using your native package manager prior to running the install script.

On RHEL/CentOS, that can be accomplished by running yum update.

On Ubuntu/Debian, you can do that by running apt-get update && apt-get upgrade.

Running the Install Script

Installation is performed automatically by the OS-neutral Virtualmin install.sh script. This script sets up the license key in /etc/virtualmin-license and configures the appropriate package management and installation tool for use with the password-protected Virtualmin software repository. It will then install the virtualmin-base package, which performs the remainder of the installation, appropriate for your OS and version.

Download the file from the Software Registrations page at [[http://www.virtualmin.com/serial/]] if you're using Virtualmin Pro. All of your purchased products will be available for download throughout the life of your license period. If you're using Virtualmin GPL, that can be downloaded from the [Downloads](http://www.virtualmin.com/download/] page.

With the install.sh script on your server, run this command as root:

# sh ./install.sh

Questions install.sh might ask you

Depending on your OS and the state of your system, the install.sh script may ask one or more questions.

Fully qualified domain name

If your system does not have a fully qualified domain name (FQDN), the installer will stop and ask you to choose one. This is mandatory because many services rely on having a fully qualified domain name in order to function. Mail, in particular, but some Apache configurations and many of the Virtualmin-created configuration files, also require a valid fully qualified domain name to function correctly. A fully qualified domain name is one of the form "www.virtualmin.com", or simply "virtualmin.com". We recommend you choose a name that is not one for which you will be receiving mail, in order to simplify later configuration. A good choice is to use a name server designator, such as "ns1.virtualmin.com". Some customers also choose something like "host1.virtualmin.com" or "primary.virtualmin.com". Any of these would be valid and would satisfy the install script and the services that rely on this option. The install script will add this name to /etc/hosts, which will satisfy all local services. It is even better if this name resolves correctly when looked up from outside of the system--this requires the name be added to your DNS zone for the second level domain. If the Virtualmin server you are installing will be the authoritative name server for this zone, you can later use Webmin to add a record for this name to the zone.

Completing the installation

Once the necessary questions have been answered, installation will proceed automatically. After 15-45 minutes, depending on the speed of your network connection and hardware, your system will be configured for Virtualmin and ready to login to. You can then login to Virtualmin. Virtualmin runs on port 10000 and is encrypted using SSL. Thus, you can connect to your system with an address of the form:

https://example.com:10000

Or:

https://192.168.1.1:10000

And then log in as the "root" user, or any user with sudo access.

It will then walk you through a post-installation setup wizard, asking you a series of setup questions.

The final step in the installation is to perform the configuration check, by clicking the Check Configuration button at the top of the Virtualmin System Information page.

Setting a root password

If your system does not have a password set for the root user, you will need to set a Virtualmin root password before you can login on port 10000. This can be the case when installing on an EC2 instance that uses an SSH key to login as root, or an Ubuntu system that uses sudo.

To set a root password for Virtualmin, run the command :

/usr/{share,libexec}/webmin/changepass.pl /etc/webmin root XYZ

where XYZ is the password you want to use. Make sure it is strong, as an attacker who guesses this password would have full control over your system.