Lighttpd开启/关闭目录浏览

原文地址:http://hi.baidu.com/panzhiqi/blog/item/3e66abad0d489d0c4a36d624.html

相当于apache 中的 Options Indexes功能
编辑 lighttpd.conf

  1. 开启所有目录的目录浏览
dir-listing.activate = "enable"
  1. 开启特定目录的目录浏览
$HTTP["url"] =~ "^/upload($|/)" {
dir-listing.activate = "enable"
}
  1. 开启所有目录,关闭特定目录的目录浏览
dir-listing.activate = "enable"
$HTTP["url"] =~ "^/www($|/)" {
dir-listing.activate = "disable"
}

在CentOS上安装NetworkManager-pptp

嗯,因为换了CentOS,所以在设置VPN的时候也出问题了,发现根本没有添加VPN的选项(Ubuntu在这方面做的好多了),于是上网各种查。

得到的参考有很多,不过都说到了一个软件包 NetworkManager-pptp

这个就是关键了

找遍了Google,大多数教程都指向一个网址“”,结果一查询,发现根本没有这个域名……真是坑爹啊。

最后还有老实人好,有个博客指出了一个可用的ftp服务器“ftp://mirror.switch.ch/“,还是找到了想要的软件包。

装完  NetworkManager-pptp之后,重启(不知道为何,我装了很多东西都要重启)就能在网络管理器那里添加pptp的VPN了。

因权限造成lighttpd无法启动

最近不知道为什么lighttpd又跑不动了(当然不是VPS上的,而是路由上的) ,运行

lighttpd -f /etc/lighttpd/lighttpd.conf -D

得到了下面这堆奇怪的结果

2012-3-20 13:55:54: (log.c.172) server started
2012-3-20 13:55:54: (mod_fastcgi.c.1087) the fastcgi-backend /usr/bin/php-fcgi failed to start:
2012-3-20 13:55:54: (mod_fastcgi.c.1091) child exited with status 13 /usr/bin/php-fcgi
2012-3-20 13:55:54: (mod_fastcgi.c.1094) If you're trying to run your app as a FastCGI backend, make sure you're using the FastCGI-enabled version.
If this is PHP on Gentoo, add 'fastcgi' to the USE flags.
2012-3-20 13:55:54: (mod_fastcgi.c.1398) [ERROR]: spawning fcgi failed.
2012-3-20 13:55:54: (server.c.928) Configuration of plugins failed. Going down.

接着就无法启动了……

我擦勒,不带这样玩的啊喂,这种莫名其妙的东西是什么啊,到底是什么问题你说一下啊。不得已,只得在网上不断的搜索,都没有相关的资料……最后从某个英文的网站找到了一个指引(明灯啊!)strace

大概是一个调试的东东,在opkg的info里面的介绍是“A useful diagnostic, instructional, and debugging tool. Allows you to track whatsystem calls a program makes while it is running.”

接着我根据那位大神所说的,运行了一次

strace -ff lighttpd -D -f /etc/lighttpd/lighttpd.conf

结果出来了一大串一大串文字,刷屏了,而且看不到头。不过看到了一个很重要的信息

运行/usr/bin/php-fcgi的时候出现了“permission denied”。嗯?有问题?权限的话是755,应该没问题啊,尝试直接用root来运行lighttpd,报告说不能用root来运行。于是又新建了一个www-data的用户来运行,在用su切换账户的时候发现问题了。这个问题之前也提到过,于是就顺手改了过来。接着切换过去一运行/usr/bin/php-fcgi,没问题了。再运行lighttpd,也没问题了……

这可真蛋疼啊,明明之前的版本都可以直接用其他用户来运行的,现在的话还有自己动手。

在CentOS上使用RPMforge

嗯,最近在尝试win8之后打算卸掉呢,再考虑到一直都是玩debian系的Linux,就手痒装了个CentOS

只是CentOS的软件库不是很大,于是需要点第三方源,比如说RPMforge

 

参考:在CentOS 6上使用RPMforge安装源(软件仓库)


导入DAG GPG密钥:

rpm --import 

下载并校验RPMforge软件包:

# 以下地址适用于CentOS 6,其他版本请参考官方文档
# 如果是i686系统,请wget下面地址的RPM包
wget 
# 如果是x86_64系统,请wget下面地址的RPM包
wget  
rpm -K rpmforge-release-0.5.2-2.el6.rf.*.rpm

校验完毕后,使用下面的命令安装:

rpm -i rpmforge-release-0.5.2-2.el6.rf.*.rpm

接着就是安装软件了。

proftpd:无法启动

嘛……因为新买了的路由只有trunk版,可是trunk版并没有vsftpd,只有proftpd,这下子麻烦了,又要重新接触一个新的软件……嘛,就稍微研究了一下。

继续上参考:

http://www.deepvps.com/proftpd-failed-to-start.html

——————————————————————————-

愚蠢的proftpd啊,居然连自动分析IP都不能,如果没有在配置文件里面写上IP的话就死活不能启动 (= =b),真是够愚蠢的。

如果出现了

- warning: unable to determine IP address of 'OpenWrt'
- error: no valid servers configured
- Fatal: error processing configuration file '/etc/proftpd.conf'

之类的文字,就在配置文件里面加上服务器的IP吧

DefaultAddress 192.168.11.1

之后就能成功启动了

结果最后发现该死的,编译的时候没有加入语言支持,最后不得不放弃这软件,投入pure-ftpd的怀抱…

su: /bin/sh: Permission denied

嗯,出现这个问题好几次了,于是就稍微记录一下。

参考:http://sunrenen.iteye.com/blog/796187

 

出现这个问题的原因是切换过去的那个账户无法访问某些文件,包括

/
/bin/sh
/lib/ld-***.so

这堆文件都能被访问,问题就没问题了~

chmod 755 /bin /sbin /lib

为luci添加HTTPS验证

嘛~是因为准备做来练练手什么的,于是我就弄出来了。

以下是参考书:
http://www.chinaunix.net/jh/6/16469.html

成品:

到Luci的安全连接

到Luci的安全连接

 

要求的软件包:
openssl-util
luci-ssl
uhttpd-mod-tls

切换目录到/etc/ssl/certs
———————————————–开端的分割线————————————————-
首先,是创建自己的证书:

openssl genrsa -out ca.key 1024

openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

*这里需要输入信息
Country Name: CN 两个字母的国家代号
State or Province Name: GuangDong 省份名称
Locality Name: GuangZhou 城市名称
Organization Name: Family Network 公司名称
Organizational Unit Name: Home 部门名称
Common Name: Ferrets 你的姓名
Email Address: Ferrets@live.cn Email地址
得到ca.crt
这是CA证书,添加到“受信任的证书颁发机构”,或是“受信任的发布者”,以信任自己所颁发的证书

 

openssl genrsa -out server.key 1024

 得到密钥

openssl req -new -key server.key -out server.csr

这是证书签署请求,在自己签署之后可以删掉

 

接下来是签署(sign.sh)

上面是一个sign.sh的脚本,用来签署证书,请放到/etc/ssl/certs,加上可以运行的属性。

./sign.sh server.csr

然后就是确认信息,确认添加数据到数据库(虽然我不知道用不用的上)

得到server.crt
这是服务器证书,添加到“个人”,以信任自己的网站。

————————————————承上启下的分割线———————————————–
接下来是启用这个自己签署的证书了。
在装上luci-ssl和uhttpd-mod-tls之后,uhttpd应该就可以监听443端口了。
修改“/etc/config/uhttpd”
找到“option cert” 修改后面的值为“/etc/ssl/certs/server.crt”
找到“option key” 修改后面的值为“/etc/ssl/certs/server.key”
*这里要注意一下,如果你没有ipv6的路由的话就不要监听[::]:443,会找不到的,监听0.0.0.0:443
保存,重启uhttpd。
————————————————华丽谢幕的分割线————————————————
接下来,请尝试用https来访问自己的路由吧~

OpenWRT上使用macvlan

这个东西是多拨的基础,嗯,虽然我对多拨没有兴趣,但是对这个单线多WAN的技术相当感兴趣,于是稍微研究了一下,折腾了一阵子终于成功了。

参考:

使用macvlan+multiwan 单线多拨 教程 

 

首先,安装软件包:

opkg install kmod-macvlan

会顺便装上另外一些基础包。

然后就是创建虚拟的物理网卡

ip link add link eth1 eth2 type macvlan

ifconfig eth2 hw ether 00:11:22:33:44:55

ifconfig eth2 up

注意上面的eth1对应你打算创建虚拟网卡的物理网卡(就是插着线的个网卡),eth2是新建的虚拟网卡,当然你也可以写成eth3,eth4等,就看你建多少个网卡了。

因为每次重启这个虚拟的网卡都会消失,所以就把自己写的命令加到/etc/rc.local里面去,以便每次启动就自动加载。

接下来就是新建wan口的事情了,比较推荐在luci下操作,因为比较直观,如果想靠命令行的话,就手动修改/etc/config/network,按照以下格式增加wan口。

wan口使用dhcp获得地址:

config ‘interface’ ‘wan2’

option ‘ifname’ ‘eth2’

option ‘proto’ ‘dhcp’

或者是用静态IP:

config ‘interface’ ‘wan2’

option ‘ifname’ ‘eth2’

option ‘proto’ ‘static’

option ‘ipaddr’ ‘192.168.1.51’

option ‘mask’ ‘255.255.255.0’

option ‘gateway’ ‘192.168.1.1’

option ‘dns’ ‘192.168.1.1’

或者是pppoe

config ‘interface’ ‘wan2’

option ‘ifname’ ‘eth2’

option ‘proto’ ‘pppoe’

option ‘username’ ‘username’

option ‘password’ ‘password’

option ‘defaultroute’ ‘1’

option ‘peerdns’ ‘1’

呵呵~想想我们学校……啧~刚好入手一只WZR-HP-AG300H,千兆网口什么的完全不能发挥作用啊,干脆就建10个wan好了~

一直以来藐视Samba是我的错

不知为何,一直以来都不怎么喜欢Samba的文件管理方式,直到昨天,多手把luci-app都装了一遍,其中有个Samba,就用上了。

在Windows上访问了一次之后,我擦嘞,居然可以直接打开!不用缓存!直接看在U盘上的视频完全不是问题啊。下载到电脑之后再看什么的弱爆了!

于是果断把移动硬盘换上去,啧,直接看自动硬盘上的300G资源啊,爽!

不过由于自动硬盘的格式是ntfs,用ntfs-3g挂载之后访问是没什么问题,不过太吃CPU了啊,而且似乎挂500G的移动硬盘还是有点吃力,看视频会卡,不知是无线的问题还是CPU的问题,以后再研究。

原来自己无知的东西还有很多啊。