Chinaunix首页 | 论坛 | 博客
  • 博客访问: 311636
  • 博文数量: 42
  • 博客积分: 451
  • 博客等级: 下士
  • 技术积分: 890
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-03 18:24
文章分类

全部博文(42)

文章存档

2015年(1)

2013年(9)

2012年(19)

2011年(13)

分类: 系统运维

2012-08-16 09:58:14

时隔一年,又要在webmin上做开发了。盗窃一句很文艺很文艺的话,作为开场白:人生一场虚空大梦,韶华白首,不过转瞬,惟有天道恒在,往复循环,不曾更改。

# pwd
/usr/libexec/webmin/cdpschedule
# ls
cdpschedule-lib.pl  index.cgi  lang  module.info

制作模块,需要三个文件:cdpschedule-lib.pl  index.cgi  module.info,以及一个文件夹:lang。其中module.info这个文件是必须要有的,保存模块的元数据信息(以CDP Schedule为例):

# cat module.info
name=cdpschedule  
desc=CDP Schedule  #在webmin页面中显示的名字
category=          #类型(表明在webmin网页中,它会被放在哪个种类之下)
osnreorder=4       #序号(在某个种类下,它排在第几个位置)
depends=1.48
module.info可以从其他模块复制过来,做一些修改即可。

其他文件(夹)的作用:
index.cgi:点击页面左边的“模块”时,页面右边显示的界面。可以在此文件中通过perl代码访问其他CGI文件。
cdpschedule-lib.pl:在此文件中定义一些函数,供index.cgi或其他cgi文件调用
lang文件夹:用于I18N,即国际化,存放webmin界面显示文字的各国版本。

开始制作模块。
如果只是想添加一个新模块,其他功能先不谈,则只需要module.info一个文件即可。此时/usr/libexec/webmin/cdpschedule文件夹下只有module.info一个文件。
# pwd
/usr/libexec/webmin/
# tar -zcvf cdpschedule.wbm.gz cdpschedule/  #将cdpschedule文件夹打包成cdpschedule.wbm.gz
# ./install-module.pl cdpschedule.wbm.gz #安装模块
安装完成。此时可以查看webmin左侧,是否有新模块“CDP Schedule”。

troubleshooting:
如果查不到新模块,做以下操作:
1、# rm -f /etc/webmin/module.infos.cache  # 删除缓存文件
2、编辑/etc/webmin/webmin.acl文件,将你的模块名称添加进你的webmin用户所在行。注意:模块名称,为文件夹名称,此例中为“cdpschedule”,而不是module.info中的“name”或“des”所对应的值。
阅读(4082) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~