1、安装环境依赖

yum install -y make gcc zlib-devel perl wget 

yum install -y gcc gcc-c++ autoconf libtool automake make 

yum install -y openssl-devel

(以上需要联网安装,离线安装各种依赖需要进一步研究)

openssl version

        OpenSSL 1.0.2k-fips 26 Jan 2017

上传 openssl-1.1.1.tar.gz 到 /home

cd /home/

tar -zxvf openssl-1.1.1.tar.gz

cd openssl-1.1.1

# 配置

./config --prefix=/usr/local/openssl threads zlib shared enable-camellia

# --prefix : 指定安装目录

# threads/no-threads : 是否编译支持多线程的库。默认支持。

# zlib | zlib-dynamic | no-zlib : 使用静态的zlib压缩库 | 使用动态的zlib压缩库 | 不使用zlib压缩功能。

# shared | no-shared : 是否生成动态连接库。

# enable-camellia : 算法

# 编译安装

make && make install

# 新版openssl软链接到旧openssl位置

ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl

# /etc/ld.so.conf 文件记录了编译时使用的动态链接库的路径,告诉链接器去哪个路径下寻找链接时需要用到的库,如果找不到,就会提示链接错误。

echo "/usr/local/openssl/lib">>/etc/ld.so.conf

# ldconfig 命令用于在默认搜寻目录 /lib 和 /usr/lib 以及动态库配置文件 /etc/ld.so.conf 内所列的目录下,搜索出可共享的动态链接库。

ldconfig

openssl version

        OpenSSL 1.1.1 11 Sep 2018

最好重启验证一下!!!!!!

2、安装asterisk

上传 asterisk-21-current.tar.gz 到 /home

cd /home

tar -zxvf asterisk-21-current.tar.gz

上传 pjproject-2.14.tar.bz2 到 /tmp

md5sum /tmp/pjproject-2.14.tar.bz2 > /home/asterisk-21.2.0/third-party/pjproject/pjproject-2.14.tar.bz2.md5

官网没有bz2的文件,制作方法如下:

tar -zxvf pjproject-2.14.1.tar.gz

文件夹 pjproject-2.14.1 改为 pjproject-2.14

cd /home

tar -cjf pjproject-2.14.tar.bz2 pjproject-2.14

cp pjproject-2.14.tar.bz2 /tmp/

md5sum /tmp/pjproject-2.14.tar.bz2 > /home/asterisk-21.2.0/third-party/pjproject/pjproject-2.14.tar.bz2.md5

上传 jansson-2.14.tar.bz2 到 /tmp

md5sum /tmp/jansson-2.14.tar.bz2 > /home/asterisk-21.2.0/third-party/jansson/jansson-2.14.tar.bz2.md5

cd asterisk-21.2.0

./contrib/scripts/install_prereq install (需要联网安装,离线安装各种依赖需要进一步研究)

./configure --with-jansson-bundled

make && make install

make samples

make config

3、启动、停止服务

sudo service asterisk start

sudo service asterisk stop

4、Asterisk的启动可以通过多种方式进行。以下是一些常用的方法:

使用Asterisk命令:

        在命令行中直接输入asterisk命令可以启动Asterisk程序。如果需要更详细的调试信息,可以添加多个v参数,例如asterisk -vvvvvv,其中v越多,debug的等级越高,控制台输出越详细。

        如果Asterisk已经启动,可以使用asterisk -r命令连接到正在运行的Asterisk实例。

使用amportal命令:

        amportal是FreePBX的一个工具,用于管控Asterisk。可以使用amportal start命令来启动Asterisk,amportal restart来重启Asterisk,以及amportal stop来关闭Asterisk。

连接Asterisk控制台:

        可以通过控制台直接启动Asterisk服务器。使用/usr/sbin/asterisk –c命令可以在控制台启动Asterisk。如果想要在后台启动Asterisk然后远程连接控制台,可以先启动后台进程,然后使用/usr/sbin/asterisk -r命令进行连接。

在启动Asterisk时,请确保所有必要的依赖项都已正确安装,特别是库文件如libjansson,否则启动过程可能会失败。如果遇到依赖项缺失的问题,请根据错误提示安装相应的开发包或使用Asterisk自带的版本。

请注意,具体的启动命令和路径可能因操作系统和Asterisk的安装方式而有所不同。如果上述方法不适用于你的情况,建议查阅Asterisk的官方文档或相关社区论坛以获取更详细的指导。

5、asterisk开机自启的设置方法可以通过以下步骤来实现:

进入Asterisk源码目录

        首先,你需要进入到Asterisk的源码文件所在的目录。这通常涉及到使用终端或命令行界面,并导航到正确的文件夹。

配置自动启动

        在源码目录中,运行make config命令。这个命令会配置Asterisk以便在系统启动时自动运行。make config可能会生成或修改一些配置文件,确保Asterisk在系统启动时能够被正确调用。

检查Asterisk启动状态

        使用chkconfig --list命令来检查Asterisk的启动状态。这个命令会列出系统上所有服务的启动状态,包括Asterisk。你应该能看到Asterisk被设置为在系统启动时自动运行。

设置服务开机自启

        在某些Linux发行版中,你还可以使用chkconfig asterisk on命令来明确设置Asterisk在系统启动时自动运行。这个命令将Asterisk添加到系统的启动服务列表中。

修改SELinux配置(如果需要)

        如果你的系统使用了SELinux(Security-Enhanced Linux),你可能还需要修改/etc/selinux/config文件,以确保Asterisk可以正常运行。SELinux是一个提供访问控制安全策略的机制,有时候可能需要调整其配置以允许Asterisk的启动和运行。

重启系统并测试

        最后,重启你的系统来测试Asterisk是否能在开机后自动运行。在系统启动后,检查Asterisk是否已经开始运行,并确保它能够正常处理呼叫和其他功能。

请注意,具体的步骤可能会因你的操作系统版本、Asterisk版本以及系统配置的不同而有所差异。因此,在执行这些步骤时,最好参考你的操作系统和Asterisk的官方文档,以确保你正确地设置了开机自启。同时,如果你不熟悉这些操作,可能需要寻求一个有经验的系统管理员或IT专业人士的帮助。

6、其他

以上进行的操作,最后的安装路径为:/etc/asterisk

Logo

一起探索未来云端世界的核心,云原生技术专区带您领略创新、高效和可扩展的云计算解决方案,引领您在数字化时代的成功之路。

更多推荐