~ read.

使用RADIUS服务器进行WIFI认证-之-ToughRADIUS的安装(1)

说在前面

原始官方教程里面的使用的是CentOS的服务器,但是因为我本人接触Ubuntu的还是很多所以希望能够用自己熟悉的系统来操作,所以就有了本文章。其中遇到了不少问题但是还算比较不错一一的解决了

需要了解更多的朋友可以去参考 —— 官方文档

系统说明

这次安装是一次测试,使用一个DigitalOcean的5刀档作为服务器,标准操作系统Ubuntu 14.04。

系统安装

首先是更新系统资源库同时安装系统所需的环

$ apt-get update

安装所需环境:

$ apt-get install -y python-setuptools python-dev build-essential

因为我们使用的是MySQL(Again:我熟悉的东西)而不是SQLite,所以我们还需要安装MySQL和MySQL-Python:

$ apt-get install -y mysql-server libmysqld-dev
$ easy_install mysql-python pip

环境安装好了我们就可以开始安装这个程序了:

$ pip install toughradius

几乎可以说是一键安装,下来只需要配置一下。
这部分官方文档很详细,而且我配置的多数部分都是按照默认配置进行的,通过经验来说如果不需要修改默认配置,直接回车就好~

$ toughctl --config
[INFO] - set config...

设置目标配置文件的位置:
[INPUT] - set your config file path,[ /etc/radiusd.conf ]

设置基本配置选项:
[INFO] - set default option
[INPUT] - set debug [false]:
[INPUT] - time zone [ CST-8 ]:

数据库选项(默认sqlite), 对于sqlite,以下pool_size与pool_recycle可以略过:
[INFO] - set database option
[INPUT] - database type [sqlite]:mysql
[INPUT] - database dburl [sqlite:////tmp/toughradius.sqlite3]:mysql://user:[email protected]:port/dbname?charset=utf8
[INPUT] - database echo [false]:
[INPUT] - database pool_size [30]:
[INPUT] - database pool_recycle(second) [300]:

radius认证计费选项:
[INFO] - set radiusd option
[INPUT] - radiusd authport [1812]:
[INPUT] - radiusd acctport [1813]:
[INPUT] - radiusd adminport [1815]:
[INPUT] - radiusd cache_timeout (second) [600]:
[INPUT] - log file [ logs/radiusd.log ]:/var/log/radiusd.log

管理控制台选项:
[INFO] - set admin option
[INPUT] - admin http port [1816]:
[INPUT] - log file [ logs/admin.log ]:/var/log/admin.log

自助服务系统选项:
[INFO] - set customer option
[INPUT] - customer http port [1817]:
[INPUT] - log file [ logs/customer.log ]:/var/log/customer.log

配置完成,配置文件被自动保存到目标文件:
[SUCC] - config save to /etc/radiusd.conf

这里说明一下,基本上很多东西都是按照默认配置,我直接按了回车,但是因为使用了MySQL,所以在数据库配置的地方需要输入MySQL,同时数据库地址使用以下这种格式填写

mysql://user:[email protected]:port/dbname?charset=utf8

然后就大功告成了,配置文件会在第一步设置的地方,如果没有修改,默认是

/etc/radiusd.conf

这个位置,如果需要修改什么配置可以使用Vim或者Emacs修改即可

后面需要做的就是一些启动过程,首先要初始化数据库

toughctl --initdb

然后就可以启动了,因为我们用的是一个全套解决方案,所以我们有很多不同的套件可以启动,但是如果你需要使用所有套件,直接用下面的命令启动全部服务即可

toughctl --start all

当然,如果你只想启动某一个的话,也是可以的~

这个系统提供了两个Web的管理界面,一个是管理员界面,一个是用户自助界面,可以通过你的服务器IP+指定的端口访问,默认管理员界面端口是1816、默认用户自助界面端口是1817。当然这些端口也可以在配置文件里面修改

添加SSL访问

还可以通过配置Python的SSL控件和OpenSSL来添加SSL访问,这里我没有去测试就不多说了,官方文档 里面写的很详细,如果有需要的可以通过这个来

后面如果有空还会写一写使用心得,现在刚安装好看起来还是挺不错的,使用使用再说

来个截图:

comments powered by Disqus