Sangoma
- FreePBX Debian Install
- Cloning the Disk Image
- Creating Disk Image
- Restore Sangoma Backup
- Debian 12 FTP Source Error
FreePBX Debian Install
VM Setup
1. Create a New VM and give it a name
2. Make sure it is Generation 2
3. Make sure it has at least 4000 MB of memory. This is enough but more can be allocated if available.
4. It is important to make sure it has a working internet connection
5. Create a virtual hard disk. Make sure it has at least 40 GB of Storage. This should be plenty but more can be used if available
6. Choose to install from a bootable image file and pick the Debian.iso which can be downloaded from here.
7. Finish
Debian Install
1. After booting the ISO choose graphical install. Make sure there is a working network connection otherwise the install will not work.
2. English
3. United States
4. American English
5. Enter SangomaPBX
6. Enter the domain of the network or just leave it blank.
7. Create a password for the Root user that will also be used for the login user that will be created later
8. This will be the main user that will login with ssh make sure to record this username
9. Use the same password as used for the root account
10. Usually Central
11. Choose "use entire disk"
12. In a VM there should only be 1 option
13. All files in 1 partition
14. Finish partitioning
15. Make sure to change this to Yes and continue
16. Do not scan for additional media
17. Choose United States
18. Choose deb.debian.org
19. No proxy is needed leave it blank and click continue
20. Choose No and continue
21. Make sure that the following are selected:
-
Debian desktop environment
-
Cinnamon
-
SSH server
-
standard system utilities
22. This will take about ~5 minutes to download and install all of the packages
23. Choose yes to install grub
24. There should only be one option available make sure to select it
25. Choose continue to reboot
Post install
1. login with the root user to do final configuration
2. Open the terminal from the taskbar on the bottom and run the command
usermod -aG sudo pbxenjoyer
Replace pbxenjoyer with a different username if a different username was used
3. Logout by clicking the menu in the bottom left and then clicking the Green exit button. Log back in as pbxenjoyer with the password that was set for it earlier (should be the same as the root user)
FreePBX install
1. At this point SSH is installed and running you can ssh into the server:
ssh pbxenjoyer@10.0.0.10
Replace the IP with the server IP which can be found by clicking the Network Icon on the bottom right.
2. Either in SSH or the Terminal run this command to install FreePBX. This will take about 5 minutes to install.
cd /tmp
wget https://github.com/FreePBX/sng_freepbx_debian_install/raw/master/sng_freepbx_debian_install.sh -O /tmp/sng_freepbx_debian_install.sh
sudo bash /tmp/sng_freepbx_debian_install.sh
3. After it is finished running you can go the IP address in your browser to access the FreePBX webui and complete the PBX setup.
Optional Steps
1. Run this command to install Doom
sudo apt install chocolate-doom
2. Open the menu in the bottom left and searching for Doom. Run the first option
Cloning the Disk Image
From a live Linux ISO
su root
# Mount Ventoy
udevadm trigger
mount /dev/mapper/sdb1 /mnt
cd /mnt/Images
# Change diskname Example: /dev/sda
DISKNAME=/dev/CHANGE_ME
lz4 -dc PBX-LVM.img.lz4 | dd of=$DISKNAME status=progress
# Repair Partition tables in gdisk
# Delete lvm partition and expand to whole drive
gdisk $DISKNAME
partprobe
pvresize $DISKNAME
lvresize -L +3G PBX-vg/swap_1
lvresize -l +100%FREE --resizefs PBX-vg/root
Grubbies!
mount /dev/mapper/PBX--vg-root /mnt/
mount /dev/sda2 /mnt/boot
mount /dev/sda1 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do mount -B $i /mnt/$i; done
chroot /mnt
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian
update-grub
exit
umount -R /mnt
Make swap a thing that works
sudo swapoff -a
sudo mkswap /dev/mapper/PBX-vg--swap-1
sudo swapon /dev/mapper/PBX-vg--swap-1
Creating Disk Image
qemu-img convert -f qcow2 -O raw PBX.qcow2 PBX.img
# Shrink the internal partitions
# gparted and lvm idr go google it u chud
losetup -fP PBX.img
vgchange -a y PBX-vg
lvreduce -L 13G -r PBX-vg/root
lvreduce -L 976M PBX-vg/swap_1
gparted /dev/loop0
vgchange -a n PBX-vg
losetup -d /dev/loop0
fdisk -l ./PBX.img
# Change first number to be the ending sector from fdisk
truncate --size=$[(#ChangeME+100)*512] PBX.img
# Set the output dir to your USB stick to save time writing to local disk and rewriting againt to USB
dd if=PBX.img bs=64M conv=sync status=progress | lz4 -z > /mnt/USB/Images/PBX.img.lz4
Restore Sangoma Backup
-
Access Backups on TS at
\\10.25.0.110\PBXRestores -
Upload backup to the server to folder
/var/spool/asteriskUse scp command to upload
scp backup.tar.gz root@serverip:/var/spool/asterisk -
Run
fwconsole backup --restore backup.tar.gz -
Activate
fwconsole activate LicenseCode
Debian 12 FTP Source Error
The Error
N: Repository 'http://ftp.debian.org/debian stable InRelease' changed its 'Version' value from '12.11' to '13.1'
E: Repository 'http://ftp.debian.org/debian stable InRelease' changed its 'Codename' value from 'bookworm' to 'trixie'
If you get this error when running sudo apt update it is because of a source that points to a Debian 13 source. Sometimes PBX will also display an error message in the update module
Solutions
fwconsole fix
This is the recommended solution provided in pbx. It seems to be able to detect the error automatically itself.
sudo fwconsole sa disable-deb-update-v13
sudo apt update -y && sudo apt upgrade -y
Manual Fix
One line fix command:
sudo sed -i '/stable/ s/\bstable\b/bookworm/' /etc/apt/sources.list.d/archive_uri-http_ftp_debian_org_debian-bookworm.list
sudo apt update -y && sudo apt upgrade -y
Else edit by hand:
- Edit /etc/apt/sources.list.d/archive_uri-http_ftp_debian_org_debian-bookworm.list
sudo vim /etc/apt/sources.list.d/archive_uri-http_ftp_debian_org_debian-bookworm.list - Change the first line from:
deb [arch=amd64] http://deb.freepbx.org/freepbx17-prod stable mainTo this:
deb [arch=amd64] http://deb.freepbx.org/freepbx17-prod bookworm main - Save it and now you can run your updates:
sudo apt update -y && sudo apt upgrade -y