溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ToughRADIUS 安裝進階篇

發(fā)布時間:2020-07-08 06:53:53 來源:網絡 閱讀:1691 作者:jamiesun_net 欄目:數據庫

在進階篇里,我們將會提供本地化的安裝參考,但相比起快速指南,進階篇需要更強的專業(yè)知識和動手能力,為了節(jié)約您寶貴的時間,我們并不鼓勵所有人都來嘗試。

在安裝成功之前,你可能會遇到關于 linux,git,python,mysql等一些列問題,如果你對這些都不熟悉,那么你只會遇到越來越多的問題,盡管這些問題在具備相關專業(yè)知識的人眼前不值一提。如果你覺得linux,git,python,mysql 這些都不是個事,那就繼續(xù)吧。

不適合這篇教程的人

  • 從來沒有成功安裝過 linux 的

  • 裝完 linux 系統(tǒng)連 make 指令都沒有的

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

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

  • 特別懶的人

  • 特別有錢的人

linux 系統(tǒng)的選擇

linux 的發(fā)行版世界實在是太多元化了,但萬變不離其宗,理論上 ToughRADIUS 是可以運行在大部分linux 系統(tǒng)上的。

ToughRADIUS 依賴 Python2.7+ 運行環(huán)境,如果系統(tǒng)已經內置,則省略了升級 python 這一步,如果系統(tǒng)依然是 python2.4或 python2.6的版本,則需要先獨立安裝 python2.7版本。

為了更方便的安裝,建議采用 centos7,ubuntu14等已經內置 python2.7 的系統(tǒng)。

git 版本控制工具

git 是一個版本控制工具,通過 git 工具,你在服務器上安裝的 ToughRADIUS 服務可以很方便的升級,或切換不同的版本,但git 并不是必須的,不使用 git,只是不能方便升級 ToughRADIUS,以后需要升級時,需要自己下載版本重新安裝。

數據庫的選擇

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

通常 sqlite 更易于使用,系統(tǒng)內置支持,無需額外安裝,但沒有提供基于網絡的管理,帶來維護上的不便,MySQL 在安裝配置方面要復雜的多,但管理工具強大,更穩(wěn)定可靠,依然是生產環(huán)境應用的首選。

CentOS7 安裝配置實例

ToughRADIUS 提供的默認安裝指令是針對 CentOS 系統(tǒng)的,如果你希望在 ubuntu 下執(zhí)行安裝,可以自行修改Makefile文件,將 yum install 指令替換成對應的 apt-get install,Centos的軟件名稱與 ubuntu 也不相同,需要自行解決。

通過 git 工具安裝

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

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

  • 安裝 git

    $ yum install -y git

  • 克隆倉庫(穩(wěn)定版本)

    $ git clone -b release-stable https://github.com/talkincode/ToughRADIUS.git /opt/toughradius

  • 克隆倉庫(開發(fā)版本)

    $ git clone -b release-dev https://github.com/talkincode/ToughRADIUS.git /opt/toughradius

直接下載安裝

  • 下載解壓穩(wěn)定版

    $ wget https://github.com/talkincode/ToughRADIUS/archive/release-stable.zip -O /opt/release-stable.zip

    $ cd /opt

    $ unzip release-stable.zip

    $ mv ToughRADIUS-release-stable /opt/toughradius

  • 下載解壓開發(fā)版

    $ wget https://github.com/talkincode/ToughRADIUS/archive/release-dev.zip -O /opt/release-dev.zip

    $ cd /opt

    $ unzip release-dev.zip

    $ mv ToughRADIUS-release-dev /opt/toughradius

安裝 toughradius

完成克隆倉庫,穩(wěn)定版或開發(fā)版任選一種。/opt/toughradius 是一個約定的的安裝路徑,暫時不要修改為其他路徑。

按以下步驟執(zhí)行安裝任務

$ cd /opt/toughradius   

$ make all

make all 指令會完成 ToughRADIUS 所有相關的系統(tǒng)依賴下載安裝,相關的 python 模塊安裝,以及配置文件的安裝。在 make all 的過程中,有可能會出現失敗,比如網絡超時,缺少系統(tǒng)其它依賴,這對你通常是一個挑戰(zhàn),在 linux 的世界,很多東西是無法一一預料的,這還需要你具備一定的解決問題的能力。

修改 ToughRADIUS 配置

make all 完成后,會存在以下配置文件:

/etc/toughradius.json

這是 ToughRADIUS 的主要配置文件,我們可能需要修改關于數據庫部分的配置。如果你只想使用內置的 sqlite 數據庫,無需做任何更改。

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

如果你希望使用 mysql 數據庫,請首先自己完成 mysql 的安裝配置,并保證 mysql服務已經正常運行,同時創(chuàng)建一個空的數據庫,創(chuàng)建一個專用的用戶名和密碼。

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

如果配置文件數據庫部分沒有錯誤,這一步將順利通過,會創(chuàng)建所有數據庫表,以及初始化必須的配置參數。

管理 ToughRADIUS 服務

現在你可以運行 ToughRADIUS 服務了,假設前面的過程都順利完成。ToughRADIUS 已經配置好系統(tǒng)的自啟動服務。

$ service toughradius start

如果你要停止 ToughRADIUS 服務,執(zhí)行

$ service toughradius stop

重啟請執(zhí)行

$ service toughradius restart

查看運行狀態(tài)請執(zhí)行

$ service toughradius status

ToughRADIUS 數據備份

ToughRADIUS 提供了一個通用的不依賴數據庫類型的數據備份服務,你可以通過ToughRADIUS的管理界面-系統(tǒng)管理子菜單下的數據備份來使用它。

備份數據默認在目錄 /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


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI