免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: duanjigang
打印 上一主题 下一主题

[proxy] 【原创】使用LAMP开发一个简易的Squid集中管理软件squid_front [复制链接]

论坛徽章:
0
12 [报告]
发表于 2009-05-14 15:41 |只看该作者
友情支持

论坛徽章:
0
11 [报告]
发表于 2009-05-13 11:10 |只看该作者
支持!

论坛徽章:
0
10 [报告]
发表于 2009-05-13 10:57 |只看该作者
强,友情帮顶

论坛徽章:
0
9 [报告]
发表于 2009-05-13 10:40 |只看该作者
多谢瑞儿加精华啊

论坛徽章:
0
8 [报告]
发表于 2009-05-13 10:27 |只看该作者
顶下吧  

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之上海
日期:2016-05-05 09:45:14
7 [报告]
发表于 2009-05-13 10:24 |只看该作者
不错,,好东西,,收藏一下!

论坛徽章:
0
6 [报告]
发表于 2009-05-13 09:22 |只看该作者
不错啊

论坛徽章:
0
5 [报告]
发表于 2009-05-12 22:50 |只看该作者
运行
启动squid程序后,然后启动linkmon程序
./linkmon  -f /usr/local/squid/etc/linkmon.conf &
这个时候就可以使用了。
说明Squid_front部分php代码为原创,试用了开源的php数据库访问库adodb_lite组件。后台的ipuser和myauth参考已有代码,linkmon为原创部分,如果由于程序运行不当对个人或者组织造成任何可能的损失,本人不负担任何责任,只供技术交流,如果进行修改或者用于商业用途,请保留作者信息。
交流方式EMail:duanjigang1983@126.com
MSN:duanjigang@hotmail.com
参考资料
Squid实现基于MySQL的用户及IP绑定的验证
http://linux.chinaunix.net/bbs/viewthread.php?tid=1061907

论坛徽章:
0
4 [报告]
发表于 2009-05-12 22:49 |只看该作者
部署方法
首先LAMP环境你需要拥有,然后安装mysql++的开发库。
然后部署squid_front的php程序,并在配置文件bug_conf.php中修改数据库的访问地址,帐户等。这个应该比较简单。
接着,根据你的mysql和mysql++的安装目录,对ipuser,myauth和linkmon的makefile做适当修改,使得能够编译通过。然后把这三个可执行程序拷贝到squid安装目录下的libexec目录下,接着就需要修改配置了。
把附件中的etc目录下的配置文件放到你的squid安装目录的etc下,对于squid.conf文件,最好不要修改,而只是参考这个自带的squid.conf进行修改,添加ipuser和mysql_auth的验证功能。
最后,要在linkmon,ipuser和myauth的配置文件中分别修改服务器IP地址为你的Squid服务器的IP地址,还有修改数据库的访问地址和账户。
######### ip_user.conf
[ DB_config]
#数据库名称
db = squid
#数据库服务器地址
host = 192.168.0.20
#登陆数据库的用户名
user = squid
#数据库访问密码
pass = squid
#当前系统上对外提供squid服务的IP地址
 [SysInfo]
#本机IP地址
IP=123.120.1.249

######   link_mon.conf
[ DB_config]
db = squid
host = 192.168.0.20
user = squid
pass = squid
#本机IP地址
server = 123.120.1.249
#squid的监听端口,要与Squid.conf中的一致
port = 8888
#linkmon检测端口和配置变更的周期(秒)
rate = 2

mysql_auth.conf配置文件中要注意的就是最后一行
server_ip  123.120.1.249 需要填写本机IP

squid.conf中需要注意的也就是这段配置
#added by duanjigang@2009-04-02 start
auth_param basic children 5
auth_param basic realm Squid caching server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
auth_param basic program /usr/local/squid/libexec/mysql_auth
#added by duanjigang@2009-04-04 start
external_acl_type ip_user_check children=5 %SRC %LOGIN  /usr/local/squid/libexec/ip_user -f /usr/local/squid/etc/ip_user.conf
#external_acl_type ip_user_check children=5 %SRC %LOGIN /usr/local/squid/libexec/ip_user  
acl ipuser external ip_user_check

acl password proxy_auth REQUIRED
#http_access allow   ipuser
http_access allow  password ipuser
authenticate_ip_ttl 2 hours
http_access deny all
#added by duanjigang@2009-04-04 end

论坛徽章:
0
3 [报告]
发表于 2009-05-12 22:47 |只看该作者
数据库表说明
Squid的myauth模块对数据库和表做了可配置方式,个人觉得没必要这么做,表结构直接写死就行了。Squid_front的php代码中包含了squid.sql文件,可以直接导入到数据库中。
这里仅对每个表做简单说明。
t_event:
记录系统发生的改变,比如添加删除用户,修改用户信息,服务器信息等等操作时,就会在该表中写入一条flag为1的记录,对应某个服务器,然后linkmon进城检测到该服务器有配置变更后,就会调用system(“squid -k reconfigure ”)命令来重新加载配置。进行实时配置生效。
t_server
服务器信息表,存储所有服务器的信息
t_server_connect
存储服务器的连接信息。
t_sys_user
存储系统用户信息,但是目前没有提供用户添加功能,所以这个表里的数据只有admin一项,无法删除增加,只能修改密码。
t_user
使用每个代理服务器的用户信息,密码,用户名,限制标志位,有效期等。
t_user_log
用户的登陆信息,包括源IP和时间。

[ 本帖最后由 duanjigang 于 2009-5-12 22:48 编辑 ]
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP