Virtualmin Administrator's Guide
A roughly complete guide to installing and administering a Virtualmin server, including creation of reseller accounts, domain accounts, templates for new accounts, skeleton directories, configuration of Virtualmin to suit your requirements, and more.
Introduction
Virtualmin, combined with Webmin and Usermin, provides a complete virtual hosting administration system, allowing for four tiers of operation, administrator, reseller, domain owner, mail user. This guide is for the top, or administrative, tier of the system. The administrator, by default, has unrestricted power over every aspect of the server, and can also use the almost limitless power and flexibility of Webmin to exercise complete control over the entire system, should the need arise. This guide covers only Virtualmin's extensive virtual hosting features. For general system administration tasks, consult The Book of Webmin by Joe Cooper or Managing Linux Systems with Webmin by Jamie Cameron. Both books have recently been merged into a single wiki which is available online at Doxfer.com.
Virtualmin is easy to use, even for non-technical users, while still providing extreme flexibility not found in any other virtual hosting administration system. By leveraging the powerful Open Source general system administration tool Webmin and the related webmail and user account management tool Usermin, Virtualmin provides unprecedented power as well as a standard interface across all aspects of the system. Every user of a Virtualmin system from the administrator down to the mailbox user, sees a similar interface with the same themes, the same terminology, and the same conventions. Ease of use is often a function of familiarity and predictability, and the Virtualmin stack is the only tool in its class to provide the same interface to all users for all tasks.
Installation
There are two methods for installing Virtualmin Professional: a fully automated shell script and package-based install and manual installation using either native packages or .wbm Webmin packages. When possible, the automated installation is 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
Installation involves first installing a server install of your preferred Operating System, according to the documentation provided by your OS vendor. A list of supported Operating Systems is provided at the Virtualmin home page. There are a few simple guidelines for your system that must be met for proper operation of all Virtualmin features, which are detailed in the rest of this section.
Manual installation using .rpm, .deb, or .wbm packages
Unlike the automated installation, to make use of this installation type, your OS does not need to be freshly installed, nor does it need to be a supported system. This method, however, requires significantly more knowledge on the part of the person doing the installation, and a much larger time investment to insure that all necessary configuration is performed and all Virtualmin managed services are working correctly.
Partitioning
The partitions on your Virtualmin server should be allocated in one of the the following two ways, depending on your requirements and preference. Either partition scheme is supported by the Virtualmin Professional Installer. Other partition layouts may lead to incorrect configuration of filesystem quotas, but can be corrected after installation is completed if other partitioning schemes are preferred.
One Partition
In this partition layout, you will only have one system partition plus a swap partition and /boot
partition. The system partition contains /home
for users, /var for logs and databases, as well as all of the normal system executable files, documentation and libraries. It is often simpler to deploy. Traditionally, "one big partition" was considered problematic from an administration standpoint, but most such issues have been resolved by modern filesystems, backup utilities, and improved hardware reliability.
swap: The swap partition should be at least twice the size of RAM on the system.
/boot: The /boot partition should be large enough to accomodate a few system kernels and initrd images. Your OS vendor probably knows best what size this should be.
/: The remainder of the disk(s) should be devoted to /. This is where all system and user data will go.
Multiple Partitions
This layout spreads files across a few partitions, in order to facilitate usage some types of backup utility as well as making some types of administrative task easier (for example, installing larger disks for some partitions at a later time). Historically, multiple partitions were considered wise administrative policy, but most modern systems and backup utilities eliminate the reasons for utilizing multiple partitions.
/: This partition is used for all of the operating system files, executables, and configuration files. This partition should be at least 3.5 GB for most operating systems.
/boot: The /boot partition should be large enough to accommodate a few system kernels and initrd images. Your OS vendor probably knows best what size this should be.
swap: The swap partition should be at least twice the size of RAM on the system.
/var: The /var partition is where system logs, various changing data, and MySQL and PostgreSQL databases are stored. Depending on whether you will allow your domain users to use the database features, this partition may be between 2 GB and 10 or more GB. If users are expected to be heavy database users, you may opt to divide the remaining disk space between /var and /home.
/home: The home partition is where all of your domain users data, email, CGI scripts, logs etc. will be stored. Pretty much anything that belongs to your users, except for MySQL and PostgreSQL databases, will reside on /home. Devote the remainder of your disk to /home, as usage will likely grow rapidly if you have many users.
Package Management
In order for the install.sh installation method to work, your system must have a working package management system. Supported systems are yum, up2date, yast and urpmi on RPM-based systems, and apt-get on Debian systems. The Virtualmin Professional installer uses the native package manager in order to cleanly and safely install all of the appropriate software dependencies. The installer will then install the Virtualmin, Inc. provided packages, including some custom versions of packages that include features necessary for all features of Virtualmin to operate. If your native package management tool requires configuration to operate correctly, this step should be done before running the Virtualmin Professional install script. For example, up2date has to be configured before it will successfully install packages, which can be done by simply running the up2date utility manually from the command line or the GUI. The installer will attempt to configure apt-get to use the universe repository on Debian and Ubuntu.
Red Hat Enterprise Linux and CentOS version 3 and 4 and up2date
On Red Hat Enterprise Linux and CentOS systems, in all 3.x and 4.x versions, the up2date system is used to install some components from the system repository. Please run up2date (or the up2date GUI client) at least once prior to running the Virtualmin Professional Installer. If you do not, the installer will stop when the standard component installation phase is reached, and will require human intervention.
up2date
must be run once before running install.sh
or installation will fail.
FreeBSD ports and pkg_add
On FreeBSD the automated installation makes use of both the ports system and the remote installation capability of pkg_add. You must insure both of these tools are in full working order before attempting to install Virtualmin using install.sh. Documenting these utilities is well beyond the scope of this guide. Consult with the FreeBSD documentation for further details.
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.
Network Connectivity
The Virtualmin installer requires network connectivity, including DNS resolution. The speed of your connection may impact the speed of installation, as up to approximately 200 MB of packages will be downloaded and installed (if your system already has the majority of the dependencies installed, the download size will be reduced). Latency and bandwidth usage can be reduced significantly for multiple system installations by running a local caching proxy server like Squid, or by operating a mirror of the Operating System being used. It is also possible to pre-install most of the packages during OS installation, and only updates will need to be downloaded over the network.
Pre-Installation Checklist
So, let's boil down all of those preliminaries into a simple checklist. These are the things you need to do before running the install.sh:
-
Confirm that networking is fully functional. Ping software.virtualmin.com. If it doesn't work, you'll need to fix it.
-
Confirm that your package management tool (up2date, yum, urpmi, yast, or apt-get) works correctly and is configured to use sources that are available.
-
Fully update your system with the native package manager before beginning installation, which is recommended anyway.
-
Confirm you have perl and either wget or curl installed.
Note: If you are installing on a low memory system, the package manager (both yum and apt-get/dpkg) can be very memory intensive during installation. A possible solution is to disable all but the necessary repositories (the OS standard repositories and the Virtualmin repositories. This is generally a good idea, anyway, as packages from non-OS sources may conflict with the Virtualmin packages and lead to unpredictable results.
Running the Install Script
Installation is performed automatically by the OS-neutral Virtualmin Professional 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 Virtualmin.com]. All of your purchased products will be available for download throughout the life of your license period. Copy the file on to the server to be installed, using scp on Linux or Mac OS X client machines or WinSCP or PSCP on Windows.
NOTE: A frequent source of trouble is the use of FTP to make the transfer to your server. Because Windows uses different line endings than UNIX and Linux systems, the script can become corrupted if care is not taken to insure a "binary" mode transfer. scp and FTP over SSH are not generally subject to this problem, and so using the scp protocol for the transfer avoids many possible troubles.
Then, as root, run these two commands:
# chmod +x install.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.
up2date
If your system is a RHEL or CentOS version 3 or 4 system, you will be asked to confirm that you have run up2date at least once before running install.sh. If you have not run up2date before running install.sh, exit the installer and run "up2date -u". This will insure the forced non-interactive configuration process of up2date is already completed--if you haven't run up2date before running install.sh the process will hang forever while trying to install system-provided packages. This does not effect versions 5 and above of these systems, or any other supported OS.
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, your system will be configured for Virtualmin Professional and ready to login to. Your username and password is based on your ?server config. You can then login to Webmin and browse to the the Virtualmin Virtual Servers module under the Servers tab. 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 screen.
Alternative manual installation
If your OS is not a supported system, or you have already configured your system in a manner that is incompatible with our automated installation, you may wish to manually install the Virtualmin components.
First download and install Webmin and Usermin, from http://www.webmin.com Webmin.com. Once Webmin is operational, you can download and install the .wbm packages found in http://software.virtualmin.com/wbm and .wbt theme packages found in http://software.virtualmin.com/wbt or, the .rpm packages found in http://software.virtualmin.com/universal
You will need to make a note of your serial number and license key, found on the Serial Numbers page at Virtualmin.com, so that you can login using the serial number as the username and the license key as the password.
NOTE: A minimal mode installation will soon be available to automate most of the installation process, though you'll still need to perform the configuration manually.
Once downloaded, the packages can be installed using the Webmin:Webmin Configuration:Webmin Modules page.
Upgrading Virtualmin Professional
Upgrading Virtualmin Professional is easy on systems that support automated package management (yum, apt-get and urpmi work for this; up2date is not currently supported, but yum is automatically installed on RHEL systems to allow for automated updates of Virtualmin components). Simply run the command to update your system, or use the Webmin Software Packages module to update your system. Webmin, Usermin, Virtualmin and all optional modules provided by Virtualmin, Inc. will be updated to the latest version.
The following are the commands to run for each of the respective package managers:
yum (Fedora and CentOS)
# yum update
yast (SuSE and OpenSuSE)
# yast -i <name of component>
yast is unique, and irritating, in that it doesn't provide a means to update all available packages. SuSE instead offers a "yast online updater" service, which is not feasible for outsiders to provide repositories for. Another solution is to use the yast interactive interface to select from available components and update them all.
apt-get (Debian)
# apt-get update # apt-get upgrade
urpmi (Mandriva)
# urpmi.update virtualmin && urpmi --update --auto-select # urpmi.update virtualmin-universal && urpmi --update --auto-select
Others
For systems that use an unsupported package management tool or have no automated package management system, it may be necessary to upgrade first the OS using whatever means you normally would, and to use the Webmin Upgrade module to upgrade the Virtualmin-provided components.
Navigating Virtualmin
Any web browser can be used with Virtualmin, though some themes use advanced browser features that work better in browsers with good CSS support (Firefox, Safari, Opera and Konqueror all fit this description, while Internet Explorer currently does not). It is even possible to use a text-mode browser like `lynx` or `links` to use Virtualmin. Virtualmin Professional also works in most mobile browsers, and automatically detects the limited browsing environment and converts to a low-bandwidth limited JavaScript mode.
To login to Webmin (because Virtualmin is part of Webmin, one logs into Webmin), browse to the address of your server using the HTTPS protocol on port 10000. For example, if your Virtualmin server was running on hostname hosting1.virtualmin.com, you would enter https://hosting1.virtualmin.com:10000
in the URL field of your browser. You can then login using your root
or other administrative login name and password.
Virtualmin Professional includes its own custom theme, designed just for virtual hosting management. It features a left-hand menu bar, and a right-hand content window. In the menu bar there are Virtualmin and Webmin sections, selected by clicking the name in the top of the bar. The Virtualmin menu includes all common options for host management, such as creating servers, editing server privileges, editing mailboxes, etc. The Webmin menu includes all of the standard Webmin modules, including nearly everything you need for general server management.
Online Help
Within most Webmin modules, there will be a help link in the upper left corner of the content page. Clicking it will open a help window with documentation about the specific page you are on. Most options in Webmin can be clicked on to get a popup help window describing that specific option. The Virtualmin module has extensive online help in addition to this manual, so if any option or feature confuses you, you don't have to find the appropriate section in this guide. Clicking on it will popup the help window with help specific to the item you clicked.
Module Configuration
Also in the upper left corner of the content page there will often be a module configuration link. Clicking it will allow you to configure any available options of the module. The module configuration affects how Webmin interacts with the service in question, such as where it expects to find start/stop scripts, where configuration files are located, and possibly some default settings. The module configuration does not configure the service itself, only how Webmin interacts with it. For example, editing the Apache module configuration will not alter how Apache behaves, only the things Webmin knows about Apache.
Categories
In the left-hand Webmin menu, there is a row of dropdown headers, which are the titles of the categories of Webmin modules. There are a number of categories of module supported by Webmin, including System, Servers, Networking, Hardware, and Cluster, and clicking on any of them will display the available modules in each category.
Modules
Below the category titles, there are menu items representing the individual modules that make up Webmin. For every aspect of your system, there is a module designed specifically for configuring it. There are modules for Apache, Sendmail, System Logs, Network Configuration, and much more. Webmin is the most comprehensive web-based system administration tool in the world, and the most popular, so odds are good that if you need to do something on your server, no matter how complicated or uncommon, there is a way to do it using Webmin.
Logging Out
At the bottom of the left-hand menu, you'll find a *Logout* link. Clicking this link will, obviously, log you out of Webmin.
Creating Your First Domain
After installation is complete, and you have successfully logged into Webmin, you can begin creating domains (we'll cover customizing domain templates and skeleton directories a little later, don't worry!).
The first time you visit the Virtualmin module, and subsequent visits after an upgrade to Virtualmin, Webmin, or Virtualmin modules, Virtualmin will scan your system to be sure everything is ready for use (i.e. it will check for quota support, the existence of all necessary servers, correct server configuration options, etc.).
To create a new virtual server, click the Create Server menu heading in the left menu bar, and then click the Create Virtual Server item.
A new page full of options will be displayed in the right content window. We'll assume that most default settings are appropriate for our domain for the sake of simplicity in this example, but later on we'll dive into the depths of custom Server Templates, skeleton directories and customization of the default settings for new domains. After a fresh install, Virtualmin has pretty reasonable defaults for the vast majority of environments, though, so we can create a domain easily and expect it to be useful right away.
image:images/first-domain.png
In the above, I have filled in everything that is needed to create a domain with most features enabled. I only specified a few options: Domain name, Description, Contact email address, and Administration password. The rest I've left at their default values. If you aren't sure what a particular option means, click on the name of the option, and a help window will pop up to describe the option. Every option in Virtualmin has a popup help link, and most pages have a general overview help link in the upper left corner of the page.
Domain Name
You must always provide a domain name for a virtual server account (there are ways to create websites for users without domains using Virtualmin, but that is a much simpler problem and isn't the focus of Virtualmin).
Description
The description is simply a short description of the domain. It is free text, and does not impact any aspect of the virtual server, so it can be just about anything. It will appear as the "Real Name" of the domain user in the *Users and Groups* module. Special characters (punctuation, *, $, %, etc.) are not allowed in the description field.
Contact email address
Here, you select what email address should receive notifications about this domain, including the creation email that lists the available services, provides login instructions, etc. If you choose to generate the password later on, this may be the only way for the user to find out the password, so it may be appropriate to choose *Other address..* and enter the users preferred address in the field provided.
Administration password
You can choose to have a password generated randomly, which is a good idea from a security standpoint. Virtualmin will generate a reasonably long (8+ characters) random password, which will be sent to the user via email. They can, of course, immediately change the password when they login.
Other options
All of the other options can generally be left alone. We'll discuss many of them in more detail later on, but for now, let's just assume that the defaults are perfect.
When you click the *Create Server* button, Virtualmin will spin into action...it will create the new user and group, add Apache virtual host configuration, add a zone and domain to BIND, add virtual domain configuration to Postfix, create new databases and users in MySQL and PostgreSQL, configure SpamAssassin and ClamAV for the domain, configure log rotation and Webalizer log reports, (woo! I'm getting tired just talking about it...Virtualmin works hard so you don't have to) and configures any optional Virtualmin Plugin features, like Mailman mailing lists or SubVersion revision control repositories.
Now you can return to the Virtualmin main page and you'll see your new domain in the list of available domains. Clicking on the domain allows you to edit all of the options we just configured, so you can always return to the domain to alter the settings (be careful with that feature, however, as turning off a feature may delete user data...Virtualmin will warn you before destructive changes).
The domain owner can also login using the new domain account and the password you assigned (or that was randomly generated).
Virtualmin Module Configuration Reference
Server Settings and Templates Reference
Bandwidth Monitoring
Plugin Modules
Plugins are Webmin modules which provided additional server and mailbox features for Virtualmin. Unlike the core features, they can be installed separately and written by third-party developers. Like Webmin and Usermin, Virtualmin has an API for writing plug-in modules. It is somewhat different, however, in that Virtualmin modules are also Webmin modules but they also tie directly to Virtualmin domains, so that when a domain is modified, the third party modules will also be modified. Virtualmin modules also have the ability to check for configured Virtualmin features when being installed, to insure compatibility with the system.
Plugin Module Options
Enabled plugin modules
The multi-select box allows you to choose which modules will be enabled for Virtualmin virtual servers. Once enabled, you may choose to allow usage on a per-domain basis. Selected plugins are highlighted. To select multiple plugins hold the CTRL key while selecting additional plugins.
Configure plugin
To edit the plugin module configuration, select the module from the dropdown list and click the Configure plugin: button.
It is possible to write your own plugin modules for Virtualmin. Refer to the [http://webmin.com/modules-virtualmin.html Creating Virtualmin Plugins] document at Webmin.com. Since Virtualmin plugins are a special type of Webmin module, the [http://webmin.com/modules-index.html Writing Webmin Modules] documentation will also be helpful.
Custom Fields
Custom fields allow the administrator to include additional data about domain accounts. The fields will be displayed when editing the domain. They can be used for just about any type of data. For example, it may be useful to have additional contact information attached to the domain account, or a notes field used to explain why a domain is disabled or has some additional feature or limit beyond other domains created with the same template. If you are developing tools to interact with Virtualmin, these fields may be useful for other purposes.
Custom Fields are also accessible via environment variables which can be used in Server Templates. The variables will be named VIRTUALSERVER_FIELD_X, where X will be the name of your field.
Change IP Addresses
This page allows you to change the IP address of all non private IP virtual servers that are using a specified address. This should be done if you have just updated the primary IP address on the system.
IP address change options
Address of servers to update
This field specifies the old address of servers that are to be modified.
New IP address
This specifies the IP address that altered servers will be modified to.
Servers to update
Here you may specify some or all of the servers on the system that do not have dedicated IP addresses. The Only selected.. option is a multi-select box. To select more than one entry, press and hold the CTRL key while clicking one or more domain names.
Operating Virtualmin Behind a Firewall
If your Virtualmin server is operating on private non-routable IP addresses, such as 192.168.1.1 or 172.16.0.1, you must configure Virtualmin to create the DNS records with your public IP address while the rest of the services must be configured to use the private address.
Configure DNS records to use a public address
To configure Virtualmin to create DNS records with a public IP, different from your internal private IP, first edit the 'Module Config
' found in the 'System Settings
' menu. Browse to the Other server settings
section, and locate the option entitled Default IP address for DNS records
. Enter the public IP address of your firewall or routing device (the firewall or router must also be configured to forward the data on to your Virtualmin server).
Reseller Accounts
A reseller is a login that can create new parent Virtualmin servers, subject to limits defined by the master administrator. Further limits can then be imposed on the total disk quota, mailboxes and databases that a reseller's servers can be allocated. A reseller will have the ability to disable, upgrade, and reset passwords of the domains she manages, much like a master administrator account.
Create Reseller
Reseller account details
Reseller username
The username that the reseller will use to login. This account name has the same restrictions as any other Webmin account on the system (i.e. no spaces, and no special characters other than those allowed in usernames).
Password for username
The password the reseller will use to login to Webmin.
Real name or description
This is a free text field and can contain spaces (though some special characters are not allowed, specifically :).
Maximum virtual servers
If a limit should be imposed on the number of servers a reseller account may create, you may specify it here.
Maximum quota for all servers
If a reseller should have limited disk space for all of her managed domain accounts, you may specify it here.
Maximum mailboxes for all servers
If a limit should be imposed on the number of mailboxes that the resellers domains may contain you may specify it here.
Maximum databases for all servers
If a reseller should be limited to some number of databases you may specify it here.
Allowed features for servers
Select the features that you would like the reseller to be able to grant to her created domain accounts.
Servers owned by reseller
If you would like to assign some existing domains to the new reseller account (for example if they are an existing domain customer upgrading to reseller status), you may select them here.
Limit to read-only demo mode?
If this account is for demo purposes, you may elect to make this a read-only demo account. A demo account only allowsbrowsing through the various features and options of Virtualmin, it does not permit any modification to data or accounts.
Install Scripts
Virtualmin Professional provides the ability for domain owners, resellers, and administrators to easily install dozens of PHP and Perl scripts within a Virtualmin domain. It also allows for one or more scripts to be installed automatically on server creation, based on the selected Server Template for the new domain. New Script Installer scripts can also easily be written using the Install Scripts to add support for internally developed applications.
To install a new script select the domain you'd like to install for in the dropdown menu at the top of the left-hand menu, and then click Install Scripts
. Then, click the radio button next to the script you'd like to install, and optionally select a version (often both a stable and development version are provided). Finally, scroll to the bottom of the page and click the Show Install Options
button.
On this page, you'll be able to select the database to use from existing databases, optionally create a new database, and choose the name of the subdirectory to install the script under. Clicking Install Now
will then install the script and setup the database with the appropriate items. Some scripts don't need a database, and so the database-related option will be unavailable.
Enabling Install Scripts
Whether the Install Scripts interface is available is determined by the Administrator when creating the domain or based on the Server Template selected for the new domain. Enabling Install Scripts can be done at any time by selecting the domain, opening the Administration Options menu and then clicking Edit Owner Limits. In the Edit capabilities for virtual servers section of the page, find the option labeled Can install scripts and check the box. After clicking the Save button, the user will have the ability to install scripts without administrative assistance.
Backup and Restore
Virtualmin provides the ability to manually, or automatically, backup some of all virtual servers. Backups can be made to local files or stored on a remote server using SCP or FTP. Remote servers can also be used via network filesystems like NFS or SMB. You may select which features of the specified domains will be backed up, as well.
Options for scheduled or immediate backup
Servers to save
Specifies the virtual servers that will be backed up. You can choose to backup All virtual servers, or Only selected .. or All except .. The last two options enable the multi-select field. To select multiple virtual servers in the multi-select box, press and hold the <CTRL> key while clicking on the servers you'd like to select. Selected servers are highlighted.
Features to backup
It is possible to choose which Virtualmin features will be backed up. For example, you may choose whether to backup the home directory and web content, as well as DNS records, mailboxes and mail aliases, etc. A Virtualmin backup that includes all features can be copied to another Virtualmin server and restored, thus migrating a virtual server from one system to another easily (even a backup that does not contain all features can be migrated in this way, but the features that are not in the backup will not be created on the new server).
Backup destination
The location where you would like the backup file(s) to be generated. You may select a local file or directory, an FTP server, or an SSH server. If a remote server, you must include a username and password, or in the case of SSH you may setup public/private key authentication between the Virtualmin server and the backup server. The file or directory name may include time and date information, in the form of strftime style variables, if you select the Do strftime style time substitutions on file or directory name. Some common variables are %Y for year, %m for month, and %d for day of the month.
Backup format
You may elect to backup to one single file, or to backup to a directory of files with one file per virtual server. Individual virtual server backups can be restored independently to a new Virtualmin server.
Action on error
Specifies the behavior of the backup process in the event of an error. If halt on error is selected, as soon as an error occurs the backup will stop--no other domains will be backed up. This mode is useful for recognizing problems and correcting them, without having to wait out all of the remaining backups to complete or fail.
Options for scheduled backup
Scheduled backup enabled?
Enables or disables automatic backups.
Email backup report to
If scheduled backups are enabled, a backup report will be generated that includes any error information, as well as a notice about each feature within each virtual server that is backed up. This should be an account that is watched closely, so that errors can be dealt with quickly.
Migrating to Virtualmin
Virtualmin Professional provides the ability to restore backup files from cPanel/WHM, to facilitate migration to Virtualmin Professional. At the time of this writing all features of cPanel/WHM are believed to be supported, if you have any problems with migration please let us know in the Virtualmin.com bug tracker.
Virtual server migration options
Source backup file
The backup file that you would like to import into Virtualmin. You may upload it from your local machine or import from a file already copied to the server via other means. Some browsers may have trouble uploading very large backup files.
Backup file type
Specify the type of file to import. Currently only cPanel/WHM backup files are supported.
Domain name to migrate
Specify the name of the domain to migrate.
Username for domain
Specify the username for the domain owner account.
Password for administrator
Specify a password for the migrated domain owner account.
Create Webmin user?
If the domain owner user should have Webmin access, select Yes. If you wish to assign ownership of the domain to an existing user, select No and choose the user in the Owned by server owner
field below.
Template for new server?
Virtualmin Professional offers some features that cPanel/WHM do not, and templates allow you to preconfigure many aspects of Virtualmin for new domains. Selecting a template with additional features enabled will give the new account those additional features.
New server's IP address
This option specifies the IP address that will be configured for the imported account. If the account has SSL or FTP domain hosting enabled, you will need to assign a dedicated IP to the account. Otherwise, you may configure it to reside on the default shared address.
Owned by server owner
If the imported domain should belong to an existing user, you may select them here. Otherwise a new user account will be created for the domain.
Uninstalling Virtualmin
There is a simple and stupid uninstall mode in the install.sh
script you used to install Virtualmin Professional. It will remove all of the Virtualmin modules for Webmin, as well as Webmin and Usermin. It will leave the remainder of the system untouched, and so your existing virtual hosts will not be impacted--but services that require Virtualmin-provided components, like email delivery, will no longer work, and configuration of procmail will need to be updated.
To use the uninstall mode execute install.sh
with the --uninstall
flag, for example:
/bin/sh install.sh --uninstall
Note: Do not use the uninstall mode, followed by a re-installation, to attempt to correct problems on a production system! Let us know about any problems you have in the bugs and issues tracker and we'll help you correct it.