How to Install Webuzo v3 on Ubuntu 20.04 LTS

Updated on January 24, 2022

Webuzo is a multi-user shared hosting control panel that allows the deployment of multiple applications and sharing of server resources with multiple users. In addition, the control panel offers an interactive management interface that helps you deploy applications, manage domains, schedule jobs, create databases, and manage users without any technical administration skills.

This article explains how to install Webuzo V3 on a fresh Ubuntu 20.04 LTS server.

Prerequisites

Step 1: Install Webuzo

Webuzo offers a simple installation script through which we can install the control panel and specify system services to install along with it.

  1. Download the Webuzo installation script.

     # wget http://files.webuzo.com/install.sh
  2. Change the script permissions to make it executable.

     # chmod 700 install.sh
  3. Run the script to start the Webuzo installation process.

     # ./install.sh --v3

The script will download all necessary libraries, dependencies, the LAMP web stack, and install Webuzo version 3.

To install LEMP instead of LAMP, add the --lemp flag while running the script.

The installation process will take between 10 - 15 minutes to complete. After it is ready, a message will be displayed in your SSH console with the server login URL.

----------------------------------------------------------------
 /$$      /$$ /$$$$$$$$ /$$$$$$$  /$$   /$$ /$$$$$$$$  /$$$$$$ 
| $$  /$ | $$| $$_____/| $$__  $$| $$  | $$|_____ $$  /$$__  $$
| $$ /$$$| $$| $$      | $$  \ $$| $$  | $$     /$$/ | $$  \ $$
| $$/$$ $$ $$| $$$$$   | $$$$$$$ | $$  | $$    /$$/  | $$  | $$
| $$$$_  $$$$| $$__/   | $$__  $$| $$  | $$   /$$/   | $$  | $$
| $$$/ \  $$$| $$      | $$  \ $$| $$  | $$  /$$/    | $$  | $$
| $$/   \  $$| $$$$$$$$| $$$$$$$/|  $$$$$$/ /$$$$$$$$|  $$$$$$/
|__/     \__/|________/|_______/  \______/ |________/ \______/
----------------------------------------------------------------
Congratulations, Webuzo has been successfully installed

You can now configure Softaculous Webuzo at the following URL :
http://SERVER-IP:2004/

----------------------------------------------------------------
Thank you for choosing Webuzo !
----------------------------------------------------------------

Step 2: Configure Uncomplicated Firewall (ufw)

Webuzo uses a series of ports to communicate on the server.

  • 2002 - Log in to the Webuzo client panel
  • 2003 - Log in to the Webuzo client panel
  • 2004 - Log in to the Webuzo Administrator Panel
  • 2005 - Log in to the Webuzo Administrator Panel
  • 21 - FTP Port
  • 22 – SSH Port
  • 25 – SMTP
  • 53 – DNS
  • 80 – HTTP Port
  • 143 – IMAP
  • 443 – HTTPS Port
  • 465 – SMTPS
  • 993 – IMAPS
  • 3306 – MySQL Port

To secure your server, only allow Webuzo ports and essential service ports like HTTP, HTTPS, and MySQL, which are mostly used by hosted applications. For example, if you don’t intend to transfer files via FTP, don’t open port 21.

  1. Allow the essential ports.

     # ufw allow 80,443,3306,21,22,53,25,143/tcp
  2. Open the Webuzo ports.

     # ufw allow 2003:2004/tcp
  3. This article limits Webuzo to port 2003 and port 2004, because 2002 & 2005 are alternative ports.

  4. Now, confirm the new rules in your firewall table.

     # ufw status
  5. Your output should be similar to the one below.

     Status: active
    
     To                         Action      From
     --                         ------      ----
     22                         ALLOW       Anywhere                  
     80/tcp                     ALLOW       Anywhere                  
     21,22,25,53,80,143,443,3306/tcp ALLOW       Anywhere                  
     2003:2004/tcp              ALLOW       Anywhere                  
     22 (v6)                    ALLOW       Anywhere (v6)             
     80/tcp (v6)                ALLOW       Anywhere (v6)     
  6. Restart the firewall for changes to take effect.

     # ufw reload

Step 3: Configure Webuzo

Now that Webuzo is successfully installed and panel ports open on the server, we can set up the web control panel.

  1. In a web browser, visit your server address on port 2004.

     http://SERVER-IP:2004

    Webuzo Login

  2. Log in to the administrator panel using your server root username and password. Once successful, you will be redirected to the Webuzo control panel dashboard and ready for configuration.

  3. Change the root account password to separate the panel administrator from the server account.

  4. Navigate to Settings and click Change Root Password on the left panel.

  5. Enter a new strong password, then click Change Password to proceed.

  6. Log out of the control panel and re-login as root with the new password to confirm the change.

  7. Next, navigate to Panel Config under settings, enter your domain name, server IP, and the domain’s name servers. Use ns1.vultr.com and ns2.vultr.com unless you have custom name servers set for your domain.

  8. Click Update to save changes and proceed with other configurations.

    Update the Webuzo Configuration

Create End-User Hosting Accounts

To share server resources, you will create a new end-user account with permission to add domains and web applications on the server.

  1. First, create a hosting plan that will apply to the user. Otherwise, Webuzo would dedicate all system resources to the client.

  2. From Webuzo left panel, navigate to Plans, and select Add Plan from the drop-down list. Enter a name for the new hosting plan, then allocate server resources to the package. Disk Space Quota (MB) refers to the total amount of space assigned to users under the plan.

    Add Webuzo Plan

    Also, assign maximum inodes, monthly bandwidth, FTP accounts, email accounts, mail account space, MySQL databases, pointed/parked domains, add-on domains, and subdomains for the user package.

  3. Under Settings, declare the package home directory, a default theme, language, then select extra features to activate and Save Plan.

  4. Now, create a new end-user account. First, navigate to Users on the left pane, then select Add Users from the drop-down options list.

    Add new Webuzo User

  5. Enter a new Username, Email, Password, and Domain.

  6. Select a panel plan to associate with the user account and Save User.

  7. Login as the new user by navigating to List Users under Users, or simply visit your Server IP on port 2003 to login and access the client control panel.

  8. To install web applications with the client user account, scroll to the applications section and select Softaculous to install from a list of available application scripts.

  9. You can add new Databases, request SSL certificates, create email accounts, access logs, and modify your account security with tools like IP Block, Mod Security, Hotlink Protect, Directory privacy, among others. As a bare minimum, open PHP INI Editor under the configuration section and change PHP values depending on your hosted web application requirements.

    PHP INI Editor

Create Reseller Accounts

To maximize your control panel features and share your server resources with paying users, you need to create a reseller account with rights to set up and monitor new client accounts. Depending on the assigned panel plan, a single reseller account can host multiple client accounts.

Create a reseller account by navigating to Users, set up a new user account, then, click Make Reseller under the settings section.

Create Reseller account

Next, switch to Reseller Privileges and edit the number of accounts each reseller can create, disk space, and allocate a monthly bandwidth limit depending on your Vultr server instance.

Now, navigate to List Resellers to view and login into a reseller account. Test if you can create new client accounts and allocate resources with the new reseller account.

Get a Webuzo License Key

Webuzo offers a premium package with a higher number of available applications and extra tools like a backup utility and Spam Assassin, among others that are not available with the free trial plan.

To buy a license key, visit the Webuzo website, select a package and click Buy Now. You will be redirected to the Softaculous website, sign up for an account, verify your email, then buy a Webuzo license to receive your activation key via email.

Conclusion

Congratulations, you have installed Webuzo on a Ubuntu 20.04 LTS server. With this control panel, you can build shared hosting packages using a single server and set up web applications run by multiple users.

References