Akagi201
8/13/2014 - 6:32 AM

radiusdesk.md

Features

  • RADIUSdesk是理想的管理访问WiFi网络的用户.

  • RADIUSdesk是FreeRADIUS的web-based administration fron-end, 是专业的, 容易并且有趣去使用, 然而非常强大.

  • RADIUSdesk有强大的特性, 但是也容易开始.

  • 一个中心位置来管理:

  1. Permanent Users.
  2. 属于这个permanent users的设备(BYOD).
  3. 将会成为FreeRADIUS server的客户端的NAS设备.
  4. 有来自FreeRADIUS的debug traces的实时反馈.
  5. 控制permanent users/devices的许多profile.
  6. 简化CoovaChilli login page在大规模部署下的管理.
  7. Accounting records.
  8. network users.
  • RADIUSdesk是开源免费的.
  • 多语言, 很容易翻译, 包括RTL语言像 Arabic, Hebrew 和 Persian.

用户

提供AAA服务给

  • ISPs(Internet Service Providers)
  • WISPs(Wireless Internet Service Providers)
  • Corporate institutions提供802.1x和WPA2 Enterprise安全.
  • Network departments需要一个中心服务器来处理user-management for network equipment.
  • 学校和大学.
  • 旅馆和机场.
  • 会议中心.

install apache

RADIUSdesk包含2个组件

  • 一个CakePHP应用(rd_cake文件夹)
  • 一个viewer组件(rd文件夹)

安装CakePHP

  • 我们从安装CakePHP应用(rd_cake)开始. 我们要先安装CakePHP framework.
  • 前提: 标准安装ubuntu12.04, 安装了LAMP stack.
  • sudo aptitude install -y php5-gd php5-curl
  • CakePHP framework将会位于/var/www目录. 这个是Apache on ubuntu的默认DocumentRoot.
  • 下载最新的CakePHP包: https://github.com/cakephp/cakephp/releases (目前是: 2.5.3)
  • 解压到/var/www
wget https://github.com/cakephp/cakephp/archive/2.5.3.tar.gz
sudo cp 2.5.3.tar.gz /var/www
cd /var/www
sudo tar -xvf 2.5.3.tar.gz
sudo ln -s cakephp-2.5.3 cakephp
  • 使用svn来checkout最新的RADIUSdesk源码
cd /var/www/cakephp
sudo svn checkout svn://dvdwalt@svn.code.sf.net/p/radiusdesk/code/trunk/rd_cake ./rd_cake
sudo chown www-data:www-data cakephp -R

数据库

  • 创建rd空数据库.
mysql -u root -p
create database rd;
GRANT ALL PRIVILEGES ON rd.* to 'rd'@'127.0.0.1' IDENTIFIED BY 'rd';
GRANT ALL PRIVILEGES ON rd.* to 'rd'@'localhost' IDENTIFIED BY 'rd';
exit;
  • populate数据库
mysql -u root -p rd < /var/www/cakephp/rd_cake/Setup/Db/rd.sql

配置apache

  • 使能rewrite Apache module, 使能compression module, 使能the module that modifies the HTTP headers. 他们用来大规模的改进web应用的速度和性能.
sudo a2enmod rewrite
sudo a2enmod deflate
sudo a2enmod headers
sudo /etc/init.d/apache2 reload
  • 修改/etc/apache2/apache2.conf, 增加如下配置
<Directory  /var/www/cakephp>
    AllowOverride All
</Directory>
#-------COMPRESS CONTENT-----------
# place filter 'DEFLATE' on all outgoing content
SetOutputFilter DEFLATE
# exclude uncompressible content via file type
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|jpg|png|pdf|zip|bz2|sit|rar)$ no-gzip
#dont-vary
# Keep a log of compression ratio on each request
DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
CustomLog /var/log/apache2/deflate.log deflate
# Properly handle old browsers that do not support compression
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
#----------------------------------
 
#------ADD EXPIRY DATE-------------
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
    Header set Expires "Thu, 15 Apr 2015 20:00:00 GMT"
</FilesMatch>
#----------------------------------
 
#--------Remove ETags --------------------
FileETag none
#-----------------------------------------
  • sudo /etc/init.d/apache2 reload

Viewer component

  • checkout 最新的viewer component到/var/www目录.
cd /var/www
sudo svn checkout svn://dvdwalt@svn.code.sf.net/p/radiusdesk/code/trunk/rd ./rd
  • 对于viewer component你需要ExtJS toolkit. 我们已经添加了4.2.1版本到SVN repo为了方便下载.
cd /var/www
svn checkout svn://svn.code.sf.net/p/radiusdesk/code/extjs/ ./
sudo mv ext-4.2.1-gpl.zip ./rd
cd /var/www/rd
sudo unzip ext-4.2.1-gpl.zip
sudo mv ext-4.2.1.883 ext
  • 拷贝examples下的ux目录到src目录
sudo cp -R /var/www/rd/ext/examples/ux /var/www/rd/ext/src

Refs