7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Squid 6.2をインストールする(ソースからコンパイル) for RockyLinux9 and UbuntuLinux22.x

Last updated at Posted at 2017-01-17

Proxyサーバーとして有名なSquidをRockyLinux9.3/UbuntuLinux 22.xにインストール(ソースからコンパイル)する方法をご紹介します。
AlmaLinuxやそのほかRHEL互換OSであれば、同様に以下の手順で導入可能だと思います。
Squidは、2023年12月現在、6.6が最新版となります。

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

RockyLinux 9.xとUbunt22.xにOpenSSL 3.2.xをインストールする(ソースからビルド)

インストール

bash
cd /usr/local/src
wget https://www.squid-cache.org/Versions/v6/squid-6.9.tar.gz
tar xvzf squid-6.9.tar.gz
cd squid-6.9
./configure \
--with-large-files \
--enable-ssl-crtd \
--with-openssl=/usr/local/ssl \
--enable-security-cert-generators \
--enable-security-cert-validators\
--enable-linux-netfilter \
--with-default-user=daemon
make -j 8
make install

権限設定を変更する

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

起動ファイルを作成する

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

squid.service
cat > /usr/lib/systemd/system/squid.service << EOF
[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:cache_swap.sh
#!/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を追加する

squid.confの変更箇所
http_port 0.0.0.0:3128

起動ユーザーをdaemonを指定する

squid.confの最下部に追加
cache_effective_user    daemon
cache_effective_group   daemon

保存する

起動と自動起動設定

bash
systemctl start squid
systemctl enable squid

設定ファイルに誤りが無いかをチェックする

/usr/local/squid/sbin/squid -k check

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?