本系统的开发要求采用B/S结构,如图1所示。本系统模拟Webmin进行设计与开发。因此,首先了解Webmin的相关功能,结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识选择所熟悉的开发工具进行本毕业设计的开发;在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法;最后,系统开发完毕后,进行调试和测试,做好调试和测试的相关记录。
整个管理系统中,用文件操作模块作为突破口,首先设计整体页面,再写出文件操作部分以深入了解该系统的工作方式及系统的大致面貌,然后设计Shell命令解释与执行部分操作和进程操作部分,继而逐步增加其他的功能与模块,最后对整个系统进行修饰整理,从而完成了该系统。
功能模块的初步设计
1、文件操作
在文件操作模块中可以进行查看文件或目录,新建文件或目录,删除文件或目录,复制文件或目录,编辑文件,上传文件,下载文件等等操作,在此文件操作模块中需对服务器文件或目录属性有一定设置;
2、命令操作
对各种SHELL命令的解释与执行,可执行常用Linux命令,可在此模块中进行进程操作和系统操作等等,注意使用的是Web模式,无法执行交互式Shell命令;
如图5所示,在设计中,使用一个表单获得commond变量,提交给system函数后执行system(“sudo $commond”),并返回结果。
图5 命令操作设计流程
3、进程操作
查看或终止正在运行的进程,查看开启的服务列表(端口号)、对开启服务进行管理、查看当前系统所有正在运行的进程并且可以对进程进行相关操作;
4、系统操作
系统操作中包括:关机或重启、查看系统信息、管理用户和组、管理软件包(如图6);
图6 系统操作模块结构图
如图7,系统操作模块的总体设计跟命令操作中类似,使用表单获取所需运行命令或参数,再提交给system函数执行并返回结果:
图7 系统操作总体流程
1) 关机和重启,可通过管理员点击Shutdown、Reboot按钮,从而调用system函数执行内置的关机、重启命令,也可在表单中输入其他关机或重启命令并运行;
2) 查看系统信息,通过switch判断提交的命令,并调用system函数执行内置命令如uname –a、fdisk –l等,包括查看CPU信息、查看分区信息、查看内核;
3) 管理用户和组,可以查看系统拥有用户和组,并通过简单的表单提交,进行添加、删除用户或组的操作,详见图8;
图8 用户/组管理总体设计图
4) 管理软件包,可以查看系统所有已安装软件包,并输入关键字搜索查看特定软件包,以及根据搜索出的软件包名进行软件包删除操作;
5、网络服务操作
管理Apache服务器,查看并配置Apache服务器状态与参数;
管理DNS服务器,查看并配置DNS服务器参数;
管理MySQL服务器,通过Web进行Mysql服务器的备份等;
管理DHCP服务器,查看网络状态,配置网络参数。