Help us understand the problem. What is going on with this article?

Squid 3.5をインストールする(ソースからコンパイル) for CentOS7.3

More than 1 year has passed since last update.

Proxyサーバーとして有名なSquidをCentOS7.3にインストール(ソースからコンパイル)する方法をご紹介します。
Squidは、2017年6月現在、3.5.26が最新版となります。

また、本インストールではあらかじめOpenSSLのインストールが必要となります。
OpenSSLのインストール方法は以下を参考にしてください。

OpenSSL(1.0.x)をインストールする(ソースからコンパイル)for CentOS 7.2

インストール

bash
cd /usr/local/src
wget http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.26.tar.gz
tar xvzf squid-3.5.26.tar.gz 
cd squid-3.5.26
./configure --with-large-files --with-openssl=/usr/local/ssl 
make
make install

権限設定を変更する

bash
chown -R nobody:nobody /usr/local/squid

起動ファイルを作成する

起動ファイルは、CentOSのRPMを利用し、若干カスタマイズします。

vi /usr/lib/systemd/system/squid.service
squid.service
[Unit]
Description=Squid caching proxy
After=syslog.target network.target nss-lookup.target

[Service]
Type=forking
LimitNOFILE=16384
#EnvironmentFile=/etc/sysconfig/squid
#EnvironmentFile=/usr/local/squid/etc/squid.conf
Environment="SQUID_CONF=/usr/local/squid/etc/squid.conf"
ExecStartPre=/usr/local/squid/libexec/cache_swap.sh
ExecStart=/usr/local/squid/sbin/squid $SQUID_OPTS -f $SQUID_CONF
ExecReload=/usr/local/squid/sbin/squid $SQUID_OPTS -k reconfigure -f $SQUID_CONF
ExecStop=/usr/local/squid/sbin/squid -k shutdown -f $SQUID_CONF
TimeoutSec=0

[Install]
WantedBy=multi-user.target
EOF

cache_swap.shを作成します。

vi /usr/local/squid/libexec/cache_swap.sh
bash
#!/bin/bash
if [ -f /etc/sysconfig/squid ]; then
        . /etc/sysconfig/squid
fi

SQUID_CONF=${SQUID_CONF:-"/usr/local/squid/etc/squid.conf"}

CACHE_SWAP=`sed -e 's/#.*//g' $SQUID_CONF | \
        grep cache_dir | awk '{ print $3 }'`

for adir in $CACHE_SWAP; do
        if [ ! -d $adir/00 ]; then
                echo -n "init_cache_dir $adir... "
                squid -N -z -F -f $SQUID_CONF >> /usr/local/squid/var/logs/squid.out 2>&1
        fi
done
chmod +x /usr/local/squid/libexec/cache_swap.sh

設定ファイルの編集

デフォルトだと、ipv6でしかポートをlistenしないため、変更する

vi /usr/local/squid/etc/squid.conf

変更箇所
http_portに「0.0.0.0:ポート番号」とし、前にipv4の0.0.0.0を追加する

bash
http_port 0.0.0.0:3128

起動と自動起動設定

bash
systemctl start squid
systemctl enable squid
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away