基于ubuntu中使用mysql實(shí)現(xiàn)opensips用戶(hù)認(rèn)證的解決方法
1 MySQL支持
1.1 MySQL模塊支持
默認(rèn)安裝時(shí),不包含MySQL模塊。
opensipsctlrc文件中包含了數(shù)據(jù)庫(kù)配置的信息,要想讓opensips支持mysql數(shù)據(jù)庫(kù),在編譯安裝的時(shí)候
就要支持mysql模塊。方法如下:
(1)修改opensips中的Makefile.conf,在exclude_modules中去掉db_mysql,在include_modules中
添加db_mysql,然后重新編譯安裝。要添加支持的模塊都可以這樣操作。
(2)編譯時(shí)指定,make include_modules=”db_mysql” modules prefix=/ 。
在編譯安裝之前,需要安裝mysql的開(kāi)發(fā)包,要不編譯通不過(guò)。方法如下:
$sudo apt-get install libmysqlclient-dev 。
2.2 安裝MySQL
使用sudo opensipsdbctl create創(chuàng)建數(shù)據(jù)庫(kù)在之前,要確認(rèn)已經(jīng)安裝了mysql。安裝方法如下:
$sudo apt-get install mysql-server mysql-client
安裝過(guò)程中提示輸入mysql的root用戶(hù)密碼。使用如下命令測(cè)試mysql是否安裝成功
$sudo mysql -p 輸入剛才設(shè)置的root密碼
MySQL URL格式如下:
mysql://username:password@domain/dbname
2.3 創(chuàng)建opensips數(shù)據(jù)庫(kù)
使用sudo opensipsdbctl create命令來(lái)創(chuàng)建數(shù)據(jù)庫(kù),這個(gè)過(guò)程中要求輸入MySQL數(shù)據(jù)庫(kù)root用戶(hù)的密碼,
就是上一步輸入的密碼。然后還有一些附加的表讓你選擇是否創(chuàng)建,選擇之后opensips數(shù)據(jù)庫(kù)創(chuàng)建成功。
/sbin/opensipsdbctl是一個(gè)shell腳本,可以打開(kāi)讀一下它的代碼就知道創(chuàng)建數(shù)據(jù)庫(kù)是怎么一個(gè)過(guò)程了。首先,
它會(huì)把/etc/opensips/opensipsctlrc這個(gè)配置文件包含進(jìn)來(lái),然后根據(jù)這個(gè)配置文件來(lái)創(chuàng)建數(shù)據(jù)庫(kù),還涉及到
/lib/opensips/opensipsctl中的opensipsdbctl.base文件和 opensipsdbctl.mysql文件。
可以進(jìn)入opensips數(shù)據(jù)庫(kù)查看一下有哪些表,用戶(hù)認(rèn)證要用的是subscriber表。
2 用戶(hù)認(rèn)證配置
上一節(jié)中已經(jīng)說(shuō)明了怎么讓opensips支持MySQL數(shù)據(jù)庫(kù),用戶(hù)認(rèn)證是在上一節(jié)的基礎(chǔ)上完成的。
這部分的主要工作是對(duì)opensips配置文件的修改,包括opensips.cfg和opensipsctlrc文件。配置文件opensips.cfg中
要修改全局變量、加載db_mysql.so、auth.so和auth_db.so動(dòng)態(tài)庫(kù),并配置相應(yīng)的參數(shù),以及修改路由策略,同時(shí)配置文件
opensipsctlrc中也要修改一些參數(shù)。
配置文件opensips.cfg如下:
http://www.dbjr.com.cn/article/35752.htm
配置的過(guò)程中在網(wǎng)上找了很多資料,通常是配置文件檢查能通過(guò),但總是不能運(yùn)行opensips,對(duì)這些資料深表懷疑,不知道
他們有沒(méi)有真正實(shí)踐過(guò)!
最后還是決定看官方的說(shuō)明,如opensips mysql installation的英文PDF、opensips源碼包中的INSTALL文件等。
INSTALL文件中只說(shuō)明了要向opensips.cfg文件中添加那些配置代碼,而沒(méi)有詳細(xì)說(shuō)明要把這些語(yǔ)句加在什么位置,而且
其中好像還有錯(cuò)誤,不能使用break,而是exit。opensips mysql installation的英文PDF中說(shuō)明了具體的位置,但是還要
根據(jù)自己的實(shí)際情況來(lái)配置。
配置完成以后要檢查配置文件語(yǔ)法是否正確,命令如下:
$sudo opensips –c
檢查通過(guò)以后啟動(dòng)opensips,命令如下:
$sudo opensipsctl start
如果啟動(dòng)時(shí)出現(xiàn)錯(cuò)誤,查看系統(tǒng)日志了解具體原因,然后針原因解決問(wèn)題。
$vim /var/log/syslog
3 測(cè)試
添加SIP用戶(hù):
語(yǔ)法:opensipsctl add <username> <password>
opensipsctl add alice@192.168.139.121 123456
opensipsctl add bob@192.168.139.121 123456
然后下載SIP客戶(hù)端進(jìn)行測(cè)試!
- VMware Workstation12安裝Ubuntu和VMware Tools教程
- 在VMWare上安裝ubuntu及VMWare Tools詳細(xì)教程
- VMware Tools(ubuntu系統(tǒng))安裝圖文教程
- VMware Ubuntu安裝圖文教程
- VMware“該虛擬機(jī)似乎正在使用中”問(wèn)題解決方案
- 解決mongodb在ubuntu下啟動(dòng)失敗,提示couldn‘t remove fs lock errno:9 Bad file descriptor的錯(cuò)誤
- Ubuntu中啟用php的mail()函數(shù)并解決發(fā)送郵件速度慢問(wèn)題
- ubuntu14.04 使用中遇到的問(wèn)題及解決方法集錦
- ubuntu中打開(kāi)終端的三種解決方法
- Ubuntu VMware出現(xiàn)提示No 3D support is available的解決方法
相關(guān)文章
MySQL-tpch 測(cè)試工具簡(jiǎn)要手冊(cè)
tpch是TPC(Transaction Processing Performance Council)組織提供的工具包。用于進(jìn)行OLAP測(cè)試,以評(píng)估商業(yè)分析中決策支持系統(tǒng)(DSS)的性能。它包含了一整套面向商業(yè)的ad-hoc查詢(xún)和并發(fā)數(shù)據(jù)修改,強(qiáng)調(diào)測(cè)試的是數(shù)據(jù)庫(kù)、平臺(tái)和I/O性能,關(guān)注查詢(xún)能力2016-05-05教你如何在windows與linux系統(tǒng)中設(shè)置MySQL數(shù)據(jù)庫(kù)名、表名大小寫(xiě)敏感
數(shù)據(jù)庫(kù)和表名在 Windows 中是大小寫(xiě)不敏感的,而在大多數(shù)類(lèi)型的 Unix/Linux 系統(tǒng)中是大小寫(xiě)敏感的。那么我們?nèi)绾蝸?lái)處理這個(gè)問(wèn)題呢,經(jīng)過(guò)一番查詢(xún),發(fā)現(xiàn)lower_case_table_names這個(gè)參數(shù)可以實(shí)現(xiàn)大小寫(xiě)敏感,下面我們來(lái)詳細(xì)說(shuō)明2014-08-08My Sql 1067錯(cuò)誤與編碼問(wèn)題的解決方案
My Sql 大部分都是用綠色版(解壓版) 然后注冊(cè)服務(wù)簡(jiǎn)單方便,但是配置文件也很讓人糾結(jié),下面小編給大家?guī)?lái)了My Sql 1067錯(cuò)誤與編碼問(wèn)題的解決方案,感興趣的朋友參考下吧2016-11-11MySQL存儲(chǔ)過(guò)程中一些基本的異常處理教程
這篇文章主要介紹了MySQL存儲(chǔ)過(guò)程中一些基本的異常處理教程,其中rollback命令的使用需要謹(jǐn)慎一些,需要的朋友可以參考下2015-12-12使用MySQL生成最近24小時(shí)整點(diǎn)時(shí)間臨時(shí)表
MySQL臨時(shí)表是一種只存在于當(dāng)前數(shù)據(jù)庫(kù)連接或會(huì)話(huà)期間的表,它們可以被用來(lái)存儲(chǔ)臨時(shí)數(shù)據(jù),這些數(shù)據(jù)可以在查詢(xún)中被使用,但是它們不會(huì)在數(shù)據(jù)庫(kù)中永久存儲(chǔ),這篇文章主要給大家介紹了關(guān)于如何使用MySQL生成最近24小時(shí)整點(diǎn)時(shí)間臨時(shí)表的相關(guān)資料,需要的朋友可以參考下2024-01-01Mysql?數(shù)據(jù)庫(kù)結(jié)構(gòu)及索引類(lèi)型
這篇文章主要介紹了Mysql?數(shù)據(jù)庫(kù)結(jié)構(gòu)及索引類(lèi)型,數(shù)據(jù)庫(kù)索引是?mysql?數(shù)據(jù)庫(kù)中重要的組成部分,是數(shù)據(jù)庫(kù)查詢(xún)數(shù)據(jù)速度提升的關(guān)鍵,本文將介紹數(shù)據(jù)庫(kù)索引的一些內(nèi)容,下文更多相關(guān)內(nèi)容,需要的小伙伴可以參考一下2022-05-05基于C++實(shí)現(xiàn)Mysql數(shù)據(jù)庫(kù)連接池實(shí)例
數(shù)據(jù)庫(kù)連接池負(fù)責(zé)分配、管理、和釋放數(shù)據(jù)庫(kù)連接,允許使用應(yīng)用程序重復(fù)使用一個(gè)現(xiàn)有的數(shù)據(jù)庫(kù)連接。數(shù)據(jù)庫(kù)連接是關(guān)鍵有限且昂貴的資源,一個(gè)數(shù)據(jù)庫(kù)連接對(duì)象均對(duì)應(yīng)一個(gè)物理數(shù)據(jù)庫(kù)的連接,每次操作都打開(kāi)一個(gè)物理連接,使用完都關(guān)閉連接2022-12-12