• Stars
    star
    117
  • Rank 301,828 (Top 6 %)
  • Language
    Shell
  • License
    GNU General Publi...
  • Created almost 9 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Shell script to perform a Virtualmin GPL or Professional installation

Build Status

virtualmin-install

Shell script to perform a Virtualmin GPL or Professional installation

If you just want to install Virtualmin, go here and follow the instructions: Virtualmin.com.

This repo is for people who want to read the source, contribute, help make the installer support other distros or operating systems, or make a customized installer.

How it Works

The script relies on our software repositories on software.virtualmin.com in order to function. You'll need internet access.

It sets up or downloads the software repository configuration file for your OS (yum/dnf on RHEL (Alma/Rocky/Oracle/CentOS/Fedora) or apt-get on Debian/Ubuntu), and runs the necessary commands to download and install all of the stuff needed for a Virtualmin web hosting system. This is includes OS-standard packages or MySQL or MariaDB, Postfix, Dovecot, procmail, Mailman, PHP, Python, Ruby, SpamAssassin, ClamAV, BIND, and many others. When no OS-standard package is available or the standard package needs tweaks, we provide it in our repository and fetch it from there.

Supported Operating Systems

The Grade A systems currently supported by install script are:

Red Hat Enterprise Linux and derivatives
  - RHEL 8 and 9 on x86_64
  - Alma and Rocky 8 and 9 on x86_64
  - CentOS 7 on x86_64
  
Debian Linux and derivatives
  - Debian 10, 11 and 12 on i386 and amd64
  - Ubuntu 20.04 LTS and 22.04 LTS on i386 and amd64

The Grade B systems currently supported by install script are:

Red Hat Enterprise Linux and derivatives
  - Fedora Server 38+ on x86_64
  - CentOS Stream 8 and 9 on x86_64
  - Oracle Linux 8 and 9 on x86_64
  - CloudLinux 8 and 9 on x86_64
  - Amazon Linux 2023+ on x86_64
  - openSUSE Server 15 on x86_64

Debian Linux and derivatives
  - Kali Linux Rolling 2023+ on x86_64

We strongly recommend you use the latest version of your preferred Grade A supported distribution. The latest release gets the most active testing and bug fixing.

How to run it

Never run the install script on anything other than a freshly installed OS. It is for installation, not upgrading.

Upstream Version

Download it to your server, and run it as root (yes, it has to run as root, this is systems management software).

# wget -O virtualmin-install.sh https://raw.githubusercontent.com/virtualmin/virtualmin-install/master/virtualmin-install.sh
# /bin/sh virtualmin-install.sh

Note that if you have Virtualmin Professional, the process is a little different (or you have to edit the script to add your serial number and key to the SERIAL and KEY variables on lines 19 and 20). You can retrieve your license information from the My Account ⇾ Software Licenses page at Virtualmin website. If you don't have Pro but want to get it, visit Virtualmin Shop.

Please file tickets, either here or at Virtualmin Forum, about bugs you find.

How to contribute

Wrap your head around how install.sh does its job (mostly by setting up package repositories and installed metapackages or yum groups). Ask questions if you're not sure what's going on.

Pick your favorite distro or OS, and start coding and packaging for it! I'm usually happy to devote time and resources to helping make Virtualmin work on other systems. I just don't have the time/resources to maintain more than the most popular server operating systems myself.

See also

These are the tools the shell script uses to actually perform the installation and configuration. It sets up package repositories, installs the yum groups or the metapackages, and then uses Virtualmin-Config to perform the initial configuration steps, like turning on services, making service configuration changes, etc.

Virtualmin-Config: a post-modern post-installation configuration tool

virtualmin-yum-groups: Package groups for CentOS and Fedora

virtualmin-lamp-stack-ubu: Metapackage for the LAMP stack on Ubuntu

virtualmin-core-deb: Metapackage for the Virtualmin core packages

More Repositories

1

virtualmin-gpl

Virtualmin web hosting control panel for Webmin
HTML
319
star
2

virtualmin-nginx

Virtualmin plugin to allow use of nginx web server for virtual domain hosting
Perl
36
star
3

virtualmin-bootstrap-theme

Responsive Bootstrap theme for Webmin, Virtualmin, Cloudmin, and Usermin
Perl
31
star
4

virtualmin-registrar

Virtualmin plugin to allow users to register domains through supported registrars from within Virtualmin
HTML
12
star
5

virtualmin-git

Virtualmin plugin to manage git repository creation and hosting for domains
Perl
11
star
6

Virtualmin-Config

A modern rewrite of the Virtualmin postinstall configuration script
Perl
11
star
7

virtualmin-nginx-ssl

Virtualmin plugin to manage SSL for nginx
Perl
9
star
8

virtualmin-awstats

Virtualmin plugin to manage AWstats analytics and provide a UI for domain owners to view their own reports
Perl
8
star
9

virtualmin-lamp-stack-deb

Debian and Ubuntu metapackage that depends on the LAMP stack for Virtualmin
Visual Basic 6.0
7
star
10

virtualmin-multi-login

Cloudmin plugin to allow users from multiple Virtualmin systems to login to a central system (redirecting them to the one their account is on)
Perl
6
star
11

slib

Library of POSIX shell functions used by Virtualmin install scripts
Shell
5
star
12

virtualmin-lamp-stack-ubu

Ubuntu metapackage that depends on the LAMP stack for Virtualmin
Visual Basic 6.0
5
star
13

virtual-server-mobile

Virtualmin Mobile Theme
Perl
4
star
14

virtualmin-mailrelay

Virtualmin plugin to manage relaying mail for domains
Perl
4
star
15

virtualmin-powerdns

Virtualmin plugin for PowerDNS name server for zones
Perl
4
star
16

virtualmin-slavedns

Virtualmin plugin to manage zones on slave DNS servers
Perl
4
star
17

virtualmin-htpasswd

Virtualmin plugin for managing htpasswd files
HTML
3
star
18

ruby-gems

Webmin module for managing Ruby gems, with Virtualmin integration
Perl
3
star
19

virtualmin-core-deb

Debian and Ubuntu metapackage that depends on the Virtualmin core packages
3
star
20

dns-slave-install

An install script to easily setup DNS slave servers with Webmin and BIND
3
star
21

virtualmin-dav

Virtualmin plugin to manage DAV file access over HTTP for domain owners
Perl
3
star
22

php-pear

Webmin module for managing the PHP Pear package manager, with Virtualmin integration
Perl
3
star
23

virtualmin-password-recovery

Virtualmin and Cloudmin plugin to allow users to recover their password via email
Perl
3
star
24

virtualmin-mailman

Virtualmin plugin to allow domain owners to manage mailman mailing lists
Perl
3
star
25

virtual-server-theme

Virtualmin Framed Theme
Perl
2
star
26

virtualmin-notes

Virtualmin plugin for keeping notes
Perl
2
star
27

virtualmin-yum-groups

Group definition files for yum/dnf used by virtualmin-install on CentOS/RHEL/Fedora
Shell
2
star
28

virtualmin-app

Virtualmin App Server plugin
Perl
2
star
29

webmin-jailkit

Manage Jailkit configuration files in Webmin
Perl
2
star
30

virtualmin-disable

Scheduled disable of Virtualmin domain accounts
Perl
2
star
31

virtualmin-sqlite

Virtualmin plugin to manage SQLite databases
Perl
2
star
32

virtualmin-iframe

Virtualmin/Cloudmin Plugin for a Custom iFrame
Perl
1
star
33

cloudmin-install

Install script for Cloudmin GPL and Professional
1
star
34

virtualmin-quickref

Quick reference card (cheat sheet) for Virtualmin
1
star
35

validation-tools

Some CGI scripts we use to provide validation features in Virtualmin
1
star
36

repo-utils

Internal scripts to maintain our repositories and build environments
Perl
1
star
37

virtualmin-svn

Virtualmin plugin to allow domain owners to manage Subversion repositories
Perl
1
star
38

virtualmin-vsftpd

Virtualmin plugin to allow management of the vsftpd FTP daemon (instead of the default ProFTPd)
Perl
1
star
39

virtualmin-release

Repository configuration file for CentOS, RHEL, and Fedora systems
Shell
1
star
40

virtualmin-signup

Virtualmin plugin to allow users to signup for mailboxes
HTML
1
star
41

Cloudmin-Config

A modern rewrite of the Cloudmin postinstall configuration script
1
star