#!/bin/sh # cloudmin-redhat-install.sh # Copyright 2005-2009 Virtualmin, Inc. # # Installs Cloudmin and all dependencies on a CentOS, RHEL or Fedora system. if [ "$SERIAL" = "" ]; then SERIAL=xxxxx fi if [ "$KEY" = "" ]; then KEY=xxxxxxx fi VER=1.1 # Define functions yesno () { while read line; do case $line in y|Y|Yes|YES|yes|yES|yEs|YeS|yeS) return 0 ;; n|N|No|NO|no|nO) return 1 ;; *) printf "\nPlease enter y or n: " ;; esac done } # Ask the user first cat </dev/null if [ "$?" != 0 ]; then echo .. license does not appear to be valid exit 1 fi echo .. done echo "" # Create Cloudmin licence file echo Creating Cloudmin licence file .. cat >/etc/server-manager-license </etc/pki/rpm-gpg/RPM-GPG-KEY-virtualmin if [ "$?" != 0 ]; then echo .. download failed exit 1 fi $download "http://software.virtualmin.com/lib/RPM-GPG-KEY-webmin" >/etc/pki/rpm-gpg/RPM-GPG-KEY-webmin if [ "$?" != 0 ]; then echo .. download failed exit 1 fi echo .. done echo "" # Import keys echo Importing GPG keys .. rpm -q gpg-pubkey-a0bdbcf9-42d1d837 || rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-virtualmin rpm -q gpg-pubkey-11f63c51-3c7dc11d || rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-webmin echo .. done echo "" # Setup the YUM repo file echo Creating YUM repository for Cloudmin packages .. cat >/etc/yum.repos.d/cloudmin.repo <>/etc/webmin/server-manager/config echo kvm_zone=$zone >>/etc/webmin/server-manager/config echo citrix_zone=$zone >>/etc/webmin/server-manager/config echo openvz_zone=$zone >>/etc/webmin/server-manager/config echo lxc_zone=$zone >>/etc/webmin/server-manager/config echo vserver_zone=$zone >>/etc/webmin/server-manager/config echo zone_zone=$zone >>/etc/webmin/server-manager/config echo .. done fi echo "" # Open Webmin firewall port echo Opening port 10000 on IPtables firewall .. ports="10000 10001 10002 10003 10004 10005 843" /usr/libexec/webmin/firewall/open-ports.pl $ports if [ "$?" != 0 ]; then echo .. failed else echo .. done fi echo "" # Open firewalld ports if [ -x /usr/bin/firewall-cmd ]; then echo Opening port 10000 on Firewalld firewall .. for port in $ports; do /usr/bin/firewall-cmd --add-port=$port/tcp >/dev/null /usr/bin/firewall-cmd --permanent --add-port=$port/tcp >/dev/null done echo .. done echo "" fi # Tell user hostname=`hostname` echo Cloudmin has been successfully installed. You can login to it at : echo https://$hostname:10000/ # All done!