免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 13789 | 回复: 4
打印 上一主题 下一主题

centos5.7环境下安装mysql+freeradius+phpMyAdmin+radiusmanager3.7+daloradius [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-23 12:01 |只看该作者 |倒序浏览
本帖最后由 camel2004 于 2011-11-23 15:37 编辑

过去一周对freeradius做了一点东西,参考了网络上牛人的资料,将安装中遇到的问题记录下来作为个人的文案。同时单位里面有一台sinfor的nas成功的实现了认证上网和访问其他资源的认证

1、安装centos5.7
我是用CD刻录下来一共7张盘,服务器比较老,只能安装cd盘,如果是dvd一张盘就够了
          将光盘放入光驱,引导系统)出现安装界面后输入回车,用图形方式安装。偷懒一下
          安装空间采用系统默认方式分配
           配置你的网卡ip地址地址
         接下来就是等待系统提示,插入cd光盘就可以了。大约15-20分钟就可以搞定。

2、   更新系统内核到最新
yum update
rpm –import  /etc/pki/rpm-gpg/RPM-GPG-KEY*

3、安装必要的编译环境以及Apahce, PHP, Mysql, 以及php连接mysql库组件
yum install mysql-devel curl php-mysql php-mcrypt compat-libstdc++-33 libtool-ltdl-devel

wget http://ncu.dl.sourceforge.net/pr ... -1.520-1.noarch.rpm
rpm -ivh webmin-1.520-1.noarch.rpm  

启动http和mysql数据库
/sbin/service httpd start  
/sbin/service mysqld start
关闭selinux  
echo "SELINUX=disabled">>/etc/sysconfig/selinux

4、 安装ionCube
    wget http://www.dmasoftlab.com/cont/d ... ders_lin_x86.tar.gz
    tar zxvf ioncube_loaders_lin_x86.tar.gz
    cp -rf ioncube /usr/local/
    php  -v
    查看php版本,并记下来(如5.1版本),下一步根据版本选择
    vim /etc/php.ini
    然后在最后面输入
    zend_extension=/usr/local/ioncube/ioncube_loader_lin_5.1.so
    (注意,若php是5.1  radiusmanager页面会出现空白,等一下php进行升级到5.2版本,升级后这里则改为5.2.so)
    php -m
    查看是否装载成功,然后重启httpd服务
    service httpd restart

5、修改网卡的Mac地址

先查看网卡地址
# ifconfig

eth0 Link encap:Ethernet HWaddr xxxxxxx
inet addr:192.168.1.10 Bcast:192.168.1.254 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe6a:682f/64 Scope:Link

用编辑方法修改比较好!

vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
      
    将自动识别到的MAC地址注释,MACADDR为更改MAC地址的配置选项,根据破解的地址修改MAC地址

#HWADDR=00:0c:29:6a:68:2f
MACADDR=xxxxxxx
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.1.10
TYPE=Ethernet
GATEWAY=192.168.1.65
   
      更改MAC地址之后必须重新启动计算机
# service network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]

6、FreeRadius安装及配置

#解压缩下载的软件包
# tar -zxvf freeradius-server-2.1.8-dmamod-2.tar.gz
# cd freeradius-server-2.1.8
#预编译生成Makefile
# ./configure
#编译生成2进制文件
# make
#拷贝2进制文件和配置文件到他们该去的地方
# make install
#测试FreeRadius是否工作正常
# radiusd -X
...
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on command file /usr/local/var/run/radiusd/radiusd.sock
Listening on proxy address * port 1814
Ready to process requests.

#修改权限
# chown apache /usr/local/etc/raddb
# chown apache /usr/local/etc/raddb/clients.conf

#修改FreeRadius配置文件和MySQL数据库结合工作
# vi /usr/local/etc/raddb/sql.conf
#按如下内容进行修改(用户名和密码可以自定义)
# Connection info:
server = "localhost"
#port = 3306
login = "radius" #访问MySQL时的用户名
password = "radius123"  #访问MySQL时使用的密码

7、建立MySql相关的数据库并作设置。
#登陆MySQL服务器进行用户创建(注意:-p之后紧跟数据库管理员密码,我是空密码填空格,下面密码可以自己设定)
# mysql -u root -p
mysql>CREATE DATABASE radius;
mysql>CREATE DATABASE conntrack;

#CREATE USER后紧跟的为MySQL帐号用户名,IDENTIFIED BY之后紧跟的为密码

mysql>CREATE USER 'radius'@'localhost' IDENTIFIED BY 'radius123';
mysql>CREATE USER 'conntrack'@'localhost' IDENTIFIED BY 'conn123';
mysql>GRANT ALL ON radius.* TO radius@localhost;
mysql>GRANT ALL ON conntrack.* TO conntrack@localhost

8、安装Radius Manager

tar zxvf radiusmanager-3.7.0.tgz
cd radiusmanager-3.7.0-rel/
chmod  755  install.sh
./install.sh
然后出现安装界面,一路回车(除了提问是否安装时间按“Y”外,其他基本上用默认设置)。

执行vim /etc/crontab 命令,加入如下内容(注意下面的12345是默认密码):
02 0 * * * root /usr/bin/php /var/www/html/radiusmanager/rmscheduler.php 12345
设置相关服务开机自动启动,方法是vim /etc/rc.local,同时加入如下内容:
/usr/local/sbin/radiusd
/usr/local/sbin/rmpoller
/sbin/service httpd start
/sbin/service mysqld start

把mod.txt和lic.txt传输到/var/www/html/radiusmanager/下面。

#更改Apache的配置文件如下,一般配置80端口即可  
# vi /etc/httpd/conf/httpd.conf
DocumentRoot “/var/www/html/radiusmanager”
DirectoryIndex index.html index.html.var user.php

#重启Apache
# service httpd restart
# service mysqld restart

重启计算机。
# radiusd -X

注意:当 radiusd -X时出现不能启动的现象

#lsof -i:1812  命令查看有重复的radiusd占领1812端口

#kill  pid-XXX  结束这个PID进程,然后重启 radiusd -X

#返回如下信息为正常
...
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on command file /usr/local/var/run/radiusd/radiusd.sock
Listening on proxy address * port 1814
Ready to process requests.

另外开启一个命令窗口执行以下操作
# radtest user 1111 localhost 1812 testing123
#返回如下内容为正常
Sending Access-Request of id 57 to 127.0.0.1 port 1812
User-Name = "user"
User-Password = "1111"
NAS-IP-Address = 127.0.0.1
NAS-Port = 1812
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=57, length=50
WISPr-Bandwidth-Max-Up = 262144
WISPr-Bandwidth-Max-Down = 262144
Acct-Interim-Interval = 60

9、修改php.ini优化日志输出

# vi /etc/php.ini
#找到error_reporting选项修改如下。
error_reporting = E_ERROR | E_WARNING | E_PARSE
#重启Apache服务
# service httpd restart

10、登录radiusmanager看看是否正常

http://radmius计算机地址/admin.php
   默认用户名密码admin/1111
http://radmius计算机地址/user.php
   默认用户名密码user/1111

极有可能出现空白页面需要我们做下一步工作

11、将CentOS 下 PHP 从 5.1.x升级到5.2.x

第一步,先查看php组件信息:(很清楚是5.1)
# rpm -qa |grep php

php-common-5.1.6-15.el5.i386
php-cli-5.1.6-15.el5.i386
php-5.1.6-15.el5.i386
php-pdo-5.1.6-15.el5.i386
php-bcmath-5.1.6-15.el5.i386
php-ldap-5.1.6-15.el5.i386
php-devel-5.1.6-15.el5.i386
php-gd-5.1.6-15.el5.i386
php-xml-5.1.6-15.el5.i386
php-mbstring-5.1.6-15.el5.i386
php-mysql-5.1.6-15.el5.i386
php-dba-5.1.6-15.el5.i386

第二步,我们添加官方新增的开发库,先新建一个repo文件
# vim /etc/yum.repos.d/CentOS-Testing.repo
复制以下内容,保存并退出。

# CentOS-Testing:
# !!!! CAUTION !!!!
# This repository is a proving grounds for packages on their way to CentOSPlus and CentOS Extras.
# They may or may not replace core CentOS packages, and are not guaranteed to function properly.
# These packages build and install, but are waiting for feedback from testers as to
# functionality and stability. Packages in this repository will come and go during the
# development period, so it should not be left enabled or used on production systems without due
# consideration.
[c5-testing]
name=CentOS-5 Testing
baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
includepkgs=php*

第三步,通过官方新增的开发库,对我们自己的服务器php组件进行升级。
# yum update  

第四步,当你看到这里时,一切已经顺利的快完成啦。上一步正常结束之后,我们重启一下apache服务器:
# service httpd restart

查看升级后的程序版本。

# rpm -qa |grep php

php-cli-5.2.6-2.el5s2
php-mbstring-5.2.6-2.el5s2
php-devel-5.2.6-2.el5s2
php-pdo-5.2.6-2.el5s2
php-gd-5.2.6-2.el5s2
php-dba-5.2.6-2.el5s2
php-common-5.2.6-2.el5s2
php-bcmath-5.2.6-2.el5s2
php-xml-5.2.6-2.el5s2
php-pear-1.5.1-2.el5s2
php-ldap-5.2.6-2.el5s2
php-5.2.6-2.el5s2
php-mysql-5.2.6-2.el5s2

# php -v

PHP 5.2.6 (cli) (built: Sep 15 2008 20:42:05)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

1、运行yum update提示未个组件出错,(由于之前不清楚怎么升5.2,所以其中一个组件的版本就先到了5.2。)
解决办法:
先用yum将组件移除,到最后一步,再重新安装即可。
2、ZendOptimizer提示出错啦!!我的ZendOptimizer版本是3.3.9的不用安装,解压就可以使用的。
解决办法:
#vi /etc/php.d/zend.ini
添加以下代码:
; Enable Zend Optimizer extension module
;zend_optimizer.optimization_level=15
zend_extension=/usr/local/Zend/data/5_2_x_comp/ZendOptimizer.so
; zend_extension=/usr/local/Zend/data/5_1_x_comp/ZendOptimizer.so

12、再一次修改php.ini
vim /etc/php.ini
然后在最后面输入为
    zend_extension=/usr/local/ioncube/ioncube_loader_lin_5.2.so
    (注意,若php是5.1  radiusmanager页面会出现空白,php进行升级到5.2版本,升级后这里则改为5.2.so)
    php -m
    查看是否装载成功,然后重启httpd服务
    service httpd restart

13、安装phpMyAdmin 管理mysql
    wget http://packages.sw.be/rpmforge-r ... 6-1.el5.rf.i386.rpm
    rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

    yum install phpmyadmin


对phpMyAdmin进行一些简单的配置。由于phpMyAdmin安装后,默认是只能从本地服务器上访问的,我们需要修改 phpMyAdmin配置文件,使得远程主机或客户端也能访问它。修改/etc/httpd/conf.d/phpmyadmin.conf,把 <Directory “/usr/share/phpmyadmin”> 这个节点的配置注释掉:

    vi /etc/httpd/conf.d/phpmyadmin.conf
    #
    #  Web application to manage MySQL
    #
    <Directory “/usr/share/phpmyadmin”>
      Order Deny,Allow
      Deny from all
      Allow from 192.168.1.10 (自己可以添加访问的地址)
    </Directory>
    Alias /phpmyadmin /usr/share/phpmyadmin
    Alias /phpMyAdmin /usr/share/phpmyadmin
    Alias /mysqladmin /usr/share/phpmyadmin

   把phpMyAdmin的验证方式从默认的cookie方式改成http:

    vi /usr/share/phpmyadmin/config.inc.php
    [...]
    /* Authentication type */
    $cfg['Servers'][$i]['auth_type'] = ‘http’;
    [...]


打开 http://192.168.1.10/phpmyadmin    开始用户为:root  密码:空   进去后赶快修改掉。


14、汉化Radius Manager

wget  ftp://angela-ctce.3322.org/Chinese-3.6.1.zip
或者wget ftp://ftp:ftp@angela-ctce.3322.org:2121/Chinese-3.6.1.zip
下载语言文件。
unzip -o Chinese-3.6.1.zip  -d /var/www/html/radiusmanager/lang/
在浏览器登陆Radius Manager的管理页面:
http://radmius计算机地址/admin.php
查看管理面板(默认用户名密码admin/1111)

15、安裝 Daloradius
wget http://jaist.dl.sourceforge.net/ ... radius-0.9-8.tar.gz
   #tar zxvf daloradius-0.9-8.tar.gz
   #cp -R daloradius-0.9-8 /var/www
   设定 Daloradius
   #chown -R apache:apache /var/www/daloradius-0.9-8
   #chmod 644 /var/www/daloradius-0.9-8/library/daloradius.conf.php
   
   在radius数据库中加入daloradius的表.(注意!导入表时与前面radiusmanger的表有重复现象不能导入进去)

   登录到radius数据库,删除冲突的表
   #http://192.168.1.10/phpmyadmin

   然后再导入daloradius的表
   #mysql -u root -p radius < /var/www/daloradius-0.9-8/contrib/db/mysql-daloradius.sql

    设定 daloradius.conf.php
    #vi /var/www/daloradius-0.9-8/library/daloradius.conf
    $configValues['FREERADIUS_VERSION'] = '1';
    $configValues['CONFIG_DB_ENGINE'] = 'mysql';
    $configValues['CONFIG_DB_HOST'] = '127.0.0.1';
    $configValues['CONFIG_DB_USER'] = 'radius';    --> radius用户名
    $configValues['CONFIG_DB_PASS'] = 'radius23';   --> radius密码
    $configValues['CONFIG_DB_NAME'] = 'radius';    --> radius数据库
     
  在apache中  加虚拟目录( Alias )

   #vi /etc/httpd/conf/httpd.conf

  Alias /daloradius "/var/www/daloradius-0.9-8/"
   <Directory /var/www/daloradius-0.9-8/>
      Options None
      order deny,allow   
      allow from all
</Directory>
重新启动HTTPD:
service httpd restart   
登录
http://192.168.1.10/daloradius/
用戶: administrator
密碼: radius

16、daloradius错误问题的解决

在radius数据库中缺少radiusgruop表或者 usergroup表会报错,自己可以创建一个这样的表,一般就不会报错

17、架构freeradius遇到故障处理办法
出现故障:rad_recv: Access-Reject packet from host 127.0.0.1:1812, id=231, length=38

修改配置文件:/etc/freeradius/radiusd.conf
把authorize、accounting、session、post-auth几个部分中sql一句前的注释取消掉,启用mysql认证。
更改users.conf
vim   /usr/local/etc/raddb/users.conf
注释掉users文件中的如下内容:
DEFAULT Auth-Type = System   
Fall-Through = 1
           测试成功

18、与sangfor—nas 进行上网联网认证的测试。。。。

设置sangfor 中设置参数   略
在radiusmanager增加一个sangfor nas,在增加测试用户名或者在daloradius中增加测试用户。

打开浏览器跳出认证页面,输入测试用户名和密码,通过后页面转到http://www.google.com.hk  页面

至此完成整个架构工作。




等一下继续。。。。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2011-11-24 10:23 |只看该作者
详细,不过楼主能否解释一下这个的详细用处?

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
3 [报告]
发表于 2011-11-24 10:29 |只看该作者
回复 1# camel2004


    楼主写的很详细.
    centos已经集成了freeradius2和freeradius-mysql的组件了,完全可以用系统自带的搭建

论坛徽章:
0
4 [报告]
发表于 2011-11-29 09:09 |只看该作者
最近用win2008的AD域认证和RADIUS认证均可以,觉得微软2008稳定性提高的飞快,看来linux在易用性上要加油了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP