How to install BoxBilling on Ubuntu/Debian Servers
BoxBilling is a free open-source, client and billing management solution. It is a more of a hosting billing solution like WHMCS etc, Blesta etc. It comes with many features like automatic invoicing, Support for multiple payment gateways, Integration for multiple panels like cPanel, SolusVM etc. It can also be used for Licence Provisioning. Since it is open source and it has a great API which allows headroom for more automation and customization.
Requirements :
- 1-2GB of RAM
- 5-10GB of Disk Space (Just in case..)
- 2vCore CPU
Step 1 : Update your server
First step is to update your server and look for newer packages and security releases for your distribution
apt-get update -y
apt-get upgrade -y
Step 2 : Configuring LAMP Stack
Second step is to quickly configure a LAMP Stack. Run the following commands to configure :
apt-get install apache2
systemctl enable apache2
systemctl restart apache2
Boxbilling requires PHP7 or greater. So in our case, We will be installing PHP7.4!
–– Do the following for Debian Servers
apt install apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo “deb https://packages.sury.org/php/ $(lsb_release -sc) main” > /etc/apt/sources.list.d/php.list
apt update
–– Do the following for Ubuntu Servers
apt -y install software-properties-common
add-apt-repository ppa:ondrej/php
apt-get update
apt install php7.4 php7.4-common php7.4-mysql php7.4-gmp php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-json php7.4-imap php7.4-gd php7.4-xml php7.4-cli php7.4-zip
apt-get install mariadb-client mariadb-server
mysql_secure_installation
Do the following steps as shown in the text or in the image :
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] n
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Create a database for BoxBilling :
mysql -u root -p
CREATE DATABASE boxbilldb;
CREATE USER boxbilluser@localhost IDENTIFIED by ‘boxbillpassword’;
GRANT ALL PRIVILEGES ON boxbilldb.* TO boxbilluser@localhost;
FLUSH PRIVILEGES;
QUIT
Step 3 : Installing BoxBilling
We have everything configured to install BoxBilling. Now we can simply download and configure the files directly from the repository link
cd /var/www/html
wget https://github.com/boxbilling/boxbilling/releases/download/4.22.1.5/BoxBilling.zip
unzip BoxBilling.zip
mkdir -p /var/www/html/bb-data/{cache,uploads}
chown -R www-data:www-data /var/www/html
chmod u+rw /var/www/html/bb-data/{cache,uploads}
Now, Head up to your browser and open http://localhost/yourserverip
- You will see a screen like this :
2. Enter your Database Details :
3. Enter your administrator Details :
4. Boxbilling is successfully installed
To access the admin panel write
http://yourip/bb-admin
Conclusion :
You have installed BoxBilling on your Ubuntu/Debian Server. This tutorial was tested on Ubuntu 20.04 and Debian 9. This tutorial assumes you are root!