目标操作系统:Win7下,VM VirtualBox虚拟机安装的Ubuntu Server12.04
无法实现Win7主机与Ubuntu Server(版本12.04)虚拟机之间的文件共享,USB驱动也有问题,所以退而求其次,使用Ubuntu桌面版,版本10.04。
推荐阅读:
CentOS 6.2 编译安装Squid 配置反向代理服务器
编译Squid
准备工作:
下载Squid,版本:3.2.1
建立专用账户:创建名为squid的用户和组,用户目录设为/usr/local/squid。
~$sudo useradd –d /usr/local/squid –m –G vboxsf -U squid
~$ passwd squid (设置新用户的口令)
-G是将新用户加入vboxsf组,以便获取读取共享文件夹(/media/sf_S~)的权限。
按照文档‘Compiling Squid’的提示首先解决包依赖关系:
~$sudo apt-get build-dep squid3 #解决编译源码 package 的依赖关系
此间如果出错(获取一些包失败),可能是有些日子没有用虚拟机了,执行如下命令:
~$sudo apt-get update #更新软件包下载源
然后再执行‘~$sudo apt-get build-dep squid3’,注意不要安装squid3的二进制代码包。
su为用户squid并从共享文件夹拷贝squid的源文件到目录 /usr/local/squid/src中,用如下命令进行解压:
~$tar xzf squid-3.0.STABLE26.tar.gz
~$cd /usr/local/squid/src/squid-3.0.STABLE26/
~$./configure [options] #选项参见下面的说明
~$make #一次性通过!
~$make install #涉及到权限问题,将squid用户加入sudo组,然后执行:
~$sudo make install #OK!
由于此处执行命令时切换到了root账户,所以后面运行时会碰到许多的权限设置问题。
配置Squid
根据Squid网站文档,安装完毕后的目录结构如下:
实际上不是,真实情况是(squid版本3.0):
配置文件目录:/etc/squid/
图标文件目录:/share/squid/icons/
可执行文件目录:/usr/sbin/
可执行文件目录-2:/usr/bin/
库文件目录:/lib/squid/
日志目录:/var/logs/
Setting Squid's HTTP Port
保持默认值不变,3128。
http_port 3128
Where to Store Cached Data
默认系统缓存目录为 /usr/local/squid/cache,我在安装squid 3.0后实际缓存目录位于 /var/cache
cache_dir /var/cache 100 16 256
配置文件中目录确实为‘/var/cache’,没有作更改,保持默认值,默认值的含义可以随便在网上搜索可知。
Logging
默认不变:
access_log /var/logs/access.log squid
Effective User and Group ID
运行时的用户和组ID,启动时一般都是root,为安全起见,运行时改变之,我均设置为squid。
cache_effective_user squid
cache_effective_group squid
Access Control Lists and Access Control Operators
允许局域网(192.168.1.*)内的所有主机访问(注意:这里的地址与你网络的配置密切相关):
acl localnet src 192.168.1.0/255.255.255.0
http_access allow localnet
icp_access allow localnet
其它配置参数
保持默认值不变。
运行Squid
运行如下命令启动squid:
~$/usr/sbin/squid –N –d 1