我是
靠谱客的博主
大气手链,最近开发中收集的这篇文章主要介绍
freepbx 安装和配置,觉得挺不错的,现在分享给大家,希望可以做个参考。
首先参见 asterisk manager api 的配置,然后根据freepbx的官方文档:
http://wiki.freepbx.org/display/HTGS/Installing+FreePBX+12+on+Ubuntu+Server+14.10
http://wiki.freepbx.org/display/L1/amportal+commands#amportalcommands-Chown
Initial System Setup
When installing the machine, at package selection make sure you pick - at least - OpenSSH Server, and LAMP Server. You may install others, if wanted.
Switch to the Root User
Update Your System
apt-get update &&
sudo
apt-get upgrade -y
|
Install Required Dependencies
apt-get
install
-y build-essential linux-headers-`
uname
-r` openssh-server apache2 mysql-server
mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php-db php5-gd curl sox
libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3
libsqlite3-dev pkg-config automake libtool autoconf git subversion unixodbc-dev uuid uuid-dev
libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev
libspandsp-dev libiksemel-dev libiksemel-utils libiksemel3
|
Reboot server
This is to ensure you're running the kernel version that you're going to be building your kernel modules against. You may skip this step if you're sure your running kernel is the latest.
Install PearDB
pear uninstall db
pear
install
db-1.7.14
|
Download Asterisk source files.
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
|
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
|
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
make
dep
make
make
install
|
Compile and Install jansson
cd
/usr/src/jansson
autoreconf -i
.
/configure
make
make
install
|
Compile and install Asterisk
cd
/usr/src
tar
xvfz asterisk-13-current.
tar
.gz
rm
-f asterisk-13-current.
tar
.gz
cd
asterisk-*
.
/configure
contrib
/scripts/get_mp3_source
.sh
make
menuselect
|
You will be prompted at the point to pick which modules to build. Most of them will be enabled, but if you want to have MP3 support, you need to manually turn on 'format_mp3' on the first page.
After selecting 'Save & Exit' you can then continue
make
make
install
make
config
ldconfig
|
Note that this installs the (8khz) 'wav' soundfiles and G722 (High Definition 'Wideband') audio.
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
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
|
Download and extract FreePBX.
wget http:
//mirror
.freepbx.org
/modules/packages/freepbx/freepbx-12
.0-latest.tgz
tar
vxfz freepbx-12-latest.tgz
|
Now create the Asterisk user and set ownership permissions.
useradd
-m asterisk
chown
asterisk.
/var/run/asterisk
chown
-R asterisk.
/etc/asterisk
chown
-R asterisk.
/var/
{lib,log,spool}
/asterisk
chown
-R asterisk.
/usr/lib/asterisk
rm
-rf
/var/www/html
|
A few small modifications to Apache.
sed
-i
's/(^upload_max_filesize = ).*/120M/'
/etc/php5/apache2/php
.ini
cp
/etc/apache2/apache2
.conf
/etc/apache2/apache2
.conf_orig
sed
-i
's/^(User|Group).*/1 asterisk/'
/etc/apache2/apache2
.conf
service apache2 restart
|
Prepare MySQL
You now need to generate a secure password for FreePBX to use to talk to MySQL.
export
ASTERISK_DB_PW=`
dd
if
=
/dev/urandom
bs=1 count=32 2>
/dev/null
| base64 - |
cut
-c2-18`
|
That will generate a quasi-random 16 character long password, which should be secure enough for most things. If you had set the MySQL 'root' password to be something when you were installing the machine, you will need to add a -pyourpassword flag to the following lines
mysqladmin -u root create asterisk
mysqladmin -u root create asteriskcdrdb
|
Set permissions on MYSQL database.
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;"
|
Restart Asterisk and install FreePBX.
.
/start_asterisk
start
.
/install_amp
--installdb --username=asteriskuser --password=${ASTERISK_DB_PW}
amportal
chown
amportal a ma installall
amportal a reload
amportal a ma refreshsignatures
amportal
chown
|
Finally, one last mod and start FreePBX.
ln
-s
/var/lib/asterisk/moh
/var/lib/asterisk/mohmp3
amportal restart
|
Start FreePBX
Navigate:
Now FreePBX is installed, it will be available via Apache. Open up your web browser and visit:
http://Address.Of.FreePBX.Server/admin
发表评论 取消回复