Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

Version 1 Current »

Objective of this document to capture all the required steps to set up Freepbx 17 Dev environment.

Please find below steps -

Step-1: Install the Debian 12 OS

Freepbx 17 is supported only on Debian 12, so you can use any one of the following method to install the Debian 12.

  1. Step By Step Debian 12 Installation

  2. Take any Virtual machine with Debian 12.


Step-2: Install the FreePBX 17

Install the Freepbx 17 by execute the install script as mentioned in FreePBX 17 Installation

Install script will download all the required dependent packages.

Step-3: Setup the GIT

Please ensure your system SSH

mkdir /usr/src/freepbx
cd /usr/src/freepbx
git clone ssh://git@git.freepbx.org/freepbx/framework.git
cd framework
git checkout release/13.0
./install_amp --insta

GIT

FreePBX uses GIT, an open source version control system. If you are unfamiliar with GIT, you can learn more about it at http://git-scm.com/ .

FreePBX open source codebased is hosted at Github  https://github.com/freepbx

Supported Modules

Supported Modules are modules that are actively supported by the FreePBX development team and are supported by FreePBX's Sponsor, Sangoma Technologies, INC. They can be found in our standard GITHUB project  https://github.com/freepbx

Contributed Modules

Contributed modules are modules that have been submitted to the FreePBX development team to host, they are very inactive and sometimes don't have a developer attached to them. They can be found in our contributed modules project at https://github.com/freepbx-ContributedModules

Initial Setup

  1. Make sure you have added your SSH key to the GITHub account. Ref - https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account

  2. Navigate to /usr/src

    cd /usr/src
  3. Checkout the devtools repo into this starting location

    git clone git@github.com:FreePBX/devtools.git
  4. Navigate to inside the devtools repo

    cd /usr/src/devtools 
  5. Install your default configuration settings to the config file (create a file in your home directory called .freepbxconfig and put the information below in it)

    .freepbxconfig

    repo_directory=/usr/src/freepbx
    language_directory=/usr/src/freepbxlocalization
  6. Run the freepbx_git.php setup script. This script will download all of the repos from the FreePBX Project, excluding devtools, into /usr/src/ (unless you specify somewhere else using --directory). When prompted for your Username and Password, please use your FreePBX.org Username and Password.

    ./freepbx_git.php --setup --switch=release/17.0
  7. Navigate to /usr/src/freepbx/framework

    cd /usr/src/freepbx/framework
  8. Run install with the '--dev-links' parameter. 

    ./install --dev-links

    Note you can add '-n' after '--dev-links', which will use secure defaults and passwords for all the services requred.

When you add the --dev-links parameter, this significantly and fundamentally changes the layout of your FreePBX machine. This parameter sets up symlinks throughout all of FreePBX and renders online module updates unreliable, at best! You should never do this on a production machine as it can easily cause significant and unexpected problems.

Receiving an Error?

 

PHP Fatal error:  Cannot redeclare composerRequire29de5ac29f36fb522a59e5e3da081c0a() (previously declared in /usr/src/freepbx/framework/amp_conf/htdocs/admin/libraries/Composer/vendor/composer/autoload_real.php:63) in /var/www/html/admin/libraries/Composer/vendor/composer/autoload_real.php on line 70

This is caused because you have an existing installation of FreePBX and our installer will not override a real file with a symlink. To fix it we should, perform the following after backing up any changes you in /var/www/html:

  1. Open /etc/freepbx.conf and get the database credentials (save them in a safe place)

  2. Remove /etc/freepbx.conf & /etc/amportal.conf

  3. Remove /var/www/html/

  4. cd /usr/src/freepbx/framework

  5. ./install --dbuser=[username from /etc/freepbx.conf] --dbpass=[password from /etc/freepbx.conf] --dev-links

Maintenance

Updating Modules

  1. Navigate to your devtools directory

    cd /usr/src/devtools
  2. Run freepbx_git with --refresh

    ./freepbx_git.php --refresh
    ./freepbx_git.php -s
    cd ../freepbx/framework
    ./install --dev-links -n

Checking Out Modules from Contributed

  1. Navigate to your devtools directory

    cd /usr/src/devtools
  2. Check out the module using the raw name (a list of modules can be seen here: http://git.freepbx.org/projects/FPBXCN

    ./freepbx_git.php -m accountcodepreserve

  • No labels