几乎所有的发行包都带有imap服务器软件(一般是华盛顿大学版本),最好的办法是用你的发行包安装IMAP服务器。事实上,我个人觉得IMAP服务器很少被使用。下载最常规的IMAP服务器源码地址是:ftp://ftp.cac.washington.edu/imap/imap.tar.Z
tar zxvf imap.tar.Z cd imap-2001a make slx
(如果不行依次试验一下其他你觉得可能的系统类型,用vi看一下Makefile中列的名称)
然后配置/etc/inetd.conf,让inetd允许imap服务。[本节内容没有试验成功,编译总是过不去]
(8)安装squid服务器
SQUID是一个优秀的代理服务器软件,它可以很灵活的被配置为各种应用形式,其中包括正向代理,反向加速模式和透明代理等。但是SQUID目前只能代理HTTP协议,代理FTP协议需要配置浏览器仿真主动FTP协议。下面的步骤是安装SQUID的过程。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/linux/)1、下载反向代理服务器软件采用squid,下载地址:http://www.squid-cache.org/
下载后存放在/usr/local/src目录里,文件名是squid-2.4.STABLE2-src.tar.gz
2、tar zxvf squid-2.4.STABLE2-src.tar.gz 解压缩
3、cd /usr/local/src/squid-2.4.STABLE2 进入目录
4、./configure --prefix=/usr/local/squid --enable-heap-replacement --disable-internal-dns建立环境,把squid安装/usr/local/squid中。第二个参数是指定使用更先进的缓冲算法。第三个参数是取消内部DNS解析(如果使用在远程高速缓存模式,比如GSLB,需要增加选项:--disable-internal-dns,目的是关闭内部DNS.否则内部DNS不理睬你在etc/hosts中的设定,直接寻找域名服务器,这样就会造成转发循环。就是cache发送给物理服务器的更新请求(因为用域名)也会被用户的GSLN设备解析回来而形成循环。)
5、make 开始编译
6、make install 安装到刚才--prefix=指定的路径当中
7、安装完成后,会在您指定的安装路径里产生一个squid目录,squid目录下有四个目录:bin/ etc/ libexec/ logs/。其中etc里面是配置文件,bin里面是执行文件,logs里面是日志文件。
8、安装结束后就是调试服务器,使其按照您的要求工作。Squid的配置文件只有一个,在etc目录里,名字是squid.conf,所有的配置选项都在这个文件里面。而且每个配置项目都有注释说明。首先,在squid文件里面找到下列配置项:
cache_mem ---这里可以添上您准备给squid作为高速缓存使用的内存大小。注意,如果您的机器有N兆内存,那么,推荐您在这里添的数字是N/3。
cache_dir /usr/local/squid/cache 100 16 256 这里的第一个数字100是您准备给squid作为cache使用的硬盘空间大小,单位是兆。如果您想划100M空间当作cache,那么这里就写100。
cache_mgr webmaster@test.com.cn这里填写cache管理员的Email地址,系统出错会自动提醒cache管理员。
cache_replacement_policy和memory_replacement_policy的参数由于使用了--enable-heap-replacement编译参数,就不能使用缺省的lru算法了,你可以在下列三种里面选一个:
heap GDSF : Greedy-Dual Size Frequency
heap LFUDA: Least Frequently Used with Dynamic Aging
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/linux/)heap LRU : LRU policy implemented using a heap
例如:
cache_replacement_policy heap LRU memory_replacement_policy heap LRU
下面设定ACL访问控制列表:为了简单起见,我们在这里开放所有的权限。ACL分为两个部分:ACL定义部分,和http_access部分。在access_http部分用到前面的定义。前面定义了:
acl all src 0.0.0.0/0.0.0.0
我们注释掉所有的http_access行加一句:
http_access allow all ---注意:all是前面acl定义的。
这样就开放了所有的权限。以后有需要的,再继续往上加各种限制即可。
9、以root身份创建组nogroup :
%su root (如果当前不是root) #groupadd nogroup #useradd nobody (如果没有这个用户)
10、进行目录/usr/local ,以root身份执行下面的命令,改变整个Squid目录的所有者为nobody.nogroup