opensips中使用mysql實現使用者認證

2022-02-16 17:34:51 字數 2151 閱讀 6810

ubuntu中

使用mysql實現

opensips使用者認證

1 mysql支援

1.1 mysql模組支援

預設安裝時,不包含mysql模組。

opensipsctlrc檔案中包含了資料庫配置的資訊,要想讓opensips支援mysql資料庫,在編譯安裝的時候

就要支援mysql模組。方法如下:

(1)修改opensips中的makefile.conf,在exclude_modules中去掉db_mysql,在include_modules中

新增db_mysql,然後重新編譯安裝。要新增支援的模組都可以這樣操作。

(2)編譯時指定,make include_modules=」db_mysql」 modules prefix=/  。

在編譯安裝之前,需要安裝mysql的開發包,要不編譯通不過。方法如下:

$sudo apt-get install libmysqlclient-dev 。

2.2 安裝mysql

使用sudo opensipsdbctl create建立資料庫在之前,要確認已經安裝了mysql。安裝方法如下:

$sudo apt-get install mysql-server mysql-client

安裝過程中提示輸入mysql的root使用者密碼。使用如下命令測試mysql是否安裝成功

$sudo mysql -p           輸入剛才設定的root密碼

mysql url格式如下:

mysql://username:password@domain/dbname

2.3 建立opensips資料庫

使用sudo opensipsdbctl create命令來建立資料庫,這個過程中要求輸入mysql資料庫root使用者的密碼,

/sbin/opensipsdbctl是乙個shell指令碼,可以開啟讀一下它的**就知道建立資料庫是怎麼乙個過程了。首先,

它會把/etc/opensips/opensipsctlrc這個配置檔案包含進來,然後根據這個配置檔案來建立資料庫,還涉及到

/lib/opensips/opensipsctl中的opensipsdbctl.base檔案和 opensipsdbctl.mysql檔案。

可以進入opensips資料庫檢視一下有哪些表,使用者認證要用的是subscriber表。

2 使用者認證配置

上一節中已經說明了怎麼讓opensips支援mysql資料庫,使用者認證是在上一節的基礎上完成的。

這部分的主要工作是對opensips配置檔案的修改,包括opensips.cfg和opensipsctlrc檔案。配置檔案opensips.cfg中

要修改全域性變數、載入db_mysql.so、auth.so和auth_db.so動態庫,並配置相應的引數,以及修改路由策略,同時配置檔案

opensipsctlrc中也要修改一些引數。

配置檔案opensips.cfg如下:

配置的過程中在網上找了很多資料,通常是配置檔案檢查能通過,但總是不能執行opensips,對這些資料深表懷疑,不知道

他們有沒有真正實踐過!

最後還是決定看官方的說明,如opensips mysql installation的英文pdf、opensips原始碼包中的install檔案等。

install檔案中只說明了要向opensips.cfg檔案中新增那些配置**,而沒有詳細說明要把這些語句加在什麼位置,而且

其中好像還有錯誤,不能使用break,而是exit。opensips mysql installation的英文pdf中說明了具體的位置,但是還要

根據自己的實際情況來配置。

配置完成以後要檢查配置檔案語法是否正確,命令如下:

$sudo  opensips –c

檢查通過以後啟動opensips,命令如下:

$sudo opensipsctl start

如果啟動時出現錯誤,檢視系統日誌了解具體原因,然後針原因解決問題。

$vim /var/log/syslog

3 測試

新增sip使用者:

語法:opensipsctl add

opensipsctl add [email protected] 123456

opensipsctl add [email protected] 123456

python3在flask中使用mysql報錯

今天在python3 flask中使用mysql 無論怎麼弄都報錯 importerror no module named mysqldb 按照 stack overflow 上 說pip install mysqlclient或者pip install mysql python 結果都安裝不上,最...

在CentOS7中使用yum構建MySQL

1 配置mysqlyum源 rpm ivh2 目前mysql最近版本為8版本,我們安裝的是5.7版本,所以修改以下yum倉庫配置檔案 vim etc yum.repos.d mysql community.repo修改內容如下3 使用yum安裝mysql和mysql community server...

在java中使用Mysq資料庫遇到的一些問題

sql select max id as maxid from uploadfile 獲取id屬性中的最大值並將其重新命名為maxid result stmt.executequery sql 執行sql語句並返回結果 result.next 必須有 fileid result.getint max...