参考linux下基于用户的虚拟主机的设计与实现.docVIP

  • 2
  • 0
  • 约1.88万字
  • 约 47页
  • 2018-06-08 发布于贵州
  • 举报

参考linux下基于用户的虚拟主机的设计与实现.doc

参考linux下基于用户的虚拟主机的设计与实现

一、需求分析: 1 引言 为了使每个学生有一个展示自我的平台,学校在web服务器上开通注册通道,学生可以在网站上注册个人账户,在注册的过程中,可以检测用户名是否已存在。如果存在,则不能注册。用户注册成功后,系统会自动为此用户创建一个系统用户账户,账户名和密码为用户注册时填写的用户名和密码,为了使有限的资源能够充分的利用,学校规定为每个用户分配50M的空间。用户可以使用此用户名和密码通过ssh远程连接进行文件的上传和下载,将个人主页上传到用户自己的web目录,以供互联网用户访问。为了将来系统管理员排错方便,每次建立新用户必须产生一个日志记录。所有新用户的web空间必须单独放置在一个专用磁盘空间中(即使用Vmware新添加一块磁盘)。所有新建用户的个人WEB空间每隔一周自动备份,以备不测之需。 2 运行环境 Linux操作系统,Apache,php 网页浏览器 3 主要功能总体描述 在注册的过程中,可以检测用户名,包含用户名的文件有两个,一个为/ect/passwd,一个为/tmp/userpass,首先检测/etc/passwd文件中的用户名,如果用户输入的用户名在/etc/passwd中存在,则不能注册。如果不存在,则检测/tmp/userpass文件中是否已存在,如果存在,则不能注册,如果不存在,则将用户的用户名和密码追加重定向到/tmp/userpass文件中。安排cron任务,每隔10分钟运行增加用户脚本(add.sh),为/tmp/userpass文件中的注册的用户创建系统用户账户,账户名和密码为用户注册的用户名和密码,为了使有限的资源能够充分的利用,学校规定为每个用户分配50MB空间。用户可以使用此用户名和密码通过ssh远程连接进行文件的上传和下载,并将文件上传到用户自己的目录 4 Index.php流程示意图 该页面为用户注册首页面,程序源码已提供,该文件可以放置在Apache默认的主目录/var/www/html/下,如果Apache支持PHP,即可显示该网页内容。 用户检测shell脚本功能需求 检测用户输入的用户名是否有重名现象,有则返回1,否则返回0(注意:若更改返回参数,必须更改index.php源码中相关代码,建议不要更改)。 需要针对两个文件进行检测:/etc/passwd(系统已存在的用户)和/tmp/userpass(一分钟内其他人注册,但还没有添加到系统中去的账户)。如果上述任何一个文件中发现有与用户输入相同的用户名时,马上返回1。 该shell脚本名字为:check.sh,权限为755。 自动添加用户脚本功能需求 首先检查/tmp/userpass文件,该文件如果为空就不做任何处理,如果非空,就逐行处理其中内容。 逐行读取并处理/tmp/userpass的各行内容,然后向系统中添加相关的账户,并在账户的主目录中创建public_html文件夹(作为用户的web主目录) 每个新注册的用户最大的磁盘使用空间限定在50MB。 每次处理完/tmp/userpass文件以后,清空其中已经处理过的内容。 其他功能需求 系统每隔1分钟执行一次自动添加用户脚本操作。 Vmware中为Linux虚拟机新建一个磁盘,并对其进行分区格式化(要求格式化为ext3文件系统),然后挂载到/home,最后对其启用磁盘配额,最大额度为50MB。 实现过程: 1 环境的搭建与服务器的配置 安装虚拟机与操作系统。此处用的是VMware6.5与Linux操作系统 安装必要软件,包括apache、php。 服务器相关配置。设置防火墙,解除对http、ssh的限制,关闭selinux(会限制访问)。为服务器配置固定IP(此处为21)。在系统服务中,将crond、httpd、sshd设置为开机启动。 2 硬盘挂载与磁盘配额的设置 1、关闭虚拟机,在VMware中添加一块硬盘。点击“VM”—“Settings”—“Add”—“Hard Disk”,根据提示向导添加硬盘 。新建的硬盘,为SCSI,1GB。如下图: 2、启动虚拟机,在linux系统下使用fdisk –l命令查看/dev/sdb是否添加成功,如果成功,则使用fdisk /dev/sdb 命令来为sdb硬盘创建分区。(n-p-1-回车-回车-p-w) 3、为/dev/sdb1分区创建文件系统:mkfs.ext3 /dev/sdb1 4、为了使用/dev/sdb1分区,将其挂载到/home目录下面:mount /dev/sdb1 /home 5、在开机时自动挂载/dev/sdb1,将其记录加入/etc/fstab中。即将下述记录添加到/etc/fstab中 ,命令: vi /etc/fstab /dev/sdb1 /home ext3 defaults,usrquo

文档评论(0)

1亿VIP精品文档

相关文档