Centos 下安裝opensips詳細流程
1.mysql安裝(因opensips新增鑑權使用者需使用mysql儲存) <下載資原始檔都放在 /usr/src/為例> 命令:
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server
安裝後啟動:
service mysqld restart
登陸mysql:
mysql -u root
修改密碼:
set password for 'root'@'localhost' =password('password***');
注:最好不要修改mysql埠。
MySql拓展:
一些主要的命令:
登入:
mysql -u username -p
顯示全部的資料庫:
show databases;
使用某一個數據庫:
use databasename;
顯示一個數據庫的全部表:
show tables;
退出:
quit;
刪除資料庫和資料表 mysql>drop database 資料庫名; mysql>drop table 資料表名;
使用者相關:
檢視全部的使用者:
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
新建使用者:
CREATE USER 'dog'
@
'localhost'
IDENTIFIED BY
'123456'
;
2.安裝opensips
安裝依賴庫:
yum install mysql mysql-server mysql-libs mysql-devel yum install gcc make yum install flex bison ncurses libncurses-dev ncurses-devel
下載並解壓opensips的原始碼(最新版本2.4.0,如果發現版本已更新可以去官網檢視最新版本路徑):
cd /usr/src
wget http://opensips.org/pub/opensips/latest/opensips-2.4.0.tar.gz
tar zxvf opensips-2.4.0.tar.gz
cd opensips-2.4.0
切換到root使用者:
su
啟動配置選單:
make menuconfig
重點:很多教程都沒表明這個選擇步驟:Configure Compile Options -> Configure Excluded Modules -> db_mysql 按照此順序選擇db_mysql (空格鍵為選擇鍵方向鍵為前進後退和確定) 選擇db_mysql後一定要save。 最後選擇”Compile And Install Opensips” 等待安裝完畢。
安裝完成後:
cd /usr/local/etc/opensips/
vi opensipsctlrc
編輯配置資料庫資訊:(需要修改的要按照自己情況修改比如 host password等)
SIP_DOMAIN= YOUR_PC_IP //此處寫本機地址,如果有代理填寫proxy地址
#資料庫 MYSQL ORACLE PGSQL DB_BERKELEY DBTEXT均可
DBENGINE=MYSQL
#資料庫所在伺服器主機名/IP均可
DBHOST=localhost
#資料庫名稱,預設使用opensips,可配置其它名稱
DBNAME=opensips
#資料庫訪問使用者,主要用於資料的讀寫,請在mysql新增使用者
DBWUSER=opensips
#資料庫訪問密碼,密碼必須為DBWUSER對應使用者的密碼
DBWPW=“123456”
#資料庫管理使用者,用於資料庫、表建立與資料讀寫等,預設使用root,如有需要可以自行配置mysql使用者許可權
DBROOTUSER=“root”
修改完資料庫配置後使用opensipsdbctl新建資料庫:
cd /usr/local/sbin
opensipsdbctl create
增加使用者(add後第一個是使用者名稱第二個是密碼):
opensipsctl add 101 101
opensipsctl add 102 102
啟動opensipsctl
opensipsctl start
此時可以使用sip客戶端檢查下server執行情況。
error: 1.opensipsdbctl create 時出現:
ERROR: could not load the script in /usr/local//lib64/opensips/opensipsctl/opensipsdbctl.mysql for database engine MYSQL
ERROR: database engine not loaded - tried 'MYSQL'
因為沒有在配置make menuconfig時選擇db_mysql可以使用以下命令或者重新做一次配置。
cd /usr/local/lib/opensips/opensipsctl/
cp 你的opensips目錄/scrips/opensipsdbctrl.mysql ./
mkdir mysql
cp 你的opensips目錄/scrips/mysql/*.sql ./
2.啟動opensips後抓包發現伺服器返回sip 408 Request Timeout。 修改
cd /usr/local/etc/opensips/
vi opensipsctlrc
編輯配置資料庫資訊:(需要修改的要按照自己情況修改比如 host password等)
SIP_DOMAIN= YOUR_PC_IP //此處寫本機地址
作者:漁湖 連結:https://www.jianshu.com/p/4f17429cfdcd 來源:簡書 簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。