Mysql Authentication in Squid

[root@station39 ~]# yum install *mysql* *squid* *gcc* -y
===> Download mysql_auth-0.8.tar.gz  
[root@station39 ~]# /etc/init.d/mysqld restart
[root@station39 ~]# mysqladmin password "password"
[root@station39 ~]# useradd proxy
[root@station39 ~]# passwd proxy
[root@station39 ~]# su - proxy
[proxy@station39 ~]$ wget http://people.arxnet.hu/airween/mysql_auth/mysql_auth-0.8.tar.gz
[proxy@station39 ~]$ tar xvzf mysql_auth-0.8.tar.gz
[proxy@station39 ~]$ cd mysql_auth-0.8
[proxy@station39 mysql_auth-0.8]$ vim squid.sql


#######################################################
CREATE DATABASE squid;
use squid;
DROP TABLE IF EXISTS `auth`;
CREATE TABLE `auth` (
`username` varchar(25) default NULL,
`password` varchar(25) default NULL
)
ENGINE=MyISAM DEFAULT CHARSET=latin1;
LOCK TABLES `auth` WRITE;
INSERT INTO `auth` VALUES ('username','username ');
UNLOCK TABLES;
#######################################################
[proxy@station39 mysql_auth-0.8]$ exit
[root@station39 squid]# mysql -u root -p 
Enter password: 
mysql > CREATE USER 'squid'@'localhost' IDENTIFIED BY 'squid';
mysql> GRANT ALL PRIVILEGES ON `squid` . * TO 'squid'@'localhost';
mysql> exit
[root@station39 squid]# su - proxy
[proxy@station39 ~]$ cd mysql_auth-0.8
[proxy@station39 mysql_auth-0.8]$ mysql -u root -p < squid.sq
[proxy@station39 mysql_auth-0.8]$ cd src
[proxy@station39 src]$ vim mysql_auth.conf


#######################################################
database       squid
table            auth
user_column     username
#######################################################


[proxy@station39 src]$ cd ..
[proxy@station39 mysql_auth-0.8]$ cp  Makefile  Makefile_org
[proxy@station39 mysql_auth-0.8]$ vim Makefile


#######################################################
CC  = gcc
CFLAGS = -I/usr/include/mysql -L/usr/lib/mysql
LDFLAGS = -lmysqlclient
SRC = src
OBJS = $(SRC)/mysql_auth.o $(SRC)/confparser.o $(SRC)/mypasswd.o
INSTALL = /usr/bin/install
CONF = $(SRC)/mysql_auth.conf

all : mysql_auth mypasswd

clean:
        rm -rf src/*.o *.o mysql_auth mypasswd

mysql_auth: $(OBJS)
        $(CC) -o $@ $(SRC)/mysql_auth.c $(SRC)/confparser.c $(LDFLAGS) $(CFLAGS)

mypasswd: $(OBJS)
        $(CC) -o $@ $(SRC)/mypasswd.c $(SRC)/confparser.c $(LDFLAGS) $(CFLAGS)

install:
        $(INSTALL) -o nobody -g nobody -m 755 mysql_auth /usr/local/squid/libexec/mysql_auth
        $(INSTALL) -o root -g root -m 700 mypasswd /usr/local/bin/mypasswd
        $(INSTALL) -o nobody -g nobody -m 600 $(CONF) /usr/local/squid/etc/mysql_auth.conf
        $(INSTALL) -o nobody -g nobody -m 600 $(CONF) /usr/local/squid/etc/mysql_auth.conf.default

#######################################################


[proxy@station39 mysql_auth-0.8]$ make
[proxy@station39 mysql_auth-0.8]$ su – root
[root@station39 ~]# cd /home/proxy
[root@station39 proxy]# mkdir -p /usr/local/squid/libexec
[root@station39 proxy]# mkdir /usr/local/squid/etc
[root@station39 proxy]# make install
[root@station39 proxy]# cd /usr/local/squid/libexec
[root@station39 proxy]# ./mysql_auth

{Username}  {Password}         # Press Enter Out Giving Below
OK       # Press Ctrl+c 

[root@station39 proxy]# cd /usr/local/squid/libexec
[root@station39 libexec]# cd /home/proxy/mysql_auth-0.8
[root@station39 libexec]# install -o squid -g squid -m 755 mysql_auth /usr/lib/squid/mysql_auth
[root@station39 libexec]# install -o root -g root -m 700 mypasswd /usr/local/bin/squid-passwd
[root@station39 libexec]# install -o squid -g root -m 600 src/mysql_auth.conf /usr/local/squid/etc/mysql_auth.conf
[root@station39 libexec]# install -o squid -g root -m 600 src/mysql_auth.conf /usr/local/squid/etc/mysql_auth.conf.default
[root@station39 libexec]# cd /etc/squid
[root@station39 squid]# cp squid.conf squid.conf_org
[root@station39 squid]# vim squid.conf
Search  The Line
/auth_param
And Add Lines 


#######################################################
auth_param basic program /usr/lib/squid/mysql_auth
auth_param basic children 5
auth_param basic realm Magnet Internet Authentication
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl mysql proxy_auth REQUIRED       # Add This Line Below That Line
“acl  CONNECT method CONNECT”
http_access allow mysql

#######################################################

[root@station39 squid]# /etc/init.d/squid restart
[root@station39 squid]# /etc/init.d/mysqld restart


Comments

  1. sir ye 32-bit ke liye hai 64-bit ke liye vim Makefile me path change hota hai.

    ReplyDelete

Post a Comment

Popular posts from this blog

PCS Corosync Pacemaker Cluster Mariadb using NFS

How to install and configure node js and PM2 in rhel7

How to Create or Configure iSCSI Server and Clinet