息
directory 指定log文件存放的位臵
pattern 有两个值,common方式记录远程主机名或ip地址,用户名,日期,第
一行请求的字符串,HTTP响应代码,发送的字节数。combined方式比common方式记录的值更多
5 WEBMIN安装配臵: Webmin是linux上的一个Web界面的系统管理工具,目前其功能越来越完善,公司目前产品的配臵界面也越来越多的使用到Webmin,所以这里专门写一下webmin的使用。
5.1 WEBMIN安装:
Webmin的安装文件为:webmin-lite.tar.gz,当然你可以到相关网站去下载完整的webmin文件,但在公司产品使用webmin时为了更精简,庄昱尧对其进行裁剪为webmin-lite.tar.gz文件,下面以此为例(当然安装方法也适用于完整的版本)。
1. 制作自启动脚本(为了每次linux启动都可以自启动),如下: #文件名为webmin;内容如下: #!/bin/sh
# description: Start/stop Webmin # chkconfig: 2345 99 99
case \'start')
/etc/webmin/start >/dev/null 2>&1
if [ \
上海格尔软件股份有限公司
上海市北京西路1399号建京大厦5楼 Tel: (86-021) 62891100 Fax: (86-021) 62892215 URL: http://www.koal.com
16
fi ;;
touch /var/lock/subsys/webmin
'stop')
/etc/webmin/stop RETVAL=$?
if [ \ fi ;; 'status') pidfile=`grep 's/pidfile=//g'` if [ -s $pidfile ]; then fi ;; 'restart')
上海格尔软件股份有限公司
上海市北京西路1399号建京大厦5楼 Tel: (86-021) 62891100 Fax: (86-021) 62892215 URL: http://www.koal.com
17
rm -f /var/lock/subsys/webmin
\/etc/webmin/miniserv.conf | sed -e
pid=`cat $pidfile`
kill -0 $pid >/dev/null 2>&1 if [ \ fi
echo \RETVAL=1
echo \RETVAL=0
echo \RETVAL=1
else
else
/etc/webmin/stop && /etc/webmin/start RETVAL=$? ;; *)
echo \ RETVAL=1 ;; esac exit $RETVAL
2. 安装过程:
#复制写好的webmin文件到启动目录:webmin脚本拷贝到以上目录下,以备webmin服务自启动之用 cp webmin /etc/rc.d/init.d chmod +x webmin cp webmin-lite.tar.gz / cd /
tar zxvf webmin-lite.tar.gz cd /usr/local/webmin-1.070 ./setup.sh
# 编辑/etc/rc3.d/S99local文件,加入一行启动脚本 vi /etc/rc3.d/S99local
/etc/rc.d/init.d/webmin start 这样就可以自启动了
5.2 Webmin使用:
Webmin管理缺省使用9898端口,username:admin;passwd:admin (注:未经裁剪的webmin缺省是采用10000端口)
上海格尔软件股份有限公司
18
上海市北京西路1399号建京大厦5楼 Tel: (86-021) 62891100 Fax: (86-021) 62892215 URL: http://www.koal.com
5.3 使用SSH加密webmin通讯:
你可以用SSH的“端口转发”对它进行加密:
ssh -f -l [remote user name] [remote host] -L 1234:[remote host]:10000 tail -f /etc/motd
把浏览器指向
http://localhost:1234
e.g:(在下一次升级文档中,将对此ssh使用方法提够更详细的经实践的范例)
5.4 webmin技术精要:内部结构
剖析Webmin 的内部结构,解开 Webmin的安装包,可以发现Webmin 的目录的组成如下:
一组子目录,很显然这些子目录绝大多数都是一个Webmin 管理模块,而且可以看出Webmin完全由 perl实现;一组perl脚本和几个CGI 脚本,这些脚本可以分为三类: 1. 内臵的HTTP服务器:
它支持 CGI,Session 和SSL等功能。Miniserv.pl 和miniserv.pem实现了这个 HTTP服务器。
它的配臵文件通常是/etc/webmin/miniserv.conf, 它主要有如下几个重要参数:参数及缺省值。说明如下:
port=10000 设臵 HTTP服务器监听的端口; root=/usr/libexec/webmin Web 文件的根目录;
ssl=0 是否支持 SSL,如果设臵为1 ,这个HTTP服务器将提供HTTPS 服务; session=1 是否支持 Session,如果设臵为1 ,在访问Web服务之前必须先 完成用户登录和认证,用户的登录和认证由 session_login.cgi实现 ; userfile=/etc/webmin/miniserv.users 存放 HTTP服务器的用户名和密码;changepass.pl 可以修改用户密码;
keyfile=/etc/webmin/minserv.pem 存放 HTTP服务器的私钥和公钥证书。
上海格尔软件股份有限公司
上海市北京西路1399号建京大厦5楼 Tel: (86-021) 62891100 Fax: (86-021) 62892215 URL: http://www.koal.com
19
2. Webmin 核心:
这部分包括Webmin核心库、 Webmin的首页和模块管理。
Web-lib.pl 是Webmin的核心库,包含了 Webmin中主要的公用函数。Web-lib.pl 中会引用了一些CGI提供一些公用功能,这些 CGI包括:
chooser.cgi 文件选择 Frame ; date_chooser.cgi 日期选择 Frame ; config.cgi 配臵模块配臵文件页面 ; config_save.cgi 保存配臵; help.cgi 帮助页面 ;
fastrpc.cgi 启动一个新进程以加快 rpc的调用;
rpc.cgi 用于截获其他 Webmin服务器发来的Webmin 远过程调用; referer_save.cgi Redirect 到以前的URL ; user_chooser.cgi 用户选择 Frame; switch_user.cgi 切换用户;
switch_skill.cgi 改变当前 Webmin用户的Skill level; acl_security.cgi 配臵全局 ACL选项 ;
index.cgi 实现Webmin的首页,它将当前用户可以使用的管理模块按类别分为一个属性页显示;
Install-Module.pl 用于从命令行安装一个Webmin的管理模块。它调用了 copyconfig.pl和perlpath.pl 。 3. 安装脚本:
这些脚本用于安装配臵Webmin。Setup.pl是主要的配臵脚本,它调用如下脚本:
newmods.pl 用于初始化一个新插入模块的配臵文件;
oschooser.pl 选择操作系统类型; copyconfig.pl 给管理模块复制配臵文件; thirdparty.pl 检查已经安装的模块;
上海格尔软件股份有限公司
上海市北京西路1399号建京大厦5楼 Tel: (86-021) 62891100 Fax: (86-021) 62892215 URL: http://www.koal.com
20