Skip to content

cwpdev/webhosting-billing

Repository files navigation


WebHosting-Billing by CWP

WebHosting-Billing is a free open source billing and client management solution. Whether you are running a startup or an established web hosting business, WebHosting-Billing can help you automate invoicing, incoming payments, and client management and communication.

If you are looking for an open source alternative for billing and client management for your web hosting business, then WebHosting-Billing is the solution you need. However, this software can also be used for any other kind of online business, such as digital downloads.

WebHosting-Billing is designed to be extensible and easily integrable with your favorite server management software and payment gateways.

📥 This is self-hosted software that is free for anyone to install — All you need is a web server, running PHP and a MySQL database. For more details, check the requirements section.

Contents

Requirements

The following environment is highly recommended for running WebHosting-Billing. It may be possible to install and run the software in other environments, but it will be untested and unsupported.

  • A suitable web server (Apache/Nginx/LSWS)
  • PHP 7.4, or higher.
    • We recommended PHP 7.4 over PHP 8 as it's been more thoroughly tested, however both should work
  • MySQL 8, or higher. MariaDB and other direct MySQL compatible DBs also work.
  • The Following PHP extensions:
    • pdo_mysql
    • curl
    • zlib
    • gettext
    • openssl

Installation

Installing WebHosting-Billing is pretty easy. Depending on how you plan to use it there are three different ways to install it:

  1. If you are using shared hosting, or are installing WebHosting-Billing to use on a live production site, then you should probably download and install the latest stable version.
  2. If you're planning to contribute to WebHosting-Billing's development, and wanting to make pull requests in the future, please directly install from latest source code instead.
  3. If you are familiar with Docker, can also choose to install WebHosting-Billing in a Docker container.

Download the latest stable version

We make a new release of WebHosting-Billing whenever we have some new cool stuff to introduce you to, or when we fix some bugs 🐞. If you're planning to use WebHosting-Billing in a production environment then this will likely be the best option for you, as these releases should be more secure and stable.

First, you should download the latest release from our GitHub repository. Each release has a file called "webhosting-billing.zip" attached to it, and that's exactly what you need to download. Unlike the source code itself, releases already include the Composer packages, so you won't need to run Composer to install PHP packages. This is perfect if you are using shared hosting as you might not have the ability to run Composer yourself.

You can either download the .zip file to your local computer and then upload it to your server using FTP, or download directly to your web server using wget or git clone. In either case you will need to unzip it and make sure that the files contained in the archive are in the public folder of your site (usually, that's called "htdocs" or "public_html").

Your web directory's structure should now look like this:

  • htdocs
    • bb-data
    • bb-library
    • bb-module
    • ...

Next, you will also need to create a new empty MySQL database using the command line, or from your server control panel. Make a note of the database name, database user, and password, you will need them in the next step.

Now, you have everything ready to start the installation of WebHosting-Billing, navigate to your domain using a web browser, and simply follow the on-screen instructions to complete the installation using the web installer. Ta-da, you've done it! 🎉

Install from latest source code

To install the latest development version of WebHosting-Billing, you will need to get the latest up-to-date ZIP archive from the Github repository.

You can either download the .zip file to your local computer and then upload it to your server using FTP, or download directly to your web server using wget or git clone. In either case you will need to unzip it and make sure that the files contained in the archive are in the public folder of your site (usually, that's called "htdocs" or "public_html").

Your web directory's structure should now look like this:

  • htdocs
    • bb-data
    • bb-library
    • bb-module
    • ...

Next, you will also need to create a new empty MySQL database using the command line, or from your server control panel. Make a note of the database name, database user, and password, you will need them later.

We do not store the Composer packages in our GitHub repository, we use Composer for that. Composer is a dependency manager for PHP, just like the NPM of Node.js, or PIP of Python.

If you don't have Composer installed, or it's your first time with Composer, you probably may want to read Composer's getting started guide.

If you've already installed Composer, head over to the folder where you copied the content of the "src" folder to, and run the following command to download the required packages to your web server:

$ composer install

Now, you have everything ready to start the installation of WebHosting-Billing, navigate to your domain using a web browser, and simply follow the on-screen instructions to complete the installation using the web installer. Ta-da, you've done it! 🎉

Installing with Docker

Docker logo

This guide assumes you already have Docker, Git and GNU make installed.

To clone the repository, first run these commands in your command line:

# Clone this repository
$ git clone https://github.com/cwpdev/webhosting-billing

# Navigate to the local repository
$ cd webhosting-billing

# Run the app with some help from Docker
$ make all

Now, you can navigate to your web server in your browser. If you're using a PC, or directly a server without a server manager like Plesk, this address will probably be localhost.

Contributing

🖥️ Welcome, fellow developer! 🙂

First of all, thank you for your interest, and taking your time to contribute to WebHosting-Billing.

We have a set of guidelines for those wishing to contribute to WebHosting-Billing, and we encourage you to take a look at them here: contributors' guidelines.

Your pull requests will be highly welcomed. If you're looking for something to start with, you can check the open issues on our GitHub repository.

Got questions? Found a bug? Ideas for improvements?

Don't hesitate to create an issue

⭐ Not a developer? Feel free to help by starring the repository. It helps us catching attention of new developers who'd like to contribute.

Licensing

WebHosting-Billing is open source software, and is released under the Apache v2.0 license. See LICENSE for the full license terms.

This product includes GeoLite2 data created by MaxMind, available from https://www.maxmind.com.

Links

WebHosting-Billing is a modifed version of BoxBilling that works better with CWP: https://github.com/boxbilling