ToughRADIUS 安裝進階篇

在進階篇裏,咱們將會提供本地化的安裝參考,但相比起快速指南,進階篇須要更強的專業知識和動手能力,爲了節約您寶貴的時間,咱們並不鼓勵全部人都來嘗試。python

在安裝成功以前,你可能會遇到關於 linux,git,python,mysql等一些列問題,若是你對這些都不熟悉,那麼你只會遇到愈來愈多的問題,儘管這些問題在具有相關專業知識的人眼前不值一提。若是你以爲linux,git,python,mysql 這些都不是個事,那就繼續吧。mysql

不適合這篇教程的人linux

  • 歷來沒有成功安裝過 linux 的git

  • 裝完 linux 系統連 make 指令都沒有的github

  • 只會用界面,把 linux 當 windows 用的web

  • vi 的 打開,編輯,保存,退出這幾個基本指令還不會的sql

  • 特別懶的人數據庫

  • 特別有錢的人json

linux 系統的選擇

linux 的發行版世界實在是太多元化了,但萬變不離其宗,理論上 ToughRADIUS 是能夠運行在大部分linux 系統上的。ubuntu

ToughRADIUS 依賴 Python2.7+ 運行環境,若是系統已經內置,則省略了升級 python 這一步,若是系統依然是 python2.4或 python2.6的版本,則須要先獨立安裝 python2.7版本。

爲了更方便的安裝,建議採用 centos7,ubuntu14等已經內置 python2.7 的系統。

git 版本控制工具

git 是一個版本控制工具,經過 git 工具,你在服務器上安裝的 ToughRADIUS 服務能夠很方便的升級,或切換不一樣的版本,但git 並非必須的,不使用 git,只是不能方便升級 ToughRADIUS,之後須要升級時,須要本身下載版本從新安裝。

數據庫的選擇

ToughRADIUS默認是支持 sqlite 和 mysql 數據庫的,其餘數據庫如 mssql,oracle 等目前只提供商業支持服務。ToughRADIUS V2版本通過從新架構,採用更好的緩存機制(Redis),數據庫已經不是性能的決定性因素。

一般 sqlite 更易於使用,系統內置支持,無需額外安裝,但沒有提供基於網絡的管理,帶來維護上的不便,MySQL 在安裝配置方面要複雜的多,但管理工具強大,更穩定可靠,依然是生產環境應用的首選。

CentOS7 安裝配置實例

ToughRADIUS 提供的默認安裝指令是針對 CentOS 系統的,若是你但願在 ubuntu 下執行安裝,能夠自行修改Makefile文件,將 yum install 指令替換成對應的 apt-get install,Centos的軟件名稱與 ubuntu 也不相同,須要自行解決。

經過 git 工具安裝

爲了更方便的升級版本,建議經過使用 git 版本控制工具.

請保證您的服務器網絡暢通,若是您的服務器禁止訪問網絡,請首先解決網絡問題。

直接下載安裝

安裝 toughradius

完成克隆倉庫,穩定版或開發版任選一種。/opt/toughradius 是一個約定的的安裝路徑,暫時不要修改成其餘路徑。

按如下步驟執行安裝任務

$ cd /opt/toughradius   

$ make all

make all 指令會完成 ToughRADIUS 全部相關的系統依賴下載安裝,相關的 python 模塊安裝,以及配置文件的安裝。在 make all 的過程當中,有可能會出現失敗,好比網絡超時,缺乏系統其它依賴,這對你一般是一個挑戰,在 linux 的世界,不少東西是沒法一一預料的,這還須要你具有必定的解決問題的能力。

修改 ToughRADIUS 配置

make all 完成後,會存在如下配置文件:

/etc/toughradius.json

這是 ToughRADIUS 的主要配置文件,咱們可能須要修改關於數據庫部分的配置。若是你只想使用內置的 sqlite 數據庫,無需作任何更改。

默認的 sqlite 數據庫文件在 /var/toughradius/toughradius.sqlite3,你能夠下載到到本地計算機使用 sqlite 的管理工具打開查看數據。

若是你但願使用 mysql 數據庫,請首先本身完成 mysql 的安裝配置,並保證 mysql服務已經正常運行,同時建立一個空的數據庫,建立一個專用的用戶名和密碼。

mysql 示例:

進入 mysql 終端管理:

mysql >  create database raddb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql >  GRANT ALL ON raddb.* TO raduser@'%' IDENTIFIED BY 'radpwd' WITH GRANT OPTION;
mysql >  FLUSH PRIVILEGES;

修改數據庫配置部分,具體參數請根據實際填寫。

"database": {
    "backup_path": "/var/toughradius/data",
    "dbtype": "mysql",
    "dburl": "mysql://raduser:radpwd@127.0.0.1:3306/raddb?charset=utf8",
    "echo": 0,
    "pool_recycle": 300,
    "pool_size": 60
}

初始化數據

$ cd /opt/toughradius

$ make initdb

若是配置文件數據庫部分沒有錯誤,這一步將順利經過,會建立全部數據庫表,以及初始化必須的配置參數。

管理 ToughRADIUS 服務

如今你能夠運行 ToughRADIUS 服務了,假設前面的過程都順利完成。ToughRADIUS 已經配置好系統的自啓動服務。

$ service toughradius start

若是你要中止 ToughRADIUS 服務,執行

$ service toughradius stop

重啓請執行

$ service toughradius restart

查看運行狀態請執行

$ service toughradius status

ToughRADIUS 數據備份

ToughRADIUS 提供了一個通用的不依賴數據庫類型的數據備份服務,你能夠經過ToughRADIUS的管理界面-系統管理子菜單下的數據備份來使用它。

備份數據默認在目錄 /var/toughradius/data

ToughRADIUS 的日誌

全部的日誌文件所有在 /var/toughradius 目錄下

web 管理控制檯日誌文件是 /var/toughradius/radius-manage.log

radius 的認證記帳日誌是 /var/toughradius/radius-worker.log

你能夠經過 linux 下的vi,awk,more,less,tail 工具來查看分析日誌,好比查看最後100行日誌:

$ tail -n 100 /var/toughradius/radius-manage.log

$ tail -n 100 /var/toughradius/radius-worker.log

若是你在安裝的過程當中遇到問題,提供這些日誌信息纔是最有用的,若是你不是提供這些日誌數據,那麼你幾乎確定得不到答案。

ToughRADIUS 服務進程管理

/etc/toughradius.conf 是ToughRADIUS服務進程配置,基於 supervisord 實現服務進程管理。

若是你實際不是安裝在 /opt/toughradius 這個路徑,能夠修改這個配置文件中的/opt/toughradius 路徑

  • 調整 radius 子進程數量以提升 ToughRADIUS 在多核 CPU 下的性能

修改 numprocs 參數便可,設置爲 CPU 核心數量或2倍均可以。

[program:worker]
command=python /opt/toughradius/radiusctl worker -c /etc/toughradius.json
startretries = 10
process_name = %(program_name)s%(process_num)d
numprocs=4
redirect_stderr=true
stdout_logfile=/var/toughradius/radius-worker.log
相關文章
相關標籤/搜索