记得20年前家里刚装电话时,一线需要两三千块(RMB),后来装电话越来越便宜直到免费。现在借助于Asterisk, FreePBX,可以在家构建自己的电话局,如果你在海外,通过自己的电话局可以非常方便的和国内或其他地方的亲朋好友联系。
下面给出在Ubuntu 12.04 上安装Asterisk,FreePBX的基本步骤。
1. 首先是更新系统(可选)
在命令行中输入
sudo apt-get update
sudo apt-get upgrade
2. 安装LAMP (Apache2+MySQL+PHP)
在命令行输入
sudo tasksel
选择 LAMP Server
3. 添加额外的PHP 软件包
sudo apt-get install php5-gd php-pear php-db sox curl
4. 安装phpmyadmin (可选)
sudo apt-get install phpmyadmin
5. 安装asterisk
sudo apt-get install asterisk asterisk-mysql asterisk-mp3
6. 安装Freepbx准备工作
在安装Freepbx我们先要想好将Freepbx 安装在哪个目录下,FreePBX 为asterisk 的Web管理应用,可以帮助用户配置Asterisk等。
1) Ubuntu 的Web根目录为/var/www, 因此我们可以把FreePBX安装到/var/www/freepbx 目录下,为便于管理,创建三个子目录
- conf 设置文件
- log 存放日志
- public WEB应用。
sudo mkdir /var/www/freepbx/
sudo mkdir /var/www/freepbx/conf
sudo mkdir /var/www/freepbx/log
sudo mkdir /var/www/freepbx/public
2) 创建设置文件 /var/www/freepbx/conf/vhost.conf
sudo vim /var/www/freepbx/conf/vhost.conf
输入以下内容
<VirtualHost *:80>
ServerName freepbx
ServerAlias freepbx
ServerAdmin [email protected]
ErrorLog /var/www/freepbx/log/error.log
CustomLog /var/www/freepbx/log/access.log combined
DocumentRoot /var/www/freepbx/public
<Directory /var/www/freepbx/public>
Options Indexes FollowSymLinks MultiViews
Order allow,deny
AllowOverride All
Allow from all
</Directory>
<Directory /var/www/freepbx/public/admin>
AuthType Basic
AuthName "Restricted Area"
AuthUserFile freepbx-passwd
Require user admin
</Directory>
</VirtualHost>
修改 ServerAdmin 到你自己的Email地址。
3) 将vhost 添加到 Apache的sites-enabled目录下
sudo ln -s /var/www/freepbx/conf/vhost.conf /etc/apache2/sites-available/freepbx
cd /etc/apache2/sites-enabled/
sudo ln -s ../sites-available/freepbx
4) 创建 用户和密码来验证合法用户可以来配置FreePBX (有权限访问该网页)
sudo htpasswd -c /etc/apache2/freepbx-passwd admin
5) 重启Apache
sudo /etc/init.d/apache2 restart
有了这些准备工作后,就可以开始安装FreePBX了
7. 安装FreePBX
1) 下载FreePBX安装包
cd /tmp
wget http://mirror.freepbx.org/freepbx-2.8.1.tar.gz
cd /usr/src
sudo tar xvzf /tmp/freepbx-2.8.1.tar.gz
cd freepbx-2.8.1/
2) 创建数据库
mysqladmin create asterisk -u root -p
mysqladmin create asteriskcdrdb -u root -p
mysql -u root -p asterisk < SQL/newinstall.sql
mysql -u root -p asteriskcdrdb < SQL/cdr_mysql_table.sql
3) 创建数据库用户
mysql -u root -p
在SQL命令行输入
GRANT ALL PRIVILEGES ON asterisk.* TO asterisk@localhost IDENTIFIED BY ‘badasspassword’;
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asterisk@localhost IDENTIFIED BY ‘badasspassword’;
flush privileges;
quit;
注意将badasspassword 换成你自己选择的密码。
4) 备份modules.conf , FreePBX安装时会修改Apache的配置文件
sudo cp /etc/asterisk/modules.conf ~/asterisk-modules.conf
5) 安装FreePBX
sudo ./install_amp
输入对应的参数
Enter your USERNAME to connect to the 'asterisk' database:
[asteriskuser] asterisk
Enter your PASSWORD to connect to the 'asterisk' database:
[amp109] badasspassword
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]
/var/www/freepbx/public
Enter the IP ADDRESS or hostname used to access the AMP web-admin:
[xx.xx.xx.xx] freepbx
Enter a PASSWORD to perform call transfers with the Flash Operator Panel:
[passw0rd] password
Use simple Extensions [extensions] admin or separate Devices and Users [deviceanduser]?
[extensions]
Enter directory in which to store AMP executable scripts:
[/var/lib/asterisk/bin]
6)恢复asterisk-modules.conf
sudo cp ~/asterisk-modules.conf /etc/asterisk/modules.conf
7) 添加asterisk用户
sudo adduser www-data asterisk
修改权限/etc/amportal.conf 中添加
AMPASTERISKUSER=www-data
AMPASTERISKGROUP=asterisk
AMPASTERISKWEBUSER=www-data
AMPASTERISKWEBGROUP=asterisk
重启amportal
sudo amportal start
8) 使用amport 启动Asterisk
sudo update-rc.d -f asterisk remove
sudo sed -e s/BACKGROUND=0/BACKGROUND=1/ -i /usr/sbin/safe_asterisk
修改/etc/rc.local
在exit 0 前添加
/usr/local/sbin/amportal start
9) 重启Ubuntu, 可以登录到 http://your web address/freepbx/public
到此为止就安装好FreePBX,下面就是配置FreePBX,后面有时间在写配置部分。
配置好Trunk, Extension, OutboundRoutes 等之后,你的电话局就建好了,可以通过Extension分配电话好码,如过需要外线可以通过配置Trunk和
OutboundRoutes。 配置好首页会显示当前在线用户数目和可用外线。现在就可以开始打电话了 .