如何从源代码在Ubuntu 18.04上安装Asterisk 15

时间:2020-03-05 15:27:46  来源:igfitidea点击:

在本文中,我将说明如何从源代码在Ubuntu 18.04上安装Asterisk 15.
新版本Asterisk 15为我们带来了许多新功能。
最重要的是,新的名为pjsip的SIP堆栈现在是安装的一部分,已捆绑在一起,无需像以前的版本一样单独安装。
有关完整列表,请访问Asterisk。

获取Asterisk 15的来源

为了成功安装Asterisk 15,我们需要以root用户身份进入。

sudo su

我们将在/usr/src /中下载源代码,因此让我们将目录更改到那里

cd /usr/src/

接下来,我们可以下载最新版本的Asterisk 15.

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz

然后,我们需要打开包装。

tar zxvf asterisk-15-current.tar.gz

显然,我们需要使用cd命令来更改目录,但是我们需要记住一件事。
星号次要版本经常出现,而撰写本文时最新的版本15.3.0将很快过时。
因此,以下命令在其逐字记录状态下将不起作用:

cd asterisk-15.3.0/

我们将需要将其更改为当前版本。
或者像这样简单地使用星号(无双关语)

cd asterisk-15*/

安装依赖项

现在我们需要安装依赖项

apt-get install build-essential wget libssl-dev libncurses5-dev libnewt-dev libxml2-dev linux-headers-$(uname -r) libsqlite3-dev uuid-dev git subversion

还需要来自源的MP3

contrib/scripts/get_mp3_source.sh

最后一个依赖项由脚本添加

contrib/scripts/install_prereq install

编译设置

我们可以使用以下命令开始编译:

./configure && make menuselect && make && make install

在中间的某个位置,将显示ncurses环境,并为我们提供组件选择。
我们可以接受默认值。

编译完成后,我们需要示例配置。

make samples

另外,需要安装systemd单位文件,并使用此命令执行此操作

make config

链接共享库是通过此命令完成的

ldconfig

为了获得更好的安全性,我们希望Asterisk在asterisk组中以asterisk用户身份运行。
让我们添加用户和组

groupadd asterisk
useradd -d /var/lib/asterisk -g asterisk asterisk

用户将在/var/lib/asterisk中有一个自定义主目录

接下来,我们需要在/etc/default/asterisk中取消注释AST组和用户的行。
我们将使用sed命令执行此操作,但使用nano或者vi也可以。

sed -i 's/#AST_USER="asterisk"/AST_USER="asterisk"/g' /etc/default/asterisk
sed -i 's/#AST_GROUP="asterisk"/AST_GROUP="asterisk"/g' /etc/default/asterisk

另一项调整是取消注释/etc/asterisk.conf中的runuser和rungroup行

sed -i 's/;runuser = asterisk/runuser = asterisk/g' /etc/asterisk/asterisk.conf
sed -i 's/;rungroup = asterisk/rungroup = asterisk/g' /etc/asterisk/asterisk.conf

最后,我们需要将所有相关星号目录的所有者更改为用户星号。

chown -R asterisk:asterisk /var/spool/asterisk /var/run/asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib/asterisk

运行Asterisk 15

最后,我们将启动Asterisk

asterisk -rvvv

它将为我们提供类似于以下内容的输出:

Asterisk 15.3.0, Copyright (C) 1999 - 2015, Digium, Inc. and others.
Created by Mark Spencer <[email protected]>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Running as user 'asterisk'
Running under group 'asterisk'
Connected to Asterisk 15.3.0 currently running on theitroad (pid = 1085)