What is AutoVM?

is an open-source platform to manage virtual machines(VM) on the VMware ESXI virtualization which allows the VPS providers to manage full automation of support and sales process. AutoVM platform is a good choice for hosting and VPS providers to increase their service quality that can supports all ESXi versions.

AutoVM features

  • VM bandwidth monitoring system.
  • Install easily without any changes on the ESXI servers.
  • Free modules for managing VPS on the WHMCS client area.
  • Auto Provisioning VM After Payment Successfully.
  • Auto-assign IP and Network adapter once VM created.
  • Auto installation of the operating system.
  • Ability to assign the existing VM created for WHMCS users.
  • VM HTML console
  • Template customization.
Prerequisite

The AutoVM platform is designed to be compatible with default VMware ESXI settings and does not require any changes in the network design. To launch the AutoVM platform, you can download ova template from the LAB.

But in this course we are going to start from a fresh ubuntu 20.4.1 server and static IP.

Step 1

#copy the code in your text editor and bring changes as you need.

#setup fresh ubuntu for production

 

sudo su 

 

apt update && upgrade -y
 
reboot

# Set email
ADMIN_EMAIL=youremail
ADMIN_NAME=“adminname”
MAILTO=$ADMIN_EMAIL

 

HOSTNAME=yourhostname
DOMAINNAME=yourdomainanme
#your location and timezone
TIME_ZONE=“Europe/Amsterdam”
LOCATION=”Rotterdam”
PHP_VERSION=7.2
PHP_VERSION_SHORT=72

 

rm /etc/localtime; ln -s /usr/share/zoneinfo/$TIME_ZONE /etc/localtime 
ls -la /etc/localtime

 

echo 
# Kernel hostname 
kernel.hostname=$HOSTNAME.$DOMAINNAME
# Kernel domain name
kernel.domainname=`echo $DOMAINNAME`” >> /etc/sysctl.conf

 

echo -e “127.0.0.1\t`echo $HOSTNAME`.`echo $DOMAINNAME` `echo $HOSTNAME`” >> /etc/hosts
echo -e “::1\t`echo $HOSTNAME`.`echo $DOMAINNAME` `echo $HOSTNAME`” >> /etc/hosts

 

 

sudo hostnamectl set-hostname $HOSTNAME
sysctl -p /etc/sysctl.conf
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
# ******************* #
# *** PASTE BREAK *** #
# ******************* #

Step 2

apt insall unzip -y

apt install nginx -y
apt install mysql-server-core-8.0 -y
apt install mysql-server -y
apt install python -y
sudo apt install python3-pip -y
sudo add-apt-repository universe
apt update 
sudo apt install python2
curl https://bootstrap.pypa.io/get-pip.py –output get-pip.py
sudo python2 get-pip.py

 

sudo apt install libpq-dev python-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev
libffi-dev git

 

apt install php -y 

 

sudo add-apt-repository ppa:ondrej/php
apt-get install php$PHP_VERSION php$PHP_VERSION-dev php$PHP_VERSION-curl
php$PHP_VERSION-gd php$PHP_VERSION-mbstring  php$PHP_VERSION-mysql php$PHP_VERSION-common
php$PHP_VERSION-fpm libtool-bin libc6-dev build-essential make autoconf libc-dev pkg-config
php-pear postfix   gcc libreadline-dev   php$PHP_VERSION-cgi php$PHP_VERSION-zip
php$PHP_VERSION-pdo-mysql php$PHP_VERSION-xml   php$PHP_VERSION-cli php$PHP_VERSION-imagick
imagemagick  php$PHP_VERSION-intl php$PHP_VERSION-memcache php$PHP_VERSION-memcached
php$PHP_VERSION-geoip php$PHP_VERSION-memcached php$PHP_VERSION-snmp php$PHP_VERSION-sqlite
php$PHP_VERSION-tidy php$PHP_VERSION-xmlrpc php$PHP_VERSION-xsl memcached snmp
php$PHP_VERSION-ps php$PHP_VERSION-pspell libphonenumber-dev libphonenumber7

 

sudo add-apt-repository ppa:ondrej/php

 

pip install paramiko spur pycryptodome pysphere crypto netaddr

#
#your ESXi server then config satic ip address.
#Enter following commands:
cd /tmp 
wget -O autovm.sh https://raw.githubusercontent.com/autovmnet/autovm/master/autovm.sh && bash autovm.sh
#After installation completed, You will see MySQL and login information.
#check the installation process, only Python-pip is not found is exceptable.
#if the installation is successfull you will see below information
The platform installation has been completed successfully.

 

MySQL information:
Username: autovm
Database: autovm
Password: adfasd3223asdfasdf==
Login information:
Address: http://youripaddress
Password: admin

 

Attention: Please run mysql_secure_installation for the security
#login to http://yourdomainname and change email/pass

Step 3

#After installation completed, secure your mysql.

mysql_secure_installation

[email protected]:/tmp# mysql_secure_installation

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: n
Please set the password for root here.

New password:

Re-enter new password:
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.

 

Normally, root should only be allowed to connect from
‘localhost’. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n

… skipping.
By default, MySQL comes with a database named ‘test’ that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

 

Remove test database and access to it? (Press y|Y for Yes, any other key

for No) : y
– Dropping test database…
Success.

– Removing privileges on test database…
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!
You have new mail in /var/mail/root
[email protected]:/tmp#

chmod 777 autovm

Step 4

# Install lets encrypt certificate to secure and use https

Introduction

Let’s Encrypt is a Certificate Authority (CA) that provides an easy way to obtain and install

free TLS/SSL certificates, thereby enabling encrypted HTTPS on web servers. It simplifies

the process by providing a software client, Certbot, that attempts to automate most (if not all)

of the required steps. Currently, the entire process of obtaining and installing a certificate

is fully automated on both Apache and Nginx.

 

sudo apt install certbot python3-certbot-nginx

#example.com is your domain

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com

 

nano /etc/nginx/sites-available/defualt
#change localhost to your domainname
servername example.com

 

nano /etc/nginx/sites-available/example.com
#change localhost to your domainname
servername example.com

 

systemctl restart nginx

 

sudo certbot –nginx
#i have installed twice the commandsudo certbot –nginx so in your case
#might be diff
[email protected]:/etc/nginx/sites-available# sudo certbot –nginx
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx

 

Which names would you like to activate HTTPS for?
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
1: autovm-test.example.com
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter ‘c’ to cancel): 1
Cert not yet due for renewal

 

You have an existing certificate that has exactly the same domains or certificate name you 
requested and isn‘t close to expiry.
(ref: /etc/letsencrypt/renewal/autovm-test.example.conf)

 

What would you like to do?
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
1: Attempt to reinstall this existing certificate
2: Renew & replace the cert (limit ~5 per 7 days)
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Select the appropriate number [1-2] then [enter] (press ‘c‘ to cancel): 1
Keeping the existing certificate
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/default

 

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
1: No redirect – Make no further changes to the webserver configuration.
2: Redirect – Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you’re confident your site works on HTTPS. You can undo this
change by editing your web server‘s configuration.
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Select the appropriate number [1-2] then [enter] (press ‘c‘ to cancel): 2
Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/default

 

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Congratulations! You have successfully enabled https://autovm-test.maxtld.com

 

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=autovm-test.example.com
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

 

IMPORTANT NOTES:
 – Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/autovm-test.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/autovm-test.maxtld.com/privkey.pem
   Your cert will expire on 2021-03-09. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the “certonly” option. To non-interactively renew *all* of
   your certificates, run “certbot renew”
 – If you like Certbot, please consider supporting our work by:

 

   Donating to ISRG / Let’s Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

 

[email protected]:/etc/nginx/sites-available#
login to autovm

Conclusion

Hopefully, you now have the tutorial of how to install and configure AutoVM step by step on ubuntu 20.4.1

5 Comments

  1. maseczki z filtrem

    I’m extremely pleased to discover this website. I wanted to thank you for ones time just for this fantastic read!! I absolutely enjoyed every part of it and i also have you bookmarked to see new stuff in your site.

    Reply
  2. pożyczka pozabankowa

    Thanks for the diverse tips contributed on this blog. I have noticed that many insurance providers offer shoppers generous reductions if they favor to insure a few cars with them. A significant variety of households own several autos these days, in particular those with more aged teenage kids still located at home, as well as the savings with policies may soon increase. So it will pay to look for a great deal.

    Reply
  3. brand cialis

    Definitely, what a great blog and revealing posts, I definitely will bookmark your site. Best Regards!

    Reply
  4. stomach medications for sale

    Thanks for your tips. One thing we have noticed is always that banks and also financial institutions have in mind the spending behavior of consumers and also understand that a lot of people max away their own credit cards around the holiday seasons. They prudently take advantage of this kind of fact and begin flooding the inbox and also snail-mail box together with hundreds of Zero APR card offers immediately after the holiday season finishes. Knowing that in case you are like 98% of all American open public, you’ll hop at the opportunity to consolidate personal credit card debt and move balances for 0 interest rates credit cards. ffffehk https://pancreasmedi.com – stomach medications for sale

    Reply

Trackbacks/Pingbacks

  1. How to connect WHMCS TO AutoVM - development backdoor - […] document written to connnect whmcs to autovm.in this tutorial I will show how use autovm module in whmcs and…

Submit a Comment

Your email address will not be published. Required fields are marked *