成都网站建设设计

将想法与焦点和您一起共享

ToughRADIUS安装进阶篇

在进阶篇里,我们将会提供本地化的安装参考,但相比起快速指南,进阶篇需要更强的专业知识和动手能力,为了节约您宝贵的时间,我们并不鼓励所有人都来尝试。

创新互联是一家集网站建设,吴堡企业网站建设,吴堡品牌网站建设,网站定制,吴堡网站建设报价,网络营销,网络优化,吴堡网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

在安装成功之前,你可能会遇到关于 linux,git,python,MySQL等一些列问题,如果你对这些都不熟悉,那么你只会遇到越来越多的问题,尽管这些问题在具备相关专业知识的人眼前不值一提。如果你觉得linux,git,python,mysql 这些都不是个事,那就继续吧。

不适合这篇教程的人

  • 从来没有成功安装过 linux 的

  • 装完 linux 系统连 make 指令都没有的

  • 只会用界面,把 linux 当 windows 用的

  • vi 的 打开,编辑,保存,退出这几个基本指令还不会的

  • 特别懒的人

  • 特别有钱的人

linux 系统的选择

linux 的发行版世界实在是太多元化了,但万变不离其宗,理论上 ToughRADIUS 是可以运行在大部分linux 系统上的。

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 版本控制工具.

请保证您的服务器网络畅通,如果您的服务器禁止访问网络,请首先解决网络问题。

  • 安装 git

    $ yum install -y git

  • 克隆仓库(稳定版本)

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

  • 克隆仓库(开发版本)

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

直接下载安装

  • 下载解压稳定版

    $ 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

  • 下载解压开发版

    $ 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

完成克隆仓库,稳定版或开发版任选一种。/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

分享文章:ToughRADIUS安装进阶篇
分享链接:http://chengdu.cdxwcx.cn/article/ipodhd.html