在進(jìn)階篇里,我們將會(huì)提供本地化的安裝參考,但相比起快速指南,進(jìn)階篇需要更強(qiáng)的專業(yè)知識(shí)和動(dòng)手能力,為了節(jié)約您寶貴的時(shí)間,我們并不鼓勵(lì)所有人都來嘗試。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),吳堡企業(yè)網(wǎng)站建設(shè),吳堡品牌網(wǎng)站建設(shè),網(wǎng)站定制,吳堡網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,吳堡網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
在安裝成功之前,你可能會(huì)遇到關(guān)于 linux,git,python,MySQL等一些列問題,如果你對(duì)這些都不熟悉,那么你只會(huì)遇到越來越多的問題,盡管這些問題在具備相關(guān)專業(yè)知識(shí)的人眼前不值一提。如果你覺得linux,git,python,mysql 這些都不是個(gè)事,那就繼續(xù)吧。
不適合這篇教程的人
從來沒有成功安裝過 linux 的
裝完 linux 系統(tǒng)連 make 指令都沒有的
只會(huì)用界面,把 linux 當(dāng) windows 用的
vi 的 打開,編輯,保存,退出這幾個(gè)基本指令還不會(huì)的
特別懶的人
特別有錢的人
linux 的發(fā)行版世界實(shí)在是太多元化了,但萬變不離其宗,理論上 ToughRADIUS 是可以運(yùn)行在大部分linux 系統(tǒng)上的。
ToughRADIUS 依賴 Python2.7+ 運(yùn)行環(huán)境,如果系統(tǒng)已經(jīng)內(nèi)置,則省略了升級(jí) python 這一步,如果系統(tǒng)依然是 python2.4或 python2.6的版本,則需要先獨(dú)立安裝 python2.7版本。
為了更方便的安裝,建議采用 centos7,ubuntu14等已經(jīng)內(nèi)置 python2.7 的系統(tǒng)。
git 是一個(gè)版本控制工具,通過 git 工具,你在服務(wù)器上安裝的 ToughRADIUS 服務(wù)可以很方便的升級(jí),或切換不同的版本,但git 并不是必須的,不使用 git,只是不能方便升級(jí) ToughRADIUS,以后需要升級(jí)時(shí),需要自己下載版本重新安裝。
ToughRADIUS默認(rèn)是支持 sqlite 和 mysql 數(shù)據(jù)庫(kù)的,其他數(shù)據(jù)庫(kù)如 mssql,oracle 等目前只提供商業(yè)支持服務(wù)。ToughRADIUS V2版本經(jīng)過重新架構(gòu),采用更好的緩存機(jī)制(redis),數(shù)據(jù)庫(kù)已經(jīng)不是性能的決定性因素。
通常 sqlite 更易于使用,系統(tǒng)內(nèi)置支持,無需額外安裝,但沒有提供基于網(wǎng)絡(luò)的管理,帶來維護(hù)上的不便,MySQL 在安裝配置方面要復(fù)雜的多,但管理工具強(qiáng)大,更穩(wěn)定可靠,依然是生產(chǎn)環(huán)境應(yīng)用的首選。
ToughRADIUS 提供的默認(rèn)安裝指令是針對(duì) CentOS 系統(tǒng)的,如果你希望在 ubuntu 下執(zhí)行安裝,可以自行修改Makefile文件,將 yum install 指令替換成對(duì)應(yīng)的 apt-get install,Centos的軟件名稱與 ubuntu 也不相同,需要自行解決。
為了更方便的升級(jí)版本,建議通過使用 git 版本控制工具.
請(qǐng)保證您的服務(wù)器網(wǎng)絡(luò)暢通,如果您的服務(wù)器禁止訪問網(wǎng)絡(luò),請(qǐng)首先解決網(wǎng)絡(luò)問題。
安裝 git
$ yum install -y git
克隆倉(cāng)庫(kù)(穩(wěn)定版本)
$ git clone -b release-stable https://github.com/talkincode/ToughRADIUS.git /opt/toughradius
克隆倉(cāng)庫(kù)(開發(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
完成克隆倉(cāng)庫(kù),穩(wěn)定版或開發(fā)版任選一種。/opt/toughradius 是一個(gè)約定的的安裝路徑,暫時(shí)不要修改為其他路徑。
按以下步驟執(zhí)行安裝任務(wù)
$ cd /opt/toughradius $ make all
make all 指令會(huì)完成 ToughRADIUS 所有相關(guān)的系統(tǒng)依賴下載安裝,相關(guān)的 python 模塊安裝,以及配置文件的安裝。在 make all 的過程中,有可能會(huì)出現(xiàn)失敗,比如網(wǎng)絡(luò)超時(shí),缺少系統(tǒng)其它依賴,這對(duì)你通常是一個(gè)挑戰(zhàn),在 linux 的世界,很多東西是無法一一預(yù)料的,這還需要你具備一定的解決問題的能力。
make all 完成后,會(huì)存在以下配置文件:
/etc/toughradius.json
這是 ToughRADIUS 的主要配置文件,我們可能需要修改關(guān)于數(shù)據(jù)庫(kù)部分的配置。如果你只想使用內(nèi)置的 sqlite 數(shù)據(jù)庫(kù),無需做任何更改。
默認(rèn)的 sqlite 數(shù)據(jù)庫(kù)文件在 /var/toughradius/toughradius.sqlite3,你可以下載到到本地計(jì)算機(jī)使用 sqlite 的管理工具打開查看數(shù)據(jù)。
如果你希望使用 mysql 數(shù)據(jù)庫(kù),請(qǐng)首先自己完成 mysql 的安裝配置,并保證 mysql服務(wù)已經(jīng)正常運(yùn)行,同時(shí)創(chuàng)建一個(gè)空的數(shù)據(jù)庫(kù),創(chuàng)建一個(gè)專用的用戶名和密碼。
mysql 示例:
進(jìn)入 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;
修改數(shù)據(jù)庫(kù)配置部分,具體參數(shù)請(qǐng)根據(jù)實(shí)際填寫。
"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
如果配置文件數(shù)據(jù)庫(kù)部分沒有錯(cuò)誤,這一步將順利通過,會(huì)創(chuàng)建所有數(shù)據(jù)庫(kù)表,以及初始化必須的配置參數(shù)。
現(xiàn)在你可以運(yùn)行 ToughRADIUS 服務(wù)了,假設(shè)前面的過程都順利完成。ToughRADIUS 已經(jīng)配置好系統(tǒng)的自啟動(dòng)服務(wù)。
$ service toughradius start
如果你要停止 ToughRADIUS 服務(wù),執(zhí)行
$ service toughradius stop
重啟請(qǐng)執(zhí)行
$ service toughradius restart
查看運(yùn)行狀態(tài)請(qǐng)執(zhí)行
$ service toughradius status
ToughRADIUS 提供了一個(gè)通用的不依賴數(shù)據(jù)庫(kù)類型的數(shù)據(jù)備份服務(wù),你可以通過ToughRADIUS的管理界面-系統(tǒng)管理子菜單下的數(shù)據(jù)備份來使用它。
備份數(shù)據(jù)默認(rèn)在目錄 /var/toughradius/data
所有的日志文件全部在 /var/toughradius 目錄下
web 管理控制臺(tái)日志文件是 /var/toughradius/radius-manage.log
radius 的認(rèn)證記賬日志是 /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
如果你在安裝的過程中遇到問題,提供這些日志信息才是最有用的,如果你不是提供這些日志數(shù)據(jù),那么你幾乎肯定得不到答案。
/etc/toughradius.conf 是ToughRADIUS服務(wù)進(jìn)程配置,基于 supervisord 實(shí)現(xiàn)服務(wù)進(jìn)程管理。
如果你實(shí)際不是安裝在 /opt/toughradius 這個(gè)路徑,可以修改這個(gè)配置文件中的/opt/toughradius 路徑
調(diào)整 radius 子進(jìn)程數(shù)量以提高 ToughRADIUS 在多核 CPU 下的性能
修改 numprocs 參數(shù)即可,設(shè)置為 CPU 核心數(shù)量或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