Solaris 建立一个带用户认证功能的SQUID代理服务器( 二 )


$(INSTALL) -o squid -g squid -m 755 mysql_auth /usr/bin/mysql_auth
$(INSTALL) -o squid -g squid -m 600 $(CONF) /etc/mysql_auth.conf
$(INSTALL) -o squid -g squid -m 600 $(CONF) /etc/mysql_auth.conf.default

src/define.h中需要修改的内容如下:
# vi5 src/define.h

#define CONFIG_FILE "/etc/mysql_auth.conf"
#define DEF_MYSQLD_SOCKET "/tmp/mysql.sock"

src/mysql_auth.conf中需要修改的内容如下:
# vi src/mysql_auth.conf

mysqld_socket /tmp/mysql.sock

# /usr/ccs/bin/make
# /usr/ccs/bin/make install

创建用户数据库:

# cd scripts
# mysql -u root -p****** < create_script


测试MYSQL_AUTH

1.添加一个测试用户

# mypasswd llzqq 123456
Password record ADDED succesfully.

2.验证刚才建立的用户

# mysql_auth
llzqq 123456
0K

3.删除一个已经建立的用户用这个命令

# mypasswd –d username

三、在SQUID.CONF中增加MYSQL_AUTH认证部分

# vi /etc/squid/squid.conf

添加下面的代码到SQUID.CONF中“TAG: acl”一节的后面

auth_param basic program /usr/bin/mysql_auth
auth_param basic realm LLZQQ"S CACHING SERVER
auth_param basic children 5
auth_param basic credentialsttl 2 hours
acl password proxy_auth REQUIRED
http_access allow password
authenticate_ip_ttl 2 hours
http_access deny all

四、客户端设置

在浏览器的代理服务器设置中填写SQUID服务器的IP和端口:
192.168.0.1:3218

在下载软件FlashGet的代理服务器设置中填写SQUID服务器的IP、端口、用户和密码:
192.168.0.1:3218
user:llzqq
passwd:123456

五、注意事项

在进行以上安装前要先安装GCC否则不能编译MYSQL_AUTH,另外在添加用户前需要设置ROOT用户的LD_LIBRARY_PATH变量中有这个路径:/opt/sfw/mysql/lib/mysql


推荐阅读