Skip to content

Commit

Permalink
Created a singular central system requirements page
Browse files Browse the repository at this point in the history
  • Loading branch information
BelleNottelling committed Nov 13, 2023
1 parent 60bf8c9 commit 9fe858d
Show file tree
Hide file tree
Showing 7 changed files with 89 additions and 27 deletions.
1 change: 1 addition & 0 deletions pages/docs/getting-started/_meta.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"requirements": "System Requirements",
"shared": "Install on cPanel or Plesk",
"apache": "Install on Apache",
"nginx": "Install on Nginx",
Expand Down
10 changes: 2 additions & 8 deletions pages/docs/getting-started/apache.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,9 @@ This guide will assume you have a basic understanding of how to use the command
We will only cover the basics here. If you are new to Linux servers, we recommend you to read the [Ubuntu Server Guide](https://ubuntu.com/server/docs) to learn more about the basics of the Ubuntu Server.

## Prerequisites
Anything above PHP 8.0 or higher should work. However, FOSSBilling depends on the following PHP extensions and won't work without them enabled:
- `pdo_mysql`
- `curl`
- `zlib`
- `openssl`

FOSSBilling also needs a MySQL database in a MariaDB server running version 10.3 or later, or in a MySQL server running version 8 or later.

If you want to provision a free Let's Encrypt SSL certificate for your website, you will need to have a valid hostname pointed to your server.
- Your server should meet or exceed the [documented system requirements](https://fossbilling.org//docs/getting-started/requirements).
- If you want to provision a free Let's Encrypt SSL certificate for your website, you will need to have a valid hostname pointed to your server.

In the next steps, we will assist you with the installation of the required software.

Expand Down
5 changes: 5 additions & 0 deletions pages/docs/getting-started/migrate-from-boxbilling.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ import { Callout } from 'nextra-theme-docs'
Interested in the differences between BoxBilling and FOSSBilling?
[Our FAQ](https://fossbilling.org/docs/faq#fosswhat-isnt-this-boxbilling) covers why FOSSBilling exists and some of the more important differences between the two.

## Updated system requirements

FOSSBilling has evolved significantly since forking from BoxBilling and as part of that, the system requirements have changed.
We suggest reviewing the [documented system requirements](https://fossbilling.org//docs/getting-started/requirements).

## Migration instructions
<Callout type="error" emoji={<FontAwesomeIcon icon={faHand} />}>
Before you do anything, make sure that you do a full backup (or two) of both the database and all files in your current BoxBilling installation.
Expand Down
9 changes: 5 additions & 4 deletions pages/docs/getting-started/nginx.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@ nginx is a popular pretty popular web server that can also be used as a reverse
</Callout>

## Prerequisites

You will need to have the following installed. Please take a moment now to make sure you are ready:
* **nginx** ([Install guide](https://www.digitalocean.com/community/tutorial_collections/how-to-install-nginx)). Please skip the "Setting Up Server Blocks" part, we'll cover that in this guide)
* **PHP 8.0** or later ([Guide to install 8.1 on Ubuntu 22.04](https://www.digitalocean.com/community/tutorials/how-to-install-php-8-1-and-set-up-a-local-development-environment-on-ubuntu-22-04))
* The following PHP extensions (the guide above also has a section that covers installing PHP extensions): `pdo_mysql`, `curl`, `zlib`, `openssl`
* **MariaDB 10.3** or later, or **MySQL 8** or later ([guide to install MariaDB](https://www.digitalocean.com/community/tutorial_collections/how-to-install-mariadb))

- Your server should meet or exceed the [documented system requirements](https://fossbilling.org//docs/getting-started/requirements).
- If you want to provision a free Let's Encrypt SSL certificate for your website, you will need to have a valid hostname pointed to your server.
- NGINX: ([Install guide](https://www.digitalocean.com/community/tutorial_collections/how-to-install-nginx)). (Please skip the "Setting Up Server Blocks" part, we'll cover that in this guide)

## Instructions

Expand Down
71 changes: 71 additions & 0 deletions pages/docs/getting-started/requirements.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
title: System Requirements
description: Information on FOSSBilling's system requirements
---

import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import {
faCircleInfo,
faPersonDigging,
faServer,
faTriangleExclamation,
} from "@fortawesome/free-solid-svg-icons";
import { Callout, Tab, Tabs } from "nextra-theme-docs";

# <FontAwesomeIcon icon={faServer} /> FOSSBilling's system requirements

## Web server

FOSSBilling will work correctly on any of the following web-servers. For the greatest simplicity we suggest either using Apache or Apache behind an NGINX reverse proxy (with NGINX caching static files).

Most control panels will either come configured like this out-of-the-box or support this configuration.

- Apache with `mod_rewrite` installed and enabled.
- NGINX running the correct [configuration](https://config.fossbilling.org/).
- The config generator will give you a good starting point, however you may still need to configure items such as SSL and PHP to be correct for your server.
- OpenLiteSpeed.
- Due to how OpenLiteSpeed handles `.htaccess` files, it's typically not suitable for selling web hosting, however FOSSBilling itself will run on it without any issues.
- LiteSpeed.

If you wish to use a web server that is not listed above, you will need to manually create a configuration for it that implements the URL rewriting FOSSBilling relies on using one of the existing configurations as reference.

## PHP

### Version

FOSSBilling follows the official PHP [supported versions list](https://www.php.net/supported-versions.php). That means that FOSSBilling should function correctly on any PHP version that is still receiving active security and/or feature updates. When a PHP version looses it's official support, we drop support for that PHP version with the next FOSSBilling release

Strictly following the official supported PHP versions allows us to keep FOSSBilling as secure and stable as possible while also being able to leverage new PHP features for better performance or improved functionality.

### Required extensions

At a minimum for correct functionality, you should have the following extensions installed:

- `intl`
- `openssl`
- `pdo_mysql`
- `xml`
- `xml`

### Highly recommended extensions

These extensions may not be needed to make FOSSBilling work, however they are recommended for improved performance, compatibility, and functionality.

- `curl`
- `mbstring`
- `dom`
- `opcache` (This is PHP's official extension that's used to cache compiled scripts and improve performance. We recommend using this for all PHP applications!)
- `imagick` or `gmagick`

### Configuration

- `memory_limit`: Should be at least `64M`
- The more modules and extensions you have installed, the greater this will be. Installations under heavy demand may also need their memory limit increased.
- `max_execution_time`: The default of 30 seconds is typically sufficient, however those with slower servers may consider increasing this to 45 or 60 seconds.

## Database

FOSSBilling should function correctly on any MySQL compatible database such as MySQL or MariaDB.

- `MySQL` >= 8
- `MariaDB` >= 10.3
11 changes: 3 additions & 8 deletions pages/docs/getting-started/shared.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,11 @@ Shared hosting is a type of web hosting where multiple websites reside on the sa

The most popular shared hosting platforms are cPanel and Plesk. This guide will help you install FOSSBilling on either of them.

## Requisities
Most of the shared hosting plans that support PHP 8.0 or higher should work. However, FOSSBilling depends on the following PHP extensions and won't work without them enabled:
- `pdo_mysql`
- `curl`
- `zlib`
- `openssl`
## Prerequisites

You also need to have a MySQL database in a MariaDB server running version 10.3 or later, or in a MySQL server running version 8 or later.
Your server should meet or exceed the [documented system requirements](https://fossbilling.org//docs/getting-started/requirements).

These requisities likely are already met by your hosting provider. The installer will check for them and let you know if you need to enable any of them.
These Prerequisites likely are already met by your hosting provider. The installer will check for them and let you know if you need to enable any of them.

## Download the latest release
Download the latest release of FOSSBilling from the [downloads page](/downloads). In the next step, you will upload the files to your web server.
Expand Down
9 changes: 2 additions & 7 deletions pages/downloads.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,8 @@ import { Features, Feature } from '../components/Features'
<Feature large centered>
<h3>Releases <br className="show-on-mobile"/>(v<LatestVersion />)</h3>
<h4>Released on <ReleasedOn /></h4>
<p>Download the latest release of FOSSBilling. This is the recommended choice for all users.<br />
System requirements:</p>
<ul>
<li> - A suitable web server</li>
<li> - PHP 8.0+</li>
<li> - MySQL 8+ or MariaDB 10.3+</li>
</ul>
<p>Download the latest release of FOSSBilling. This is the recommended choice for all users.<br /></p>
<p>You may want to read the <a href="https://fossbilling.org//docs/getting-started/requirements">system requirements</a> before installing.</p>

<div className='mt-4 gap-4 flex justify-center'>
<Card icon={<FontAwesomeIcon icon={faDownload} size="xl" />} title="Download now" href="/downloads/stable"/>
Expand Down

0 comments on commit 9fe858d

Please sign in to comment.