Install FreePBX on ClarkConnect
Based on ClarkConnect Home 4.0 and FreePBX 2.1.3

  • Install ClarkConnect (Minimum Required) 
    • Standard Modules
      • DHCP Server
      • Caching Nameserver
      • Web Server
      • Mail Servers
    • More Modules
      • PHP Support
      • Database
  • Post Installation
    • Start Services
      • https://cc.ip.address:81
        • Software
          • MySQL Setup
            • Server Status
              • Status > Start
              • On boot > To Auto
          • SMTP Mail
            • Server Status
              • Status > Start
              • On boot > To Auto
              • Warning > Enable
          • Web Server
            • Server Status
              • Status > Start
              • On boot > To Auto
    • Modify apt-get config
      • cd /etc/apt
      • cp -v apt.conf apt.conf.original
      • sed -i 's/Allow-Duplicated { "^kernel-sourcecode"; "^drbd-kernel"; "^kernel$"; "^kernel-devel$"; "^kernel-smp$"; "^gpg-pubkey$"; };/Allow-Duplicated { "^kernel-sourcecode"; "^drbd-kernel"; "^kernel$"; "^kernel-devel$"; "^kernel-smp$"; "^kernel-smp-devel$"; "^gpg-pubkey$"; };/' apt.conf
    • Update System
      • apt-get update
      • apt-get upgrade
      • apt-get dist-upgrade
      • apt-get install lame
      • apt-get install cc-devel
      • apt-get install mysql-devel
      • apt-get install subversion
      • apt-get install kernel-devel
      • apt-get install kernel-smp-devel
    • Get Files
      • cd /usr/src
      • wget http://easynews.dl.sourceforge.net/sourceforge/amportal/freepbx-2.1.3.tar.gz
      • svn checkout http://svn.digium.com/svn/asterisk/trunk asterisk
      • svn checkout http://svn.digium.com/svn/zaptel/trunk zaptel
      • svn checkout http://svn.digium.com/svn/libpri/trunk libpri
      • svn checkout http://svn.digium.com/svn/asterisk-addons/trunk asterisk-addons
      • svn checkout http://svn.digium.com/svn/asterisk-sounds/trunk asterisk-sounds
    • Extract Files
      • cd /usr/src
      • tar -xzvf freepbx-2.1.3.tar.gz
      • mv -vf freepbx-2.1.3 freepbx
      • rm -vf freepbx-2.1.3.tar.gz
    • Misc Setup
      • useradd -c "Asterisk PBX" -d /var/lib/asterisk asterisk
      • chown asterisk /var/lib/php/session/
      • cp -v /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.original
      • sed -i "s/User apache/User asterisk/" /etc/httpd/conf/httpd.conf
      • sed -i "s/Group apache/Group asterisk/" /etc/httpd/conf/httpd.conf
      • cp -v /usr/src/zaptel/xpp/utils/genzaptelconf /usr/local/sbin
      • chown -v asterisk:asterisk /usr/local/sbin/genzaptelconf
    • Setup SQL Tables
      • cd /usr/src/freepbx
      • mysqladmin create asterisk
      • mysqladmin create asteriskcdrdb
      • mysql asterisk < SQL/newinstall.sql
      • mysql asteriskcdrdb < SQL/cdr_mysql_table.sql
      • mysql -vv -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109'"
      • mysql -vv -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109'"
      • mysql -vv -e "flush privileges"
    • Install Asterisk
      • cd /usr/src/zaptel
      • make
      • make install
      • make config
      • cd /usr/src/libpri
      • make install
      • cd /usr/src/asterisk
      • mkdir /var/run/asterisk
      • make install
      • make config
      • cd /usr/src/asterisk-addons
      • cp Makefile Makefile.orig
      • sed -i 's/SOURCE/SOURCE -DMYSQL_LOGUNIQUEID/' Makefile
      • make
      • make install
      • cp -v /usr/src/asterisk/configs/zapata.conf.sample /etc/asterisk/zapata.conf
      • echo "#include zapata-channels.conf" >> /etc/asterisk/zapata.conf
      • echo "#include zapata_additional.conf" >> /etc/asterisk/zapata.conf
      • mkdir -v /var/lib/asterisk/sounds/custom
      • chown -vR asterisk:asterisk /var/lib/asterisk/sounds/custom
    • Install FreePBX
      • cd /usr/src/freepbx
      • ./install_amp
      • chown -vR asterisk:asterisk /etc/asterisk
      • modprobe -v zaptel
      • modprobe -v wcfxo
      • genzaptelconf
      • echo /usr/sbin/amportal start >> /etc/rc.local
    • Logrotate
      • cd /etc/logrotate.d
      • touch asterisk
      • echo "/var/log/asterisk/*log {" > asterisk
      • echo " missingok" >> asterisk
      • echo " rotate 5" >> asterisk
      • echo " weekly" >> asterisk
      • echo " create 0640 asterisk asterisk" >> asterisk
      • echo " postrotate" >> asterisk
      • echo " /usr/sbin/asterisk -rx 'logger reload' > /dev/null 2> /dev/null" >> asterisk
      • echo " endscript" >> asterisk
      • echo "}" >> asterisk
      • echo "/var/log/asterisk/full {" >> asterisk
      • echo " missingok" >> asterisk
      • echo " rotate 5" >> asterisk
      • echo " daily" >> asterisk
      • echo " create 0640 asterisk asterisk" >> asterisk
      • echo " postrotate" >> asterisk
      • echo " /usr/sbin/asterisk -rx 'logger reload' > /dev/null 2> /dev/null" >> asterisk
      • echo " endscript" >> asterisk
      • echo "}" >> asterisk
      • echo "/var/log/asterisk/cdr-csv/*csv {" >> asterisk
      • echo " missingok" >> asterisk
      • echo " rotate 5" >> asterisk
      • echo " monthly" >> asterisk
      • echo " create 0640 asterisk asterisk" >> asterisk
      • echo "}" >> asterisk
    • Fix Asterisk tty
      • sed -i "s/latarcyrheb-sun16/lat0-sun16/" /etc/sysconfig/i18n
    • Allow incoming IAX2, SIP and RTP traffic
      • cp -vf /etc/firewall /etc/firewall.original
      • sed -i 's/RULES="\\/RULES="\\\n\tIAX2||0x10000001|17||4569| \\\n\tRTP||0x10000001|17||10000:20000| \\\n\tSIP||0x10000001|17||5060:5061| \\/' /etc/firewall
    • Set MySQL Password
      • https://cc.ip.address:81
        • Software > MySQL Setup
          • Set Password
    • Optional Installations and Customizations
    • Notes
      • The default Authentication type in FreePBX is database (user=admin, pass=admin). This can be changed from /etc/amportal.conf. Possible options are:
        • database: can be controlled from Module Administrators.
        • none: If you do this, its better to password protect the directory:
          • Add user admin with password admin
            • htpasswd -c -b /usr/local/wwwpasswd admin admin
          • Add to /etc/httpd/conf/httpd.conf
            • <Directory> /var/www/html/admin
            • AuthType Basic
            • AuthName "Restricted"
            • AuthUserFile /usr/local/wwwpasswd
            • Require user admin
            • </Directory>
    • Reboot