Squid 代理服务器不能以超级用户 root 身份运行,因此我们必须创建一个没有 shell 的特殊用户来运行 Squid 代理服务器。
[root@deep] /# useradd -d /cache/ -r -s /dev/null squid >/dev/null 2>&1
[root@deep] /# mkdir /cache/
[root@deep] /# chown -R squid.squid /cache/
|
首先,我们添加用户
squid到
/etc/passwd文件。然后,我们创建
/cache目录,如果该目录不存在,
我们只在它不存在时重复操作。最后,我们更改目录的所有者
cache为用户
squid.
: 通常我们不需要执行命令 mkdir/cache/,因为我们在安装 Linux 期间对硬盘进行分区时已经创建了这个目录。如果此分区不存在,您必须执行此命令来创建该目录。
移动到新的 Squid 目录并在终端上键入以下命令:编辑Makefile.in文件,vi +18icons/Makefile.in并更改行
DEFAULT_ICON_DIR = $(sysconfdir)/icons
|
更改为
DEFAULT_ICON_DIR = $(libexecdir)/icons
|
我们更改变量,sysconfdir为libexecdir。通过此修改,iconsSquid 目录将位于/usr/lib/squid目录。
编辑Makefile.in文件,vi +34src/Makefile.in并更改以下行
DEFAULT_CACHE_LOG = $(localstatedir)/logs/cache.log
|
更改为
DEFAULT_CACHE_LOG = $(localstatedir)/log/squid/cache.log
|
DEFAULT_ACCESS_LOG = $(localstatedir)/logs/access.log
|
更改为
DEFAULT_ACCESS_LOG = $(localstatedir)/log/squid/access.log
|
DEFAULT_STORE_LOG = $(localstatedir)/logs/store.log
|
更改为
DEFAULT_STORE_LOG = $(localstatedir)/log/squid/store.log
|
DEFAULT_PID_FILE = $(localstatedir)/logs/squid.pid
|
更改为
DEFAULT_PID_FILE = $(localstatedir)/run/squid.pid
|
DEFAULT_SWAP_DIR = $(localstatedir)/cache
|
更改为
DEFAULT_SWAP_DIR = /cache
|
DEFAULT_ICON_DIR = $(sysconfdir)/icons
|
更改为
DEFAULT_ICON_DIR = $(libexecdir)/icons
|
我们更改以下文件的默认位置cache.log, access.log,和store.log文件,使其位于/var/log/squid目录。然后,我们将 Squid 的 pid 文件放在/var/run目录,最后,将iconsSquid 的目录放在/usr/lib/squid/icons,使用变量libexecdir如上。