ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    My trials of installing FreePBX

    IT Discussion
    linux freepbx cloudatcost asterisk centos 6
    6
    57
    21.2k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • DashrenderD
      Dashrender
      last edited by Dashrender

      Interrupted by the day job.

      OK updates installed.. now to install some additional packages.

      yum install gcc gcc-c++ lynx bison mysql-devel mysql-server php php-mysql php-pear php-mbstring tftp-server httpd make ncurses-devel libtermcap-devel sendmail sendmail-cf caching-nameserver sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel subversion kernel-devel git subversion kernel-devel php-process crontabs cronie cronie-anacron wget vim php-xml uuid-devel libtool sqlite-devel
      
      1 Reply Last reply Reply Quote 0
      • scottalanmillerS
        scottalanmiller
        last edited by

        Why are you installing a compiler? What are you going to compile?

        1 Reply Last reply Reply Quote 1
        • DashrenderD
          Dashrender
          last edited by

          Because the instructions tell me to...

          There are several make commands in these setup instructions... is that compiling?

          scottalanmillerS 1 Reply Last reply Reply Quote 0
          • DashrenderD
            Dashrender
            last edited by

            Check the status of iptables and disable them for now to make setup easier. (not my idea, the instructions idea).

            chkconfig iptables --list
            iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off

            It was already off (seems odd, but must be the default for C@C)

            SQL setup time

            chkconfig --level 345 mysqld on
            service mysqld start
            

            Output

            Initializing MySQL database:  WARNING: The host 'c1107372-7807.cloudatcost.com' could not be looked up with resolveip.
            This probably means that your libc libraries are not 100 % compatible
            with this binary MySQL version. The MySQL daemon, mysqld, should work
            normally with the exception that host name resolving will not work.
            This means that you should use IP addresses instead of hostnames
            when specifying MySQL privileges !
            Installing MySQL system tables...
            OK
            Filling help tables...
            OK
            
            To start mysqld at boot time you have to copy
            support-files/mysql.server to the right place for your system
            
            PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
            To do so, start the server, then issue the following commands:
            
            /usr/bin/mysqladmin -u root password 'new-password'
            /usr/bin/mysqladmin -u root -h c1107372-7807.cloudatcost.com password 'new-password'
            
            Alternatively you can run:
            /usr/bin/mysql_secure_installation
            
            which will also give you the option of removing the test
            databases and anonymous user created by default.  This is
            strongly recommended for production servers.
            
            See the manual for more instructions.
            
            You can start the MySQL daemon with:
            cd /usr ; /usr/bin/mysqld_safe &
            
            You can test the MySQL daemon with mysql-test-run.pl
            cd /usr/mysql-test ; perl mysql-test-run.pl
            
            Please report any problems with the /usr/bin/mysqlbug script!
            
                                                                       [  OK  ]
            Starting mysqld:                                           [  OK  ]
            
            1 Reply Last reply Reply Quote 0
            • scottalanmillerS
              scottalanmiller @Dashrender
              last edited by

              @Dashrender said:

              Because the instructions tell me to...

              There are several make commands in these setup instructions... is that compiling?

              Make is used for a lot of things. But presumably. This seems fishy, though.

              1 Reply Last reply Reply Quote 0
              • DashrenderD
                Dashrender
                last edited by Dashrender

                Onto Apache

                chkconfig --level 345 httpd on
                

                Output

                Starting httpd: httpd: apr_sockaddr_info_get() failed for c1107372-7807.cloudatcost.com
                httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                                           [  OK  ]
                

                Now for PearDB

                pear channel-update pear.php.net
                pear install db-1.7.14
                

                You may receive a warning:
                WARNING: "pear/DB" is deprecated in favor of "pear/MDB2"

                Output

                [root@c1107372-7807 ~]# pear channel-update pear.php.net
                Updating channel "pear.php.net"
                Update of Channel "pear.php.net" succeeded
                [root@c1107372-7807 ~]# pear install db-1.7.14
                WARNING: "pear/DB" is deprecated in favor of "pear/MDB2"
                downloading DB-1.7.14.tgz ...
                Starting to download DB-1.7.14.tgz (133,103 bytes)
                .............................done: 133,103 bytes
                install ok: channel://pear.php.net/DB-1.7.14
                

                I did receive the notice about pear being deprecated - shouldn't these instructions be updated to use the current software?

                And now a reboot.

                1 Reply Last reply Reply Quote 0
                • scottalanmillerS
                  scottalanmiller
                  last edited by

                  The package would need to be updated, not just the instructions.

                  1 Reply Last reply Reply Quote 0
                  • DashrenderD
                    Dashrender
                    last edited by

                    I'm skipping the Google voice stuff - I have an old account, but I don't recall the credentials.

                    add Asterisk user

                    adduser asterisk -M -c "Asterisk User"
                    

                    Download Asterisk

                    cd /usr/src
                    wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
                    wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
                    wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
                    git clone https://github.com/akheron/jansson.git
                    wget http://www.pjsip.org/release/2.2.1/pjproject-2.2.1.tar.bz2
                    

                    No problems there

                    Compile and install DAHDI and LibPRI

                    cd /usr/src
                    tar xvfz dahdi-linux-complete-current.tar.gz
                    tar xvfz libpri-1.4-current.tar.gz
                    rm -f dahdi-linux-complete-current.tar.gz libpri-1.4-current.tar.gz
                    cd dahdi-linux-complete-*
                    make all
                    make install
                    make config
                    cd /usr/src/libpri-1.4.*
                    make
                    make install
                    
                    1 Reply Last reply Reply Quote 0
                    • DashrenderD
                      Dashrender
                      last edited by Dashrender

                      Compile and install pjproject

                      cd /usr/src
                      tar -xjvf pjproject-2.2.1.tar.bz2
                      cd pjproject-2.2.1
                      CFLAGS='-DPJ_HAS_IPV6=1' ./configure --prefix=/usr --enable-shared --disable-sound\
                        --disable-resample --disable-video --disable-opencore-amr --libdir=/usr/lib64
                      make dep
                      make
                      make install
                      

                      Compile and install jansson

                      cd /usr/src/jansson
                      autoreconf -i
                      ./configure --libdir=/usr/lib64
                      make
                      make install
                      
                      1 Reply Last reply Reply Quote 0
                      • DashrenderD
                        Dashrender
                        last edited by

                        Compile and install Asterisk

                        cd /usr/src
                        tar xvfz asterisk-13-current.tar.gz
                        rm -f asterisk-13-current.tar.gz
                        cd asterisk-*
                        contrib/scripts/install_prereq install
                        ./configure --libdir=/usr/lib64
                        contrib/scripts/get_mp3_source.sh
                        make menuselect
                        

                        Now presented with what options I want to install - per the instruction the only thing I add is Format MP3

                        screen.JPG
                        Click Save and Exit and continue with Asterisk install

                        make
                        make install
                        make config
                        ldconfig
                        
                        1 Reply Last reply Reply Quote 0
                        • DashrenderD
                          Dashrender
                          last edited by

                          Took a while but Asterisk is installed.

                          Installing Asterisk extra sounds

                          mkdir -p /var/lib/asterisk/sounds
                          cd /var/lib/asterisk/sounds
                          wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-wav-current.tar.gz
                          tar xfz asterisk-extra-sounds-en-wav-current.tar.gz
                          rm -f asterisk-extra-sounds-en-wav-current.tar.gz
                          # Wideband Audio download
                          wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-g722-current.tar.gz
                          tar xfz asterisk-extra-sounds-en-g722-current.tar.gz
                          rm -f asterisk-extra-sounds-en-g722-current.tar.gz
                          
                          1 Reply Last reply Reply Quote 0
                          • DashrenderD
                            Dashrender
                            last edited by Dashrender

                            Here the second omission in the instructions. They don't tell you to change the directory before downloading FreePBX. I will include it here.

                            cd /usr/src
                            wget http://mirror.freepbx.org/freepbx-12.0.3.tgz
                            tar vxfz freepbx-12.0.3.tgz
                            

                            Change some permissions

                            chown asterisk. /var/run/asterisk
                            chown -R asterisk. /etc/asterisk
                            chown -R asterisk. /var/{lib,log,spool}/asterisk
                            chown -R asterisk. /usr/lib/asterisk
                            chown -R asterisk. /usr/lib64/asterisk
                            mkdir /var/www/html
                            chown -R asterisk. /var/www/
                            

                            Output

                            # chown asterisk. /var/run/asterisk
                            # chown -R asterisk. /etc/asterisk
                            # chown -R asterisk. /var/{lib,log,spool}/asterisk
                            chown -R asterisk. /usr/lib/asterisk
                            chown -R asterisk. /usr/lib64/asterisk
                            mkdir /var/www/html
                            # chown -R asterisk. /usr/lib/asterisk
                            chown: cannot access `/usr/lib/asterisk': No such file or directory
                            # chown -R asterisk. /usr/lib64/asterisk
                            # mkdir /var/www/html
                            mkdir: cannot create directory `/var/www/html': File exists
                            # chown -R asterisk. /var/www/
                            

                            Odd that there is no /usr/lib/asterisk - so I'll just make a mental note
                            the /var/www/html directory already exists - so no big deal

                            1 Reply Last reply Reply Quote 0
                            • DashrenderD
                              Dashrender
                              last edited by Dashrender

                              A few mods to Apache

                              sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php.ini
                              cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf_orig
                              sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf
                              service httpd restart
                              

                              Output
                              Stopping httpd: [ OK ]
                              Starting httpd: httpd: apr_sockaddr_info_get() failed for c1115759-27921.cloudatcost.com
                              httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                              [ OK ]

                              I'm going to have to fix apache so it knows it's FQDN

                              1 Reply Last reply Reply Quote 0
                              • DashrenderD
                                Dashrender
                                last edited by Dashrender

                                Configure Asterisk database in MYSQL

                                cd /usr/src/freepbx
                                export ASTERISK_DB_PW=amp109
                                mysqladmin -u root create asterisk 
                                mysqladmin -u root create asteriskcdrdb
                                

                                And set permissions on dbs

                                mysql -u root -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';"
                                mysql -u root -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';"
                                mysql -u root -e "flush privileges;"
                                

                                Start Asterisk and install FreePBX

                                cd /usr/src/freepbx
                                ./start_asterisk start
                                ./install_amp --installdb --username=asteriskuser --password=${ASTERISK_DB_PW}
                                

                                Output

                                Checking for PEAR DB..OK
                                Checking for PEAR Console::Getopt..OK
                                Using username: asteriskuser
                                Using password: ******
                                Checking user..OK
                                Checking if Asterisk is running..running with PID: 11666..OK
                                Checking for /etc/amportal.conf../etc/amportal.conf does not exist, copying default
                                Creating new /etc/amportal.conf
                                Enter your USERNAME to connect to the 'asterisk' database:
                                 [asteriskuser]
                                Enter your PASSWORD to connect to the 'asterisk' database:
                                 [amp109]
                                Enter the hostname of the 'asterisk' database:
                                 [localhost]
                                Enter a USERNAME to connect to the Asterisk Manager interface:
                                 [admin]
                                Enter a PASSWORD to connect to the Asterisk Manager interface:
                                 [amp111]
                                Enter the path to use for your AMP web root:
                                 [/var/www/html]
                                
                                PHP Warning:  mkdir(): File exists in /usr/src/freepbx/libfreepbx.install.php on line 197
                                [FATAL] Cannot create /var/www/html!
                                

                                Pressing on (the following commands failed because FreePBX didn't do something right (only error noted above - according the instructions on FreePBX.org you can simply re run the install -
                                ./install_amp --installdb --username=asteriskuser --password=${ASTERISK_DB_PW})

                                amportal chown
                                amportal a ma installall
                                amportal a reload
                                amportal a ma refreshsignatures
                                amportal chown
                                

                                And now the system doesn't know amportal command

                                OK I ran the ./install_amp command again and now amportal commands are working.

                                Another mod for FreePBX, then we can start it

                                ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3
                                amportal restart
                                

                                Add the Commercial Modules repos

                                cd /usr/src
                                wget -P /etc/yum.repos.d/ -N http://yum.schmoozecom.net/schmooze-commercial/schmooze-commercial.repo
                                yum clean all
                                yum -y install php-5.3-zend-guard-loader sysadmin fail2ban incron ImageMagick
                                service httpd restart
                                amportal a ma download sysadmin
                                amportal a ma install sysadmin
                                
                                1 Reply Last reply Reply Quote 0
                                • DashrenderD
                                  Dashrender
                                  last edited by

                                  And now launching the web portal for the first time.

                                  FPBX-first-screen.JPG

                                  1 Reply Last reply Reply Quote 0
                                  • DashrenderD
                                    Dashrender
                                    last edited by Dashrender

                                    As you can see the system isn't setup to listen to FreePBX's .htaccess files so we have to enable the override to allow these to work.

                                    vi /etc/httpd/conf/httpd.conf
                                    

                                    find the line <Directory "/var/www/html"> then local AllowOverride about 14 lines down.
                                    Change AllowOverride = None to AllowOverride = All

                                    Save and quit. now reload httpd

                                    service httpd restart
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • DashrenderD
                                      Dashrender
                                      last edited by

                                      Awesome - that worked.

                                      Nice clean console now..

                                      FPBX-second-screen.JPG

                                      1 Reply Last reply Reply Quote 0
                                      • DashrenderD
                                        Dashrender
                                        last edited by

                                        Time for Server level SIP settings

                                        Click on Settings at the top > Asterisk SIP settings

                                        Type in your external IP address (or if the server is directly on the internet, click the Detect External IP)

                                        Type in the range for your internal networks

                                        Click Submit at the bottom to save the changes.

                                        1 Reply Last reply Reply Quote 0
                                        • DashrenderD
                                          Dashrender
                                          last edited by

                                          OK Hubtech is holding my feet to the fire on these instructions... I need some tweaks I guess.

                                          1 Reply Last reply Reply Quote 0
                                          • scottalanmillerS
                                            scottalanmiller
                                            last edited by

                                            Before doing all of this, did you try the official one line installation method?

                                            https://gist.github.com/monobilisim/7812605

                                            Just copy that script to your machine and run. Have not tested it personally, but it is from the vendor.

                                            DashrenderD 1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 2 / 3
                                            • First post
                                              Last post