本文基於 Centos 7.9, Freeswitch依賴的epel源,必須聯網才可以使用。
官方推薦的rpm安裝方式:
yum install -y https://files.freeswitch.org/repo/yum/centos-release/freeswitch-release-repo-0-1.noarch.rpm epel-release yum install -y freeswitch-config-vanilla freeswitch-lang-en* freeswitch-sounds-en* systemctl enable freeswitch
說明: 上面是通過Freeswitch官方制作的公開yum源進行安裝,只是因為跨洋訪問速度太慢了,所以才制作私有倉庫。
1. 通過海外主機,使用迅雷下載Freeswitch官方制作的yum源的整個目錄,
下載完成后把整個文件目錄zip打包,設置主機的http服務8080端口,
再使用迅雷把zip包下載到本地,整個過程大概2小時即可完成;
https://files.freeswitch.org/repo/yum/centos-release/7/x86_64/
Freeswitch官方的yum源打包下載地址: 點擊這里。
2. 使用SecureCRT自帶的 SecureFX 把 Freeswitch-yum-repo.zip 包上傳並解壓到centos7的目錄:
/home/repo/yum/centos-release/7/x86_64/
mkdir -p /home/repo/yum/centos-release/7/x86_64/
yum -y install lrzsz vim unzip zip
unzip -d /home/repo/yum/centos-release/7/x86_64/ Freeswitch-yum-repo.zip
cd /home/repo/yum/centos-release/7/x86_64/
mv fs/* . # 把所有rpm包轉移到 x86_64 目錄下
3. 安裝httpd服務,並把http文檔目錄設置為 /home/repo/yum/centos-release/ ,參考上一篇文章;
4. 安裝createrepo軟件包: yum -y install createrepo
創建倉庫: createrepo /home/repo/yum/centos-release/7/x86_64/
此時會在 x86_64 目錄下生成 repodata 數據;
5. 在目標主機增加Freeswitch倉庫文件配置:
vi /etc/yum.repos.d/freeswitch.repo
[freeswitch] name=freeswitch baseurl=http://192.168.88.118/7/x86_64/ enabled=1 gpgcheck=0
6. 查看yum更新源列表,此時應該可以看到名稱為Freeswitch的yum源;
yum repolist
7. 在目標主機安裝Freeswitch:
epel 是一個第三方的rpm倉庫,擴展了centos默認的yum倉庫,參考這篇文章。
【 注意: freeswitch 運行時依賴的第三方庫大多都在 epel 倉庫中, 而下載 epel 倉庫的rpm必須要聯網才可以 】
yum install -y epel-release yum install -y freeswitch-config-vanilla freeswitch-lang-en* freeswitch-sounds-en* systemctl enable freeswitch rm -rf /etc/freeswitch/sip_profiles/*ipv6*
編輯全局變量配置文件: vim /etc/freeswitch/vars.xml ,修改 external_rtp_ip 和 external_sip_ip 的值:
<X-PRE-PROCESS cmd="stun-set" data="external_rtp_ip=stun:stun.freeswitch.org"/> <X-PRE-PROCESS cmd="stun-set" data="external_sip_ip=stun:stun.freeswitch.org"/> 替換為: <X-PRE-PROCESS cmd="set" data="external_rtp_ip=$${local_ip_v4}" /> <X-PRE-PROCESS cmd="set" data="external_sip_ip=$${local_ip_v4}" /> 具體ip的值,請設置為虛擬機的真實ip值,也可以使用 $${local_ip_v4} 變量。
另外需要關閉 mod_signalwire 模塊: vim /etc/freeswitch/autoload_configs/modules.conf.xml
注釋掉: <!-- <load module="mod_signalwire"/> -->
最后啟動Freeswitch:
/usr/bin/freeswitch -nonat -nosql
啟動完畢后,輸入 shutdown 即可關閉
8. 設置服務開機自啟動和服務設置參考 這篇文章。
