Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Help about MediaWiki
FUTO
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Introduction to a Self Managed Life: a 13 hour & 28 minute presentation by FUTO software
(section)
Main Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Step 1: Preparing a FreePBX installation == <span id="step-1-set-up-a-freepbx-virtual-machine"></span> === Step 1: Set up a FreePBX virtual machine === <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:lu67917r1ezu_tmp_bfad3d9b.png </gallery> <span id="download-debian-12-iso"></span> ==== 1.1 Download Debian 12 ISO ==== You used to download FreePBX as its own distro, which was based on CentOS. They switched to Debian after some recent CentOS/Red Hat controversy. <ol style="list-style-type: decimal;"> <li><p>Open a terminal window or use a web browser within your '''happycloud''' server that is running '''Virtual Machine Manager''' to host all of your virtual machines. In our case, that’s '''192.168.5.2'''.</p></li> <li><p>'''Download and install''' [https://www.debian.org/CD/ ''Debian 12''] on the machine designated for FreePBX.</p> <pre>wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-12.0.0-amd64-netinst.iso -P ~/Downloads</pre></li> <li><p>Make sure the download completes successfully.</p></li></ol> <span id="move-the-debian-iso-to-the-correct-directory"></span> ==== 1.2 Move the Debian ISO to the Correct Directory ==== <ol style="list-style-type: decimal;"> <li><p>Move the downloaded ISO to <code>/var/lib/libvirt/images</code>:</p> <pre>sudo mv ~/Downloads/debian-12.0.0-amd64-netinst.iso /var/lib/libvirt/images/</pre></li> <li><p>Set the correct permissions and ownership for the ISO:</p> <pre>sudo chmod 644 /var/lib/libvirt/images/debian-12.0.0-amd64-netinst.iso sudo chown libvirt-qemu:kvm /var/lib/libvirt/images/debian-12.0.0-amd64-netinst.iso</pre> <p><gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:lu67917r1ezu_tmp_b51c10bd.png </gallery></p></li></ol> <span id="launch-virtual-machine-manager"></span> ==== 1.3: Launch Virtual Machine Manager ==== Open Virtual Machine Manager from the Openbox menu by right-clicking the desktop, going to system, and then running virtual machine manager. Or run: <pre>virt-manager</pre> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:lu67917r1ezu_tmp_151745e3.png </gallery> <span id="create-a-new-virtual-machine"></span> ==== 1.4 Create a New Virtual Machine ==== # Click '''Create a new virtual machine'''. # Select '''Local install media (ISO image or CDROM)''' and click '''Forward'''. # Click '''Browse…''' and navigate to <code>/var/lib/libvirt/images/</code> to select <code>debian-12.0.0-amd64-netinst.iso</code>. # Choose '''Detect automatically''' for the OS type or manually set it as '''Debian 12'''. # Click '''Forward'''. <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:lu67917r1ezu_tmp_4bc43bb4.png File:lu67917r1ezu_tmp_ba3e10c4.png </gallery> <span id="configure-vm-resources"></span> ==== 1.5: Configure VM Resources ==== # '''Memory & CPU:''' #* Assign '''4096 MB''' of RAM (or more, but the idea of giving more than 4 gigs to a phone system hurts me). #* Assign '''2 CPUs''' (adjust based on available resources). # '''Storage:''' #* Select '''Create a disk image for the virtual machine'''. # Allocate at least '''20 GB''' for storage. Choose more if you expect larger usage. # Click '''Forward'''. <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:lu67917r1ezu_tmp_47157042.png </gallery> <span id="set-up-networking"></span> ==== 1.6 Set Up Networking ==== * Make sure the network selection is set to '''Bridge''' and matches your LAN network (e.g., <code>br0</code>). This will allow your VM to get a static IP from your existing network. Under '''Network''' settings, make sure it’s set to '''Bridge mode''' for proper network integration. <span id="set-up-freepbx-to-start-on-boot"></span> ==== 1.7 Set up FreePBX to start on boot ==== <pre>virsh autostart freepbx</pre> * Check that this is set up properly by typing <code>virsh dominfo freepbx</code> and seeing if the autostart line is set to enable. * If you don’t do this, you will realize once it is too late and you’ve left your house after you have rebooted your server (for whatever reason) that your phone system is dead. Don’t do that. <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:lu67917r1ezu_tmp_e22151da.png File:lu67917r1ezu_tmp_299cdef5.png File:lu67917r1ezu_tmp_331573f2.png File:lu67917r1ezu_tmp_c164c52b.png File:lu67917r1ezu_tmp_474da8d6.png File:lu67917r1ezu_tmp_b401b780.png File:lu67917r1ezu_tmp_27a9fd11.png File:lu67917r1ezu_tmp_f48a1f82.png File:lu67917r1ezu_tmp_f01c615f.png File:lu67917r1ezu_tmp_daa809f6.png File:lu67917r1ezu_tmp_3938eead.png File:lu67917r1ezu_tmp_863c1219.png File:lu67917r1ezu_tmp_989c8592.png File:lu67917r1ezu_tmp_e4c7555a.png File:lu67917r1ezu_tmp_12e25dc6.png File:lu67917r1ezu_tmp_362ff89f.png File:lu67917r1ezu_tmp_82b7c46.png File:lu67917r1ezu_tmp_fb20c8a5.png File:lu67917r1ezu_tmp_c84cc7cd.png File:lu67917r1ezu_tmp_e0ce50d3.png File:lu67917r1ezu_tmp_40edf977.png File:lu67917r1ezu_tmp_53383ce3.png File:lu67917r1ezu_tmp_e0e659a5.png File:lu67917r1ezu_tmp_d7ccc18d.png File:lu67917r1ezu_tmp_d5c2b085.png </gallery> <span id="debian-12-installation-setup"></span> ==== 1.8 Debian 12 Installation Setup ==== # Follow the Debian installer prompts: #* '''Language''': Choose your preferred language. #* '''Location''': Set your country. #* '''Keyboard''': Select your preferred layout. #* '''Hostname''': Set the hostname as <code>freepbx</code>. # '''Domain Name''': #* You can leave this blank. # '''Set the Root Password''': #* Choose a secure password and confirm it. # '''Create a New User''': #* Add a user. I added a user named <code>louis</code> for myself. # '''Partitioning''': #* Choose '''“Guided - use entire disk and set up LVM”'''. #* DO NOT USE ENCRYPTION - REMEMBER, THE HOST SYSTEM THIS IMAGE IS ON IS ALREADY AN ENCRYPTED DISK!! #* Select the disk and proceed. #* Confirm changes to write the partitions. #* The disk device will most likely be something like <code>/dev/vda</code>. <span id="post-installation-configuration-test"></span> ==== 1.9 Post-Installation Configuration Test ==== After rebooting, log in as root or your user. Make sure network connectivity works: <pre>ping 8.8.8.8 hostnamectl</pre> <span id="step-2-preparing-debian-12-for-freepbx-installation"></span> === Step 2: Preparing Debian 12 for FreePBX Installation === This guide provides instructions on performing basic maintenance on a fresh Debian 12 installation and then downloading and running the FreePBX installation script. Follow the steps carefully to ensure a smooth setup. <span id="configure-network-settings"></span> ==== 2.1 Configure Network Settings ==== # Log in with your username and password on the virt-manager screen on your host computer (the one hosting all the virtual machines). # Type <code>ip addr show</code> and find which interface shows your IP address. #* Remember its name for later. #* It should be something like <code>enp1s0</code>. # Become root: <pre>su</pre> <ol start="4" style="list-style-type: decimal;"> <li><p>Make a network configuration file like this:</p> <blockquote><p>Use the name of your network interface in place of <code>enp1s0</code>.</p></blockquote></li></ol> <pre>nano -w /etc/systemd/network/enp1s0.network</pre> <pre>[Match] Name=enp1s0 #put name of your network interface in place of enp1s0 [Network] Address=192.168.5.6/24 Gateway=192.168.5.1 DNS=192.168.5.1</pre> <ol start="5" style="list-style-type: decimal;"> <li>Hit <code>ctrl-x</code>, then <code>y</code> to save.</li></ol> <pre>systemctl restart systemd-networkd</pre> <ol start="6" style="list-style-type: decimal;"> <li><p>Make sure your IP address has changed to a static IP by typing <code>ip addr show</code> and checking.</p> <ul> <li><p>'''Static IP''': Set the IP address to 192.168.5.6.</p></li> <li><p>'''Gateway''': Use 192.168.5.1.</p></li> <li><p>'''DNS Server''': Set to 192.168.5.1.</p></li></ul> </li></ol> <span id="do-basic-maintenance-on-debian-12"></span> ==== 2.2 Do Basic Maintenance on Debian 12 ==== <ul> <li><p>'''Update Package Lists'''</p> <ul> <li><p>Refresh the package lists to make sure you get the latest versions</p></li> <li><p>Upgrade packages</p></li> <li><p>Remove junk, all with the following line:</p></li></ul> <pre>sudo apt update ; sudo apt upgrade -y ; sudo apt autoremove -y</pre></li></ul> <span id="download-run-freepbx-install-script"></span> ==== 2.3 Download & run ''[https://github.com/FreePBX/sng_freepbx_debian_install FreePBX install script]'' ==== <ol style="list-style-type: decimal;"> <li><p><code>ssh</code> to the Debian system as <code>louis</code></p></li> <li><p>Check ''[https://github.com/FreePBX/sng_freepbx_debian_install FreePBX page]'' for the latest script since the URL will change over time.</p></li> <li><p>Download the file using <code>wget</code>:</p> <pre>su wget https://github.com/FreePBX/sng_freepbx_debian_install/raw/master/sng_freepbx_debian_install.sh -O /tmp/sng_freepbx_debian_install.sh</pre></li> <li><p>Make the script executable</p></li></ol> <pre> su # become root user chmod +x /tmp/sng_freepbx_debian_install.sh</pre> <ol start="5" style="list-style-type: decimal;"> <li><p>Run the FreePBX Installation Script</p> <pre>bash /tmp/sng_freepbx_debian_install.sh</pre> <ul> <li>The script will handle the setup of Asterisk, Apache, MySQL, Postfix, etc., all necessary FreePBX modules.</li></ul> </li></ol> <span id="step-3-visit-freepbx-web-interface"></span> === Step 3: Visit FreePBX Web Interface === # '''Open a Web Browser''' #* Use a browser on a device connected to the same network, or a device that is connected via OpenVPN. Remember, none of this is open to the public! # '''Navigate to the FreePBX IP''' #* Access FreePBX by entering the following URL: ''http://192.168.5.6/admin'' #* If you used a different IP configuration than I did, enter that IP. # '''Answer prompts for user/password''' #* Follow the setup wizard to configure your admin user, language settings, & other preferences. But don’t get started messing around with anything serious just yet. <span id="step-3-configuring-unitel-as-phone-service-provider"></span>
Summary:
Please note that all contributions to FUTO may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
FUTO:Copyrights
for details).
Do not submit copyrighted work without permission!
To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:
Cancel
Editing help
(opens in new window)