Category: Linux

给Squid添加密码验证

在Linux上配置代理服务squid也不止一次两次了,每次查文献怪麻烦的,在这里记录一下。

安装基本squid服务我就不说了,网上多得是。要加密码验证的话需要一个包,我安装Apache 2以后系统里就会有了。

建立一个新密码文件,然后确认一下它的属性。

touch /etc/squid/squid_passwd
chmod o+r /etc/squid/squid_passwd

然后建立一个新用户

sudo htpasswd /etc/squid/squid_passwd test

然后在/etc/squid.conf下加入:

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd

在acl那堆配置里最后一行加入

acl ncsa_users proxy_auth REQUIRED

在http_access那堆里最上一行加入

http_access allow ncsa_users

Arch Linux更新快,好是好,就是很多时候造成不必要的麻烦。像是这个星期,星期五为了安装一个软件升级了一下,做了一次pacman -Syu,结果他给我安了Python2.6(好像是)。

首先是进了系统特别慢,然后Avant-window-navigator不工作了,stack plugin显示不出来,awn-manger不能运行。命令行下检查会发现是因为libpython2.5.so.1.o找不到了,这个倒是简单,我用一个蠢办法:

cd /usr/lib
sudo ln -s libpython2.6.so.1.0 libpython2.5.so.1.0

就混过去了。然后系统还是慢,时钟加载不成功,nautilus不停的重启。后来发现是scim-python惹的货, 只好把.xprofile重新命名,然后把scim -d从session里去掉。我认为应该把scim-python重新编译一下才能解决这个问题,结果yaourt就是不能用了,打完了命令就停在那里。在搜索的时候终于发现,原来是archlinux.org给掉了,不知道什么原因,所有archlinux.org结尾的网站,wiki,bbs都down了。怪不得yaourt不能用,主机都连不上,怎么更新。不过pacman用的是镜像所以没问题。反正我也是没法子,就索性不用中文了。结果今天archlinux好了还是不成,编译出现问题,把PKGBUILD里的python2.5改成python2.6,然后才编译成功。结果用起来还是不行,加载scim的时候显示

/usr/share/scim-python/engine/PinYin/ZhengJu.py:38: DeprecationWarning: the sets module is deprecated
from sets import Set as set
/usr/share/scim-python/engine/PinYin/ZhengJu.py:39: DeprecationWarning: The popen2 module is deprecated. Use the subprocess module.
import popen2

妈的,今天实在没时间搞这个了,只有改天再整了。刚刚看了一个Django上出现这个问题的相同解决方法。只好用python-pinyin了。

后记:scim python-pinyin是可以用的,就是我的fitx不能用了。

话说今天重新更新系统后,终于又进入了久违的桌面,但是发现以前一直正常的scim突然不能用了。检查了etc/gtk-2.0下得文件,还有用户目录下得.xinitrc,应该都没问题。在终端下输入export,发现.xinitrc里的东西根本没有被执行,怎么回事不知道。

后来看论坛和wiki上说gdm不会读.xinitrc,应该用.xprofile代替,抱着试试看的心理把.xinitrc里关于scim的东西移到.xprofile里。重启Gnome,居然成功了。

#SCIM
export LC_CTYPE=”en_US.utf8″
export XIM=”SCIM”
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE=scim
export QT_IM_MODULE=scim
scim-d

如果你也和我一样用gdm作为窗口管理器的话(其实kdm也是这样),试着把scim移到.xprofile里吧。