FreePBX

From Alpine Linux
Revision as of 03:30, 23 June 2010 by Ncopa (talk | contribs) (s/alpinelinux/Alpine Linux/g)

Set up Freepbx on Alpine Linux

This document will be a quick c/p guide to setup asterisk with freepbx on Alpine linux. What we will setup is the following:

  • Lighttpd with PHP using FastCGI
  • MySQL server
  • Freepbx 2.7.0

Lighttpd + PHP

Install lighttpd and PHP

apk add lighttpd php php-gd php-cli php-curl php-xml php-mysql php-posix php-mcrypt php-gettext php-pear

Enable PHP FastCGI in lighttpd by uncommenting fastcgi

vim +46 /etc/lighttpd/lighttpd.conf

Start and add it to system start

/etc/init.d/lighttpd start && rc-update add lighttpd default

Create a test php file to see if your php installation is working and has all needed modules. Visit http://my-ip-address/phpinfo.php (you can delete the phpinfo.php file afterwards if you like)

echo "<?php phpinfo(); ?>" > /var/www/localhost/htdocs/phpinfo.php

Install pear DB

pear install DB

MySQL

Install MySQL

apk add mysql mysql-client

Initiate databases

/usr/bin/mysql_install_db --user=mysql

Start MySQL and add to system start

/etc/init.d/mysql start && rc-update add mysql default

Set MySQL root password

/usr/bin/mysqladmin -u root password 'new-password'

Asterisk

Install asterisk (replace vserver with your kernel version).

apk add asterisk asterisk-sample-config dahdi-linux-vserver asterisk-addons-mysql

Start asterisk (do not add to system start)

/etc/init.d/asterisk start

FreePBX

Download Freepbx

wget http://mirror.freepbx.org/freepbx-2.7.0.tar.gz

Unpack source

tar zxvf freepbx-2.7.0.tar.gz && cd freepbx-2.7.0

Add freepbx databases to MySQL

mysqladmin create asterisk -p
mysqladmin create asteriskcdrdb -p

Import SQL data into MySQL

mysql -D asterisk -u root -p < SQL/newinstall.sql
mysql -D asteriskcdrdb -u root -p < SQL/cdr_mysql_table.sql

Open connection to MySQL

mysql -u root -p

Create MySQL users

GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';

Close connection

exit

Freepbx installer does not like busybox sed so we add normal sed, we need to patch 2 files later on so we need patch (you can remove them afterwards)

apk add sed patch

Flash operator panel needs Perl

apk add perl

Start the installer (you can accept the defaults)

./install_amp

Finishing up

Change user/group of lighttpd to asterisk

vim +50 /etc/lighttpd/lighttpd.conf

Change permissions of lighttpd/freepbx files

/etc/init.d/lighttpd stop
chown -R asterisk:asterisk /var/log/lighttpd
chown -R asterisk:asterisk /var/run/lighttpd*
chown -R asterisk:asterisk /var/www/localhost/htdocs/freepbx
/etc/init.d/lighttpd start

Stop asterisk

/etc/init.d/asterisk stop

Patch FreePBX to support Alpine Linux File:Freepbx engine.patch.txt

cd /var/lib/asterisk/bin
patch -p0 < freepbx_engine.patch

This file gets overwritten when using freepbx so we need to patch the original File:Freepbx engine.patch.txt

cd /var/www/localhost/htdocs/freepbx/admin/modules/framework/bin/
patch -p0 freepbx_engine.patch

Start Asterisk with FreePBX

amportal start

Load needed dahdi modules

modprobe dahdi
modprobe dahdi_dummy

Make them load on boot

echo dahdi >> /etc/modules
echo dahdi_dummy >> /etc/modules


EOF