How to Install Webuzo v3 on Ubuntu 20.04 LTS
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
- Deploy a fresh Vultr Ubuntu 20.04 Server
- Point a domain name to your server instance
- SSH to the server and log in as root
- Update the server
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.
Download the Webuzo installation script.
# wget http://files.webuzo.com/install.sh
Change the script permissions to make it executable.
# chmod 700 install.sh
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.
Allow the essential ports.
# ufw allow 80,443,3306,21,22,53,25,143/tcp
Open the Webuzo ports.
# ufw allow 2003:2004/tcp
This article limits Webuzo to port 2003 and port 2004, because 2002 & 2005 are alternative ports.
Now, confirm the new rules in your firewall table.
# ufw status
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)
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.
In a web browser, visit your server address on port 2004.
http://SERVER-IP:2004
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.
Change the root account password to separate the panel administrator from the server account.
Navigate to Settings and click Change Root Password on the left panel.
Enter a new strong password, then click Change Password to proceed.
Log out of the control panel and re-login as root with the new password to confirm the change.
Next, navigate to Panel Config under settings, enter your domain name, server IP, and the domain’s name servers. Use
ns1.vultr.com
andns2.vultr.com
unless you have custom name servers set for your domain.Click Update to save changes and proceed with other configurations.
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.
First, create a hosting plan that will apply to the user. Otherwise, Webuzo would dedicate all system resources to the client.
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.
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.
Under Settings, declare the package home directory, a default theme, language, then select extra features to activate and Save Plan.
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.
Enter a new Username, Email, Password, and Domain.
Select a panel plan to associate with the user account and Save User.
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.
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.
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.
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.
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.