• Categories
    Category
  • Categories
    Category
  • News
  • Tutorials
  • Forums
  • Tags
  • Users
Tutorial Comments FAQ Related Articles

How to Compile Squid Proxy Server 4.7v on CentOS 7.6

  • 00:52 yum install perl gcc autoconf automake make sudo wget libxml2-devel libcap-devel libtool-ltdl-devel gcc-c++ -y
  • 01:04 wget http://www.squid-cache.org/Versions/v4/squid-4.7-20190507-r2e17b0261.tar.gz
  • 01:16 tar xvzf squid-4.7-20190507-r2e17b0261
  • 01:38 ./configure --prefix=/usr --includedir=/usr/include --datadir=/usr/share --bindir=/usr/sbin --libexecdir=/usr/lib/squid --localstatedir=/var --sysconfdir=/etc/squid -y
  • 01:42 make
  • 01:51 make install
  • 02:09 squid --version
5705

Installation of Squid proxy server 4.7 on CentOS 7.6

Pre-requisites:

perl gcc autoconf automake make sudo wget libxml2-devel libcap-devel libtool-ltdl-devel

Download Link :

Click here to download squid proxy server version 4.7

Configure options:

--prefix=/usr --includedir=/usr/include --datadir=/usr/share --bindir=/usr/sbin   --libexecdir=/usr/lib/squid --localstatedir=/var --sysconfdir=/etc/squid

/etc/profile:

Squid PATH

export SQUID_HOME=/usr/bin/
export PATH=$SQUID_HOME:$PATH

Install the required packages for squid proxy server by executing the command with the following options.

[root@linuxhelp ~]# yum install  perl gcc autoconf automake make sudo wget libxml2-devel libcap-devel libtool-ltdl-devel  gcc-c++  -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.excellmedia.net
 * epel: fedora.cs.nctu.edu.tw
 * extras: centos.excellmedia.net
 * remi-php72: ftp.riken.jp
 * remi-safe: ftp.riken.jp
 * updates: centos.excellmedia.net
.
.
.
Dependency Installed:
  cpp.x86_64 0:4.8.5-36.el7_6.2   perl-Thread-Queue.noarch 0:3.02-2.el7   xz-devel.x86_64 0:5.2.2-1.el7   zlib-devel.x86_64 0:1.2.7-18.el7  

Updated:
  wget.x86_64 0:1.14-18.el7_6.1                                                                                                              

Dependency Updated:
  libgcc.x86_64 0:4.8.5-36.el7_6.2                                     libgomp.x86_64 0:4.8.5-36.el7_6.2  

Download the squid proxy server 4.7 version source code as follows.

[root@linuxhelp ~]# wget http://www.squid-cache.org/Versions/v4/squid-4.7-20190507-r2e17b0261.tar.gz
--2019-05-31 08:42:29--  http://www.squid-cache.org/Versions/v4/squid-4.7-20190507-r2e17b0261.tar.gz
Resolving www.squid-cache.org (www.squid-cache.org)... 166.78.139.188, 212.199.163.170, 77.93.254.178, ...
Connecting to www.squid-cache.org (www.squid-cache.org)|166.78.139.188|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5259952 (5.0M) [application/octet-stream]
Saving to: ‘squid-4.7-20190507-r2e17b0261.tar.gz’

100%[===================================================================================================>] 5,259,952   26.1MB/s   in 0.2s   

2019-05-31 08:42:44 (26.1 MB/s) - ‘squid-4.7-20190507-r2e17b0261.tar.gz’ saved [5259952/5259952]

List the contents to check the downloaded squid tar file.

[root@linuxhelp ~]# ll
total 5164
-rw-------. 1 root root    2097 Dec  9  2017 anaconda-ks.cfg
drwxr-xr-x. 2 root root       6 Dec 12  2017 Desktop
drwxr-xr-x. 2 root root       6 Dec 12  2017 Documents
drwxr-xr-x. 2 root root       6 Dec 12  2017 Downloads
-rw-r--r--. 1 root root    2128 Dec 12  2017 initial-setup-ks.cfg
drwxr-xr-x. 2 root root       6 Dec 12  2017 Music
drwxr-xr-x. 2 root root       6 Dec 12  2017 Pictures
drwxr-xr-x. 2 root root       6 Dec 12  2017 Public
-rw-r--r--  1 root root   16004 Mar  8 13:10 remi-release-7.rpm
-rw-r--r--  1 root root 5259952 May  7 15:38 squid-4.7-20190507-r2e17b0261.tar.gz
drwxr-xr-x. 2 root root       6 Dec 12  2017 Templates
drwxr-xr-x. 2 root root       6 Dec 12  2017 Videos

Extract the tar file of squid proxy server 4.7 version as follows.

[root@linuxhelp ~]# tar xvzf squid-4.7-20190507-r2e17b0261.tar.gz 
squid-4.7-20190507-r2e17b0261/
squid-4.7-20190507-r2e17b0261/ChangeLog
squid-4.7-20190507-r2e17b0261/contrib/
squid-4.7-20190507-r2e17b0261/contrib/user-agents.pl
squid-4.7-20190507-r2e17b0261/contrib/Makefile.in
squid-4.7-20190507-r2e17b0261/contrib/url-normalizer.pl
squid-4.7-20190507-r2e17b0261/contrib/solaris/
squid-4.7-20190507-r2e17b0261/contrib/solaris/solaris-krb5-include.patch
squid-4.7-20190507-r2e17b0261/contrib/nextstep/
squid-4.7-20190507-r2e17b0261/contrib/nextstep/Makefile
squid-4.7-20190507-r2e17b0261/contrib/nextstep/post_install
squid-4.7-20190507-r2e17b0261/contrib/nextstep/Squid.pkg.README
squid-4.7-20190507-r2e17b0261/contrib/nextstep/makepkg
squid-4.7-20190507-r2e17b0261/contrib/nextstep/Makefile.real
squid-4.7-20190507-r2e17b0261/contrib/nextstep/info.in
squid-4.7-20190507-r2e17b0261/contrib/nextstep/pre_install
.
.
.
.
squid-4.7-20190507-r2e17b0261/src/XactionInitiator.h
squid-4.7-20190507-r2e17b0261/src/HttpHdrSc.cc
squid-4.7-20190507-r2e17b0261/src/HttpRequest.h
squid-4.7-20190507-r2e17b0261/src/StoreMeta.cc
squid-4.7-20190507-r2e17b0261/src/swap_log_op.cc
squid-4.7-20190507-r2e17b0261/src/HttpHdrContRange.cc
squid-4.7-20190507-r2e17b0261/src/CommonPool.h
squid-4.7-20190507-r2e17b0261/aclocal.m4
squid-4.7-20190507-r2e17b0261/QUICKSTART

List the contents to check the extracted directory of squid proxy server.

[root@linuxhelp ~]# ll
total 5168
-rw-------.  1 root  root     2097 Dec  9  2017 anaconda-ks.cfg
drwxr-xr-x.  2 root  root        6 Dec 12  2017 Desktop
drwxr-xr-x.  2 root  root        6 Dec 12  2017 Documents
drwxr-xr-x.  2 root  root        6 Dec 12  2017 Downloads
-rw-r--r--.  1 root  root     2128 Dec 12  2017 initial-setup-ks.cfg
drwxr-xr-x.  2 root  root        6 Dec 12  2017 Music
drwxr-xr-x.  2 root  root        6 Dec 12  2017 Pictures
drwxr-xr-x.  2 root  root        6 Dec 12  2017 Public
-rw-r--r--   1 root  root    16004 Mar  8 13:10 remi-release-7.rpm
drwxr-xr-x  16 user1 user1    4096 May  7 15:05 squid-4.7-20190507-r2e17b0261
-rw-r--r--   1 root  root  5259952 May  7 15:38 squid-4.7-20190507-r2e17b0261.tar.gz
drwxr-xr-x.  2 root  root        6 Dec 12  2017 Templates
drwxr-xr-x.  2 root  root        6 Dec 12  2017 Videos

Change the directory to squid to install the server into CentOS 7.6.

 [root@linuxhelp ~]# cd squid-4.7-20190507-r2e17b0261/

List the contents to view the extracted files of squid directory.

 [root@linuxhelp squid-4.7-20190507-r2e17b0261]# ll
total 2460
drwxr-xr-x  2 user1 user1     233 May  7 14:50 acinclude
-rw-r--r--  1 user1 user1  407106 May  7 13:44 aclocal.m4
-rwxr-xr-x  1 user1 user1    4530 May  6 19:23 bootstrap.sh
drwxr-xr-x  2 user1 user1     143 May  7 14:50 cfgaux
-rw-r--r--  1 user1 user1  306258 May  6 19:23 ChangeLog
drwxr-xr-x  3 user1 user1    4096 May  7 14:50 compat
-rwxr-xr-x  1 user1 user1 1373001 May  7 13:45 configure
-rw-r--r--  1 user1 user1  137271 May  7 13:44 configure.ac
drwxr-xr-x  4 user1 user1     162 May  7 15:05 contrib
-rw-r--r--  1 user1 user1   19394 May  6 19:23 CONTRIBUTORS
-rw-r--r--  1 user1 user1   18092 May  6 19:23 COPYING
-rw-r--r--  1 user1 user1   87895 May  6 19:23 CREDITS
drwxr-xr-x  4 user1 user1     106 May  7 15:05 doc
drwxr-xr-x 48 user1 user1    4096 May  7 15:05 errors
drwxr-xr-x  3 user1 user1      87 May  7 14:50 icons
drwxr-xr-x  2 user1 user1    4096 May  7 15:05 include
-rw-r--r--  1 user1 user1     805 May  6 19:23 INSTALL
drwxr-xr-x  9 user1 user1    4096 May  7 14:50 lib
drwxr-xr-x  5 user1 user1    4096 May  7 14:50 libltdl
-rw-r--r--  1 user1 user1    1574 May  6 19:23 Makefile.am
-rw-r--r--  1 user1 user1   33273 May  7 13:45 Makefile.in
-rw-r--r--  1 user1 user1    2581 May  6 19:23 po4a.conf
-rw-r--r--  1 user1 user1    3818 May  6 19:23 QUICKSTART
-rw-r--r--  1 user1 user1    1513 May  6 19:23 README
-rw-r--r--  1 user1 user1   30670 May  7 15:05 RELEASENOTES.html
drwxr-xr-x  2 user1 user1    4096 May  7 14:50 scripts
-rw-r--r--  1 user1 user1    4659 May  7 13:45 SPONSORS
drwxr-xr-x 34 user1 user1   12288 May  7 15:05 src
drwxr-xr-x  3 user1 user1    4096 May  7 15:05 test-suite
drwxr-xr-x  8 user1 user1    4096 May  7 15:05 tools

Run the configure command to check the dependencies and compilers that are required to install the squid proxy server onto the system with the below-given commands.

[root@linuxhelp squid-4.7-20190507-r2e17b0261]# ./configure --prefix=/usr --includedir=/usr/include --datadir=/usr/share --bindir=/usr/sbin   --libexecdir=/usr/lib/squid --localstatedir=/var --sysconfdir=/etc/squid
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '0' is supported by ustar format... yes
checking whether GID '0' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
.
.
.
.
checking for opendir... yes
checking for readdir... yes
checking for strlcat... no
checking for strlcpy... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands

Run the make to built the software by executing the tasks that are defined inside the make file.

[root@linuxhelp squid-4.7-20190507-r2e17b0261]# make 
Making all in compat
make[1]: Entering directory `/root/squid-4.7-20190507-r2e17b0261/compat'
depbase=`echo assert.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/etc/squid/squid.conf\" -DDEFAULT_SQUID_DATA_DIR=\"/usr/share\" -DDEFAULT_SQUID_CONFIG_DIR=\"/etc/squid\"   -I.. -I../include -I../lib -I../src -I../include    -I/usr/include/libxml2   -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Wshadow -Woverloaded-virtual -Werror -Wno-deprecated-register -pipe -D_REENTRANT -I/usr/include/libxml2   -g -O2 -march=native -std=c++11 -MT assert.lo -MD -MP -MF $depbase.Tpo -c -o assert.lo assert.cc &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  g++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/etc/squid/squid.conf\" -DDEFAULT_SQUID_DATA_DIR=\"/usr/share\" -DDEFAULT_SQUID_CONFIG_DIR=\"/etc/squid\" -I.. -I../include -I../lib -I../src -I../include -I/usr/include/libxml2 -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Wshadow -Woverloaded-virtual -Werror -Wno-deprecated-register -pipe -D_REENTRANT -I/usr/include/libxml2 -g -O2 -march=native -std=c++11 -MT assert.lo -MD -MP -MF .deps/assert.Tpo -c assert.cc  -fPIC -DPIC -o .libs/assert.o
.
.
.
.
Making all in test-suite
make[1]: Entering directory `/root/squid-4.7-20190507-r2e17b0261/test-suite'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/root/squid-4.7-20190507-r2e17b0261/test-suite'
make[1]: Entering directory `/root/squid-4.7-20190507-r2e17b0261'
make[1]: Nothing to be done for `all-am'.
make[1]: Leaving directory `/root/squid-4.7-20190507-r2e17b0261'

Run the make install to install the software that we have built using make.

[root@linuxhelp squid-4.7-20190507-r2e17b0261]# make install
Making install in compat
make[1]: Entering directory `/root/squid-4.7-20190507-r2e17b0261/compat'
make[2]: Entering directory `/root/squid-4.7-20190507-r2e17b0261/compat'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/root/squid-4.7-20190507-r2e17b0261/compat'
make[1]: Leaving directory `/root/squid-4.7-20190507-r2e17b0261/compat'
Making install in lib
make[1]: Entering directory `/root/squid-4.7-20190507-r2e17b0261/lib'
Making all in libTrie
make[2]: Entering directory `/root/squid-4.7-20190507-r2e17b0261/lib/libTrie'
Making all in .
make[3]: Entering directory `/root/squid-4.7-20190507-r2e17b0261/lib/libTrie'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/root/squid-4.7-20190507-r2e17b0261/lib/libTrie'
Making all in test
.
.
.
.
make[1]: Entering directory `/root/squid-4.7-20190507-r2e17b0261'
make[2]: Entering directory `/root/squid-4.7-20190507-r2e17b0261'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/root/squid-4.7-20190507-r2e17b0261'
make[1]: Leaving directory `/root/squid-4.7-20190507-r2e17b0261'

check the version of squid proxy server

[root@linuxhelp squid-4.7-20190507-r2e17b0261]# squid --version
Squid Cache: Version 4.7-20190507-r2e17b0261
Service Name: squid
configure options:  '--prefix=/usr' '--includedir=/usr/include' '--datadir=/usr/share' '--bindir=/usr/sbin' '--libexecdir=/usr/lib/squid' '--localstatedir=/var' '--sysconfdir=/etc/squid'

With this, the installation of squid proxy server 4.7 from source code comes to end.

Tags:
jacob
Author: 

Comments ( 2 )

hailsonferreira
I could start squid service after reboot the server but the service enter in failed state, someone can help me?
leagueofwhy
I cannot use " systemctl start squid ", it says Failed to start squid.service: Unit not found.
Add a comment

Frequently asked questions ( 5 )

Q

What is reverse proxy in squid?

A

Reverse proxy makes squid to host multipe sites with single ip

Q

What does caching mean in squid proxy server?

A

In squid Proxy server,caching is a technology where it temporarily stores the web documents,web pages,images and other types of web multimedia to reduce server lag.

Q

What does web proxy mean in Squid?

A

In squid,a proxy server acts as an intermediatory for the requests it gets from clients seeking resources from other servers.

Q

What happens when a client connects to the squid proxy server?

A

In squid proxy server,when a client connects to the proxy server ,requesting some service such as file,connection,web page or other resource available from the different server.

Q

What does Xff mean in squid proxy server?

A

In squid proxy server,X-forwarded for is a http header which identifies the client's Ip address ,originates and connects to the web server through an HTTP proxy or load balancer.

Related Tutorials in How to Compile Squid Proxy Server 4.7v on CentOS 7.6

Related Tutorials in How to Compile Squid Proxy Server 4.7v on CentOS 7.6

How To Install AnyDesk on Centos 7
How To Install AnyDesk on Centos 7
Apr 2, 2018
How to install Tiki Wiki CMS Groupware on CentOS 7
How to install Tiki Wiki CMS Groupware on CentOS 7
May 31, 2018
How to install PHP ImageMagick on CentOS 7
How to install PHP ImageMagick on CentOS 7
Nov 4, 2017
How to Upgrade and Downgrade the PHP Versions on CentOS 7.6
How to Upgrade and Downgrade the PHP Versions on CentOS 7.6
Jun 4, 2019
How to install Apache from Source Code on CentOS 7
How to install Apache from Source Code on CentOS 7
Oct 21, 2017
How to enable or disable repositories in CentOS
How to enable or disable repositories in CentOS
Mar 28, 2018
How to install AWStats on CentOS 7
How to install AWStats on CentOS 7
Dec 8, 2017
How to install Apache JMeter in CentOS 7
How to install Apache JMeter in CentOS 7
Mar 24, 2017

Related Forums in How to Compile Squid Proxy Server 4.7v on CentOS 7.6

Related Forums in How to Compile Squid Proxy Server 4.7v on CentOS 7.6

CentOS
connor class=
How To Completely Remove Apache package On CentOS 7.6
May 14, 2019
CentOS
ceriaimmaculate class=
setfacl : command not found
Jan 3, 2018
Squid
oliver class=
how to clear squid cache
Feb 7, 2017
Squid
owen class=
How to change default logformat in squid access log
Sep 1, 2017
CentOS
mason class=
Error getting authority: Error initializing authority: Could not connect: No such file or directory (g-io-error-quark, 1)
Nov 20, 2018
CentOS
landon class=
Command to find SNMP Version
May 28, 2018
CentOS
arjitharon class=
cannot start minio service help
Mar 10, 2018
Apache tomcat
AadrikaAnshu class=
Cannot find ./catalina.sh The file is absent or does not have execute permission This file is needed to run this program
Jun 17, 2019
Back To Top!
Rank
User
Points

Top Contributers

userNamenaveelansari
135850

Top Contributers

userNameayanbhatti
92510

Top Contributers

userNamehamzaahmed
32150

Top Contributers

1
userNamelinuxhelp
31040

Top Contributers

userNamemuhammadali
24500
Can you help Luk Van De Looverbosch ?
How to create a root ?

Hello,
How to create root@linuxhelp in Linux Mint 20.1 64-bit ?
Thanks in advance for your reply.
Best regards.

Networking
  • Routing
  • trunk
  • Netmask
  • Packet Capture
  • domain
  • HTTP Proxy
Server Setup
  • NFS
  • KVM
  • Memory
  • Sendmail
  • WebDAV
  • LXC
Shell Commands
  • Cloud commander
  • Command line archive tools
  • last command
  • Shell
  • terminal
  • Throttle
Desktop Application
  • Linux app
  • Pithos
  • Retrospect
  • Scribe
  • TortoiseHg
  • 4Images
Monitoring Tool
  • Monit
  • Apache Server Monitoring
  • EtherApe 
  • Arpwatch Tool
  • Auditd
  • Barman
Web Application
  • Nutch
  • Amazon VPC
  • FarmWarDeployer
  • Rukovoditel
  • Mirror site
  • Chef
Contact Us | Terms of Use| Privacy Policy| Disclaimer
© 2025 LinuxHelp.com All rights reserved. Linux™ is the registered trademark of Linus Torvalds. This site is not affiliated with linus torvalds in any way.