FreePBX official install guide is here.
wget https://github.com/FreePBX/sng_freepbx_debian_install/raw/master/sng_freepbx_debian_install.sh
The install is impressively quick (about 1 minute) but it doesn't complete because of a bug below I'll explain:
2024-10-11 17:36:49 - Performing version check...
Perfect! You're already running the latest version.
2024-10-11 17:36:49 - Starting installation.
2024-10-11 17:36:49 - Starting FreePBX 17 installation process for tftp-pxe Linux tftp-pxe 4.19.0-20-amd64 #1 SMP Debian 4.19.235-1 (2022-03-17) x86_64 GNU/Linux
2024-10-11 17:36:49 - Please refer to the /var/log/pbx/freepbx17-install-2024.10.11-17.36.49.log to know the process...
2024-10-11 17:36:49 - Making sure installation is sane
2024-10-11 17:36:59 - Installation failed at step Making sure installation is sane. Please check log /var/log/pbx/freepbx17-install-2024.10.11-17.36.49.log for details.
2024-10-11 17:36:59 - Error at line: 706 exiting with code 100 (last command was: apt-get update >> $log)
2024-10-11 17:36:59 - Exiting script
root@tftp-pxe:~# vi /etc/apt/sources.list
root@tftp-pxe:~# bash /tmp/sng_freepbx_debian_install.sh
2024-10-11 17:37:19 - Performing version check...
Perfect! You're already running the latest version.
2024-10-11 17:37:20 - Starting installation.
2024-10-11 17:37:20 - Starting FreePBX 17 installation process for tftp-pxe Linux tftp-pxe 4.19.0-20-amd64 #1 SMP Debian 4.19.235-1 (2022-03-17) x86_64 GNU/Linux
2024-10-11 17:37:20 - Please refer to the /var/log/pbx/freepbx17-install-2024.10.11-17.37.19.log to know the process...
2024-10-11 17:37:20 - Making sure installation is sane
2024-10-11 17:37:25 - Setting up default configuration
2024-10-11 17:37:26 - Installing software-properties-common ....
2024-10-11 17:37:44 - software-properties-common installed successfully....
2024-10-11 17:37:44 - Setting up repositories
2024-10-11 17:37:46 - Exiting script
The current script as of 2024-10-11 has a bug where they pass -S to add-apt-repository when it must be a lower case -s which breaks everything as you can see in the log:
esolving deb.freepbx.org (deb.freepbx.org)... 52.217.40.28, 54.231.128.57, 52.217.9.44, ...
Connecting to deb.freepbx.org (deb.freepbx.org)|52.217.40.28|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3139 (3.1K) [binary/octet-stream]
Saving to: 'STDOUT'
0K ... 100% 19.4M=0s
2024-10-11 21:52:03 (19.4 MB/s) - written to stdout [3139/3139]
Usage: add-apt-repository
add-apt-repository is a script for adding apt sources.list entries.
It can be used to add any repository and also provides a shorthand
syntax for adding a Launchpad PPA (Personal Package Archive)
repository.
- The apt repository source line to add. This is one of:
a complete apt line in quotes,
a repo url and areas in quotes (areas defaults to 'main')
a PPA shortcut.
a distro component
Examples:
apt-add-repository 'deb http://myserver/path/to/repo stable myrepo'
apt-add-repository 'http://myserver/path/to/repo myrepo'
apt-add-repository 'https://packages.medibuntu.org free non-free'
apt-add-repository http://extras.ubuntu.com/ubuntu
apt-add-repository ppa:user/repository
apt-add-repository ppa:user/distro/repository
apt-add-repository multiverse
If --remove is given the tool will remove the given sourceline from your
sources.list
add-apt-repository: error: no such option: -S
This can be fixed by editing the bash installer file you downloaded and changing -S to -s
install, freepbx, linux, debian, ubuntu, mint, guidefreepbx, execute, offcial, sangoma, maker, asterisk, wget, https, github, sng_freepbx_debian_install, sh, impressively, doesn, ll, performing, installation, tftp, pxe, amd, smp, _, gnu, refer, var, pbx, sane, exiting, apt, update, vi, etc, sources, bash, tmp, default, configuration, installing, software, properties, installed, successfully, repositories, login, gui, installer, repository, esolving, deb, org, connecting, http, awaiting, ok, length, binary, octet, stream, stdout, mb, usage, adding, entries, provides, shorthand, syntax, launchpad, ppa, archive, quotes, repo, url, areas, defaults, shortcut, distro, component, examples, myserver, myrepo, packages, medibuntu, extras, user, multiverse, sourceline, editing, downloaded,