From 9fe858d00a6f4c40d6a2cc3f8a97ae683d60cd98 Mon Sep 17 00:00:00 2001 From: Belle Aerni Date: Mon, 13 Nov 2023 10:32:44 -0800 Subject: [PATCH] Created a singular central system requirements page --- pages/docs/getting-started/_meta.json | 1 + pages/docs/getting-started/apache.mdx | 10 +-- .../migrate-from-boxbilling.mdx | 5 ++ pages/docs/getting-started/nginx.mdx | 9 +-- pages/docs/getting-started/requirements.mdx | 71 +++++++++++++++++++ pages/docs/getting-started/shared.mdx | 11 +-- pages/downloads.mdx | 9 +-- 7 files changed, 89 insertions(+), 27 deletions(-) create mode 100644 pages/docs/getting-started/requirements.mdx diff --git a/pages/docs/getting-started/_meta.json b/pages/docs/getting-started/_meta.json index 4e84b84..25824f6 100644 --- a/pages/docs/getting-started/_meta.json +++ b/pages/docs/getting-started/_meta.json @@ -1,4 +1,5 @@ { + "requirements": "System Requirements", "shared": "Install on cPanel or Plesk", "apache": "Install on Apache", "nginx": "Install on Nginx", diff --git a/pages/docs/getting-started/apache.mdx b/pages/docs/getting-started/apache.mdx index b16db06..b4faa90 100644 --- a/pages/docs/getting-started/apache.mdx +++ b/pages/docs/getting-started/apache.mdx @@ -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. diff --git a/pages/docs/getting-started/migrate-from-boxbilling.mdx b/pages/docs/getting-started/migrate-from-boxbilling.mdx index cd427f0..8b2419e 100644 --- a/pages/docs/getting-started/migrate-from-boxbilling.mdx +++ b/pages/docs/getting-started/migrate-from-boxbilling.mdx @@ -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 }> 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. diff --git a/pages/docs/getting-started/nginx.mdx b/pages/docs/getting-started/nginx.mdx index 5b63e5d..81da095 100644 --- a/pages/docs/getting-started/nginx.mdx +++ b/pages/docs/getting-started/nginx.mdx @@ -10,11 +10,12 @@ nginx is a popular pretty popular web server that can also be used as a reverse ## 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 diff --git a/pages/docs/getting-started/requirements.mdx b/pages/docs/getting-started/requirements.mdx new file mode 100644 index 0000000..8fb7b94 --- /dev/null +++ b/pages/docs/getting-started/requirements.mdx @@ -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"; + +# 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 diff --git a/pages/docs/getting-started/shared.mdx b/pages/docs/getting-started/shared.mdx index 2acad8d..ed0ce8b 100644 --- a/pages/docs/getting-started/shared.mdx +++ b/pages/docs/getting-started/shared.mdx @@ -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. diff --git a/pages/downloads.mdx b/pages/downloads.mdx index ad83873..07161e2 100644 --- a/pages/downloads.mdx +++ b/pages/downloads.mdx @@ -23,13 +23,8 @@ import { Features, Feature } from '../components/Features'

Releases
(v)

Released on

-

Download the latest release of FOSSBilling. This is the recommended choice for all users.
- System requirements:

-
    -
  • - A suitable web server
  • -
  • - PHP 8.0+
  • -
  • - MySQL 8+ or MariaDB 10.3+
  • -
+

Download the latest release of FOSSBilling. This is the recommended choice for all users.

+

You may want to read the system requirements before installing.

} title="Download now" href="/downloads/stable"/>