Submitted by admin on 2008, June 6, 12:39 AM
模板制作帮助文档
http://www.dedecms.com/archives/templethelp/help/index.htm
1、默认底层模板
位置: cmspath/templets/system
功能:在没有指定标记的默认底层模板的时候,系统将自动调用这个文件夹的相应文件作为底层模板。
2、插件目录模板
位置: cmspath/templets/plus
功能:评论、友情链接、RSS地图等模板。
3、会员后台模板
位置: cmspath/member/templets
功能:会员后台的模板。
二次开发
DedeCms主要的模板解析类是 include/inc_arcpart_view.php、include/inc_arclist_view.php、include/inc_archives_view.php,这些
类是与pub_dedetag.php一起工作的,如果你想为文档模板、列表模板、板块模板增加一些功能,可以直接修改这几个类的ParseTemplet()或
ParseTempletsFirst()这类的方法,把标记名称,属性对应试相应该的功能函数即时。
Dedecms标记入门(新手必读的模板教程)
http://bbs.dedecms.com/read.php?fid=4&tid=51186
Dedecms模型增加字段教程
http://bbs.dedecms.com/read.php?tid=40780
在网站首页调用显示最新加入企业
http://bbs.dedecms.com/read.php?tid=41172
http://www.yoursite.cn/?action=show&id=189
自定义宏标记的应用
http://bbs.dedecms.com/read.php?tid=23661
添加关键字链接的详细说明以及问题
http://bbs.dedecms.com/read.php?tid=59517
Dedecms默认模板用户评论扩展
http://bbs.dedecms.com/read.php?tid=50280
{dede:arclist}的学习心得,如何调用文章或者软件,你想调用的任何字段[已成功]
http://bbs.dedecms.com/read.php?tid=32358&fpage=3
如何得到当前 文章/栏目 对应的一级栏目id [似乎已解决]
http://bbs.dedecms.com/read.php?tid=1073&
DEDE V5一个简单实现栏目文章数统计的方法
http://bbs.dedecms.com/read.php?tid=61947
function @me用法总结 自定义函数
http://www.yoursite.cn/?action=show&id=187
【SQL标记】推荐会员(带用户头像)调用方法
http://bbs.dedecms.com/read.php?tid=55616
首页调用会员头像排列怎么才能让间隙均衡?
http://bbs.dedecms.com/read.php?tid=59976
【4.0】修改让自定义标记支持position,title
http://bbs.dedecms.com/read.php?tid=15855
技巧和教程帮助文档索引【08.05.13整理】
http://bbs.dedecms.com/read.php?tid=60818
dedecms2007RC1 BUG修正及修改汇总贴
http://bbs.dedecms.com/read.php?tid=39793
php | 评论:0
| Trackbacks:0
| 阅读:1652
Submitted by admin on 2008, June 5, 7:10 PM
放在<body></body>内
<script type="text/javascript">
document.body.oncopy = function () { setTimeout( function () { var text = clipboardData.getData("text"); if (text) { text = text + "本篇文章来源于 XXXXXXXXXXXXX 原文链接:"+location.href; clipboardData.setData("text", text); } }, 100 ) }
</script>
js代码 | 评论:0
| Trackbacks:0
| 阅读:1586
Submitted by admin on 2008, June 4, 3:18 PM
sed -e '编辑指令1' -e '编辑指令2' ... 文件档
其中 , 所有编辑指令都紧接在选项 -e 之後 , 并置於两个 " ' " 特殊字元间。
另外 , 命令上编辑指令的执行是由左而右。
一般编辑指令不多时 , 使用者通常直接在命令上执行它们。例如 , 删除 yel.
dat 内 1 至 10 行资料 , 并将其
馀文字中的 "yellow" 字串改成 "black" 字串。此时 , 可将编辑指令直接在命
令上执行 , 其命令如下 :
sed -e '1,10d' -e 's/yellow/black/g' yel.dat
在命令中 , 编辑指令 '1,10d'(解[5])执行删除 1 至 10 行资料 ; 编辑指令
's/yellow/black/g'(解[6]) ,
2.2.1 位址(address)参数的表示法
实际上 , 位址参数表示法只是将要编辑的资料行 , 用它们的行数或其中的字串
来代替表示它们。下面举几个例子
说明(指令都以函数参数 d(参照[section4.2]) 为例) :
删除档内第 10 行资料 , 则指令为 10d。
删除含有 "man" 字串的资料行时 , 则指令为 /man/d。
删除档内第 10 行到第 200 行资料, 则指令为 10,200d。
执行多个文件档的编辑
在 sed 命令列上 , 一次可执行编辑多个文件档 , 它们跟在编辑指令之後。例
如 , 替换
white.dat、red.dat、black.dat 档内的 "yellow" 字串成 "blue" , 其命令
如下:
sed -e 's/yellow/blue/g' white.dat red.dat black.dat
上述命令执行时 , sed 依 white.dat、red.dat、black.dat 顺序 , 执行编辑指
令 s/yellow/blue/(请参照[section 4.1] ,
进行字串的替换。
对t.txt文件内容前加上#
sed -i -e 's/^/#/' t.txt
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
把config里的enforcing替换为disabled
sed -i -e '/alias vi=vim/d' /root/.bashrc
删除所有含有"alias vi=vim"的行
sed -i -e 's/alias vi=vim//g' /root/.bashrc
替换所有"alias vi=vim"串为空,也即是删除
sed -i "8 s/^/alias vi='vim'/" /root/.bashrc
在第8行增加"alias vi='vim'"
sed -i -e 's/^LANG=.*/LANG="zh_CN.GB18030"/' /etc/sysconfig/i18n
将LANG开头的行替换为LANG="zh_CN.GB18030"
sed -i '205 s#;open_basedir =#open_basedir = /data/www/wwwroot:/tmp#g' /usr/local/Zend/etc/php.ini
把 ;open_basedir = 替换为 open_basedir = /data/www/wwwroot:/tmp
sed -i '205 s#open_basedir = /data/www/wwwroot:/tmp#;open_basedir =#g' /usr/local/Zend/etc/php.ini
linux | 评论:3
| Trackbacks:0
| 阅读:3216
Submitted by admin on 2008, June 4, 1:50 PM
查看分析你的CPU型号:
http://gentoo-wiki.com/Safe_Cflags 查找您的GCC编译参数.
确定系统CPU类型:
cat /proc/cpuinfo | grep "model name"
执行后会看到系统中CPU的具体型号,记下CPU型号。
linux | 评论:0
| Trackbacks:0
| 阅读:1829
Submitted by admin on 2008, June 4, 11:55 AM
SVN是一个版本控制软件,类似CVS,但是SVN的的有点是开源的,而且SVN的版本控制能力比CVS还要强多。
下载:http://subversion.tigris.org
当前稳定版本 http://subversion.tigris.org/downloads/subversion-1.4.6.tar.bz2
安装
tar -zxvf ...
./configure;make;make install
需要安装
http://apache.mirror.phpchina.com/apr/apr-1.2.12.tar.gz
http://apache.mirror.phpchina.com/apr/apr-util-1.2.12.tar.gz
svnserve -d
svnserve -d -r /etc/svn/pro_name //以独立方式启动
建立版本库
svnadmin create pro_name
//存储类型
--fs-type fsfs
--fs-type bdb
配置
修改pro_name/conf/svnserve.conf
anon-access = read
auth-access = write
password-db = passwd
用户密码文件
pro_name/conf/passwd
权限控制
conf/authz
导入
svn import /www/web file:///etc/svn/pro_name
查看
svn list file:///etc/svn/
checkout
svn co file:///etc/svn /www/web
hooks/post-commit
svn update /www/web
客户端安装
http://tortoisesvn.tigris.org
http://tortoisesvn.net/downloads
下载 http://downloads.sourceforge.net/tortoisesvn/TortoiseSVN-1.4.8.12137-win32-svn-1.4.6.msi?download
setup安装即可
中文语言包 http://www.subversion.org.cn/index.php?option=com_weblinks&catid=63&Itemid=99
FAQ
Q:configure: WARNING: APR not found
需安装apr and apr-util
Q:does not appear to be a URL
Subversion控制中文目录的访问权限
方法很简单,就是将权限控制文件(authz)的格式转换为UTF-8格式,
svn对于非英文文件名和目录名使用utf-8格式编码处理,要对中文目录进行正确控制,应该使用无BOM的utf-8格式
将权限文件改成UTF-8格式的办法:使用UltraEdit的菜单"ASCII to UTF-8 (Unicode Editing)"。
关于UTF-8的问题如下:
1 svn不支持微软格式的UTF-8文件,不支持unicode,仅支持标准UTF-8,就是头部有一个 FF FE的文件
2 用微软自带的“记事本”编辑出来的任何unicode格式文件,svn均不认识
3 只要使用了svn 支持的标准UTF-8文件,svn 就可以很好地实现对中文的支持,包括中文用户名、中文目录、中文组名
---------------------------
中文手册 http://svndoc.iusesvn.com/
导入 svn import -m --force-log /www/web/test file:///etc/svn/test
checkout svn co file:///etc/svn/test /www/web/test
修改后 svn update /patch
自动更新
vi post-commit
#!/bin/sh
svn update /www/web/test
应用服务 | 评论:1
| Trackbacks:0
| 阅读:3208
Submitted by admin on 2008, May 30, 6:27 PM
游戏代理VPN
软件:pptp+radius+mysql
平台:linux,可以是各发行版,内核最好是2.6以上的
我的测试平台是RHEL5 beta1,内核 2.6.18-1.2747.el5xen
这个版本有个好处,就是内核已支持MPPE,不用再安装
首先要确定内核是否支持mppe
方法: modprobe ppp-compress-18 && echo ok
如果显示ok,即表示内核已具备了mppe支持
如不支持,需要升级内核以支持mppe
软件下载 http://sourceforge.net/project/showfiles.php?group_id=44827
下载2个rpm包。
dkms-2.0.10-1.noarch.rpm
kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
dkms是一个新的软件,能让你在不编译内核的基础上,外挂一些内核的模块。
kernel_ppp_mppe就是mppe支持的内核模块
OK后最好重起下你的系统
安装pppd
也可以在上面的地址下载,但只可以下载RPM包,最高版本为 ppp-2.4.3-5.rhel4.i386.rpm,也有FC的
源码下载可以到 http://samba.org/ppp/download.html,最新版本为 ppp-2.4.4b1.tar.gz
最新版已支持 mppe,不用再打补丁
如不支持,可以到此下载 http://mppe-mppc.alphacron.de/#AEN56,包括ppp和内核补丁
检查pppd是否支持mppe
[root@localhost]# strings `which pppd`|grep -i mppe|wc --lines
42
结果大于36,即表示支持
解压安装
tar -zxvf ...
configure,make,make install
用 make install-etcppp 来安装范例配置文件
安装pptpd
下载 http://sourceforge.net/project/showfiles.php?group_id=44827
最新版本,源码包的是 pptpd-1.3.4.tar.gz
RPM包的是 pptpd-1.3.3-1.rhel4.i386.rpm,FC6
解压安装 tar -zxvf ...
configure,make,make install
配置
pppd 的配置文件 /etc/ppp
pptpd 的配置文件 /etc/pptpd.conf
在pptpd.conf
localip 10.10.10.1
remoteip 10.10.110.2-100
localip是pptpd的对外服务的ip,也就是客户端需要拨号的ip
remoteip是拨号服务器分配给拨号用户的ip ,可以用-表示ip范围
添加测试用户 /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
test pptpd test *
认证方式设置 /etc/ppp/options.pp
默认就可以用,如果不mppe,或是不用加密,可以在此文件设置
为方便测试,请打开debug和dump调试,并查看/var/log/messages 文件
启动pptpd后,就可以在XP建立连接测试了
以上一个简单的VPN就完成了.
结合radius
软件下载 http://www.freeradius.org
当前最新版本为 freeradius-server-2.0.4.tar.bz2
但与1.X的配置方式上,有比较大的区别.
我开始是用2.X测试的,但没成功,最后用了1.X的.有空再研究2.X的.
解压安装
tar -zxvf ...,configure,make,make install
配置
从pppd的源码目录把下面这个目录复制到/etc/radiusclient/
cp -R ppp-2.4.4b1/pppd/plugins/radius/etc /etc/radiusclient/
修改 options.pptpd
在最后加入
plugin /usr/local/lib/pppd/2.4.4b1/radius.so
配置 /etc/radiusclient中的servers和radiusclient.conf
在servers中,你需要增加一个radiusd的地址和密码
localhost vpn
这里localhost表示你的radiusd就在本机,并且访问的密码是vpn
在radiusclient.conf中 加入
authserver localhost:1812
acctserver localhost:1813
确认上面也是本地的,默认就是本地,所以一般不需要修改。
同时确保这个文件中radiusclient相关的路径所有的路径都是 /etc/radiusclient 开头的。
配置freeradius
在 freeradius/etc/raddb 下
修改clients.conf
这里说明一下,所有的nas都是radiusd的client,nas就是那个pptpd,所以这个文件就是配置pptpd的登陆权限的。
client 127.0.0.1 {
secret = vpn
shortname = mm
nastype = other
}
修改127.0.0.1部分为上面的样子。secret就是我们刚才在/etc/radiusclient中servers里设置的那个。这两个要一致
在users文件的最上面加入一个用户
ww Auth-Type:= MS-CHAP, User-Password=="ww", Simultaneous-Use:=1
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address = 255.255.255.254,
Framed-IP-Netmask = 255.255.255.0
说明一下 ww是用户名
auth-type是验证的类型
第二个ww是密码
Simultaneous-Use是允许这个用户名同时登陆的个数
所有这些都是check属性,要写在第一行
然后第二行开始用tab开头,是服务器返回给radius客户端的(也就是返回给pptpd)时reply属性。
其中ip地址设置为255.255
用debug模式运行radiusd
sbin/radiusd -x
测试,在XP建个VPN连接,用户密码均为 ww
结合mysql
mysql安装略过.
建立一个radius数据库,把结构导入即可
库结构文件在 freeradius16/share/doc/freeradius/examples/mysql.sql
配置sql.conf 在安装目录下的etc/raddb
修改sql.conf的连接信息
# Connect info
server = "192.168.8.53"
login = "radius"
password = "radius"
# Database table configuration
radius_db = "radius"
去掉下面的simul。。。。前面的#
打开sql的用户同时连接数测试的语句
# Uncomment simul_count_query to enable simultaneous use checking
simul_count_query = "SELECT COUNT(*) FROM ${acct_table1} WHERE UserName='%{SQL-User-Name}' AND AcctStopTime = 0"
配置radiusd.conf
注释掉 authorize {
的files
去掉sql前的注释
注释掉 preacct {
的files
注释掉 accounting {
的radutmp
去掉sql前面的#
注释掉 session{
的radutmp
去掉sql前面的#
去掉 post-auth {
sql前的#
总之就是去掉files模块,开启sql模块
在数据库中添加用户
在usergroup中添加一个test用户,组名为vpn
在radgroupcheck中添加一个vpn组,
attribute为Simultaneous-Use
op为:=
value为1
的纪录
在radcheck中添加
username为test
attribute为 User-Password
op为==
value为test
这样就添加了一个用户为test,组为vpn,密码为test
并且所有的组用户的都只能1个用户名登陆一次
测试
用debug模式启动radiusd
应用服务 | 评论:0
| Trackbacks:0
| 阅读:1708
Submitted by admin on 2008, May 30, 6:24 PM
控制整个网段
tc qdisc add dev eth0 root handle 1: htb r2q 1
tc class add dev eth0 parent 1: classid 1:1 htb rate 10kbit burst 10k
tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip dst 10.10.10.0/8 flowid 1:1
linux | 评论:0
| Trackbacks:0
| 阅读:1458
Submitted by admin on 2008, May 29, 9:58 PM
gmake[6]: Leaving directory `/usr/src/freeradius-1.1.7/src/modules/rlm_sqlcounter'
Making install in rlm_sqlippool...
gmake[6]: Entering directory `/usr/src/freeradius-1.1.7/src/modules/rlm_sqlippool'
if [ "xrlm_sqlippool" != "x" ]; then \
/usr/src/freeradius-1.1.7/libtool --mode=install /usr/src/freeradius-1.1.7/install-sh -c -c \
rlm_sqlippool.la /usr/local/freeradius1/lib/rlm_sqlippool.la || exit $?; \
rm -f /usr/local/freeradius1/lib/rlm_sqlippool-1.1.7.la; \
ln -s rlm_sqlippool.la /usr/local/freeradius1/lib/rlm_sqlippool-1.1.7.la || exit $?; \
fi
libtool: install: `rlm_sqlippool.la' is not a valid libtool archive
Try `libtool --help --mode=install' for more information.
gmake[6]: *** [install] Error 1
gmake[6]: Leaving directory `/usr/src/freeradius-1.1.7/src/modules/rlm_sqlippool'
gmake[5]: *** [common] Error 2
gmake[5]: Leaving directory `/usr/src/freeradius-1.1.7/src/modules'
gmake[4]: *** [install] Error 2
gmake[4]: Leaving directory `/usr/src/freeradius-1.1.7/src/modules'
gmake[3]: *** [common] Error 2
gmake[3]: Leaving directory `/usr/src/freeradius-1.1.7/src'
gmake[2]: *** [install] Error 2
gmake[2]: Leaving directory `/usr/src/freeradius-1.1.7/src'
gmake[1]: *** [common] Error 2
gmake[1]: Leaving directory `/usr/src/freeradius-1.1.7'
make: *** [install] Error 2
error | 评论:0
| Trackbacks:0
| 阅读:1553