《嵌入式Linux设计方案与开发》课程设计方案_第1页
《嵌入式Linux设计方案与开发》课程设计方案_第2页
《嵌入式Linux设计方案与开发》课程设计方案_第3页
《嵌入式Linux设计方案与开发》课程设计方案_第4页
《嵌入式Linux设计方案与开发》课程设计方案_第5页
已阅读5页,还剩20页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE21-大庆师范学院《嵌入式Linux设计与开发》课程设计报告题目:简易web服务器的搭建专业班级:2010级嵌入式选课组(三班)设计者:王堃(201001041095)指导老师:董雷刚设计时间:2012-2013—11设计任务及要求为了使每个同学有一个展现自我的平台,学校在web服务器上开通注册通道,同学可以在网站上注册个人账户,在注册的过程中,可以检测用户名是否已存在。如果存在,则不能注册。用户注册成功后,系统会自动为此用户创建一个系统用户账户,账户名和密码为用户注册时填写的用户名和密码。为了使有限的资源能够充分的利用,学校规定为每个用户安排50M的空间。用户可以使用此用户名和密码通过ssh远程连接进行文件的上传和下载,将个人主页上传到用户自己的web名目,以供互联网用户访问.为了将来系统管理员排错便利,每次建立新用户必须产生一个日志记录.全部新用户的web空间必须单独放置在一个专用磁盘空间中(即使用Vmware新添加一块磁盘)。全部新建用户的个人WEB空间每隔一周自动备份,以备不测之需。在注册的过程中,可以检测用户名,包含用户名的文件有两个,一个为/ect/passwd,一个为/tmp/userpass,首先检测/etc/passwd文件中的用户名,如果用户输入的用户名在/etc/passwd中存在,则不能注册.如果不存在,则检测/tmp/userpass文件中是否已存在,如果存在,则不能注册,如果不存在,则将用户的用户名和密码追加重定向到/tmp/userpass文件中.支配cron任务,每隔10分钟运行增加用户脚本(add.sh),为/tmp/userpass文件中的注册的用户创建系统用户账户,账户名和密码为用户注册的用户名和密码,为了使有限的资源能够充分的利用,学校规定为每个用户安排50MB空间。用户可以使用此用户名和密码通过ssh远程连接进行文件的上传和下载,并将文件上传到用户自己的名目。2设计原理及流程图Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“apatchyserver”的读音,意思是布满补丁的服务器,由于它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简洁、速度快、性能稳定,并可做代理服务器来使用.所谓的虚拟主机服务就是指将一台机器虚拟成多台WEB服务器。举个例子来说,一家公司想从事供应主机代管服务,它为其它企业供应WEB服务。那么它肯定不是为每一家企业都各筹备一台物理上的服务器,而是用一台功能较强大的大型服务器,然后用虚拟主机的形式,供应多个企业的WEB服务,虽然全部的WEB服务就是这台服务器供应的,但是让访问者看起来却是在不同的服务器上获得WEB服务一样。简略地说,就是,我们可以利用虚拟主机服务将两个不同公司www.company1。com与wpany2.com的主页内容都存放在同一台主机上。而访问者只需输入公司的域名就可以访问到它想得到的主页内容.用Apache设置虚拟主机服务通常可以采纳两种方案:基于IP地址的虚拟主机和基于名字的虚拟主机,本设计采纳的是其次种设计方案。图13程序设计1、配置虚拟机的网络#ifconfigeth0192.168.92.128netmask255.255.255.0up#vi/resolv(添加:searchlocaldomain,nameserver192。168.92.2)#routeadd–net0。0.0。0/0gw192.168。1.1#pingwww.baidu.com(可以连接)2、安装相关套件(1)安装apache图2如果不显示则表示没安装进行下边的动作即可安装成功:图3(2)安装php图4如果不显示则表示没安装进行下边的动作即可安装成功:图5(3)安装mysql图6如果不显示则表示没安装进行下边的动作即可安装成功:图7(4)、设置磁盘配额与挂载:A、关闭虚拟机,在VMware中添加一块硬盘。点击“VM"-“Settings"-“Add"-“HardDisk",依据提示向导添加硬盘B、启动虚拟机,在linux系统下使用fdisk–l命令查看/dev/sdb是否添加成功,图8如果成功,则使用fdisk/dev/sdb命令来为sdb硬盘创建分区。(n-p-1—回车-回车—p—w)图9C、为/dev/sdb2分区创建文件系统:mkfs.ext3/dev/sdb2图10D、为了使用/dev/sdb1分区,将其挂载到/home名目下面:mount/dev/sdb2/home图11E、在开机时自动挂载/dev/sdb2,将其记录假如/etc/fstab中。图12F、使用mount-oremount/home重新加载/home分区.图13G、使用mount查看分区情况./dev/sdb1on/hometypeext3(rw,usrquota,grpquota)H、重新启动电脑图14I、创建磁盘配额quotacheck-avug图15J、开启quot图16K、设置模版配额用户(用于新加用户的配额限制)图17(5)、个人空间页面的设计和注册页面的设置首先设置虚拟主机:图18做如下几行的设置:打开虚拟主机图19创建虚拟主机对应ip以及域名,其中www.shenqing.com为域名申请页面www.wethnicity.com为一个个人域名图20First:设置注册页面创建文件夹图21进入到该名目先图22编辑注册页面图23代码如下:〈!DOCTYPEhtmlPUBLIC"—//W3C//DTDXHTML1.0Transitional//EN""http://www.w3。org/TR/xhtml1/DTD/xhtml1-transitional。dtd"><htmlxmlns="http://www。w3.org/1999/xhtml”><head〉〈metahttp—equiv="Content—Type"content="text/html;charset=utf—8"/〉<title>UserRegister</title〉</head>〈bodystyle=”font-size:28px;">〈formaction="./index.php"method="post”name="info”><tablewidth="640"border=”15"align="center"bgcolor="#3399FF”〉<tr〉<tdcolspan="2”align=”center”>NewUser</td></tr>〈tr><td〉Name:</td〉〈td><inputtype="txt"name=”user_name"/>〈/td>〈/tr>〈tr><td〉Password:〈/td〉〈td〉<inputtype="password”name=”user_pwd"/></td></tr〉〈tr>〈tdcolspan="2”align=”center">〈inputname="submit"type="submit"value="Submit"/〉〈inputname="reset”type="reset”value="Reset"/></td></tr></table〉</form><?php$user=$_POST[”user_name”];$password=$_POST["user_pwd”];if($_POST['submit’]){//检验用户名密码是否为空,若存在空值,弹出警告if(strlen($user)==0||strlen($password)==0){echo("<scripttype=’text/javascript’>alert('UserNameorpasswordcannotbenull!');</script〉");}//如果用户名密码不为空,连续执行,推断/etc/passwd与newUserList文件中是否存在此用户名else{//执行脚本check。sh,并把用户名传值过去$userCheck="bash。/check.sh$user";$result=exec($userCheck);if($result=="000"){//返回值为000,表示用户已经存在,弹出警告用户已存在echo("<scripttype='text/javascript’>alert('UserNameisexist!Pleaseanotherone');〈/script〉”);}else{//没有返回值,说明没有重复的用户名,可以注册$file=fopen(”./newUserList”,'a+');//打开newUserList,并把用户名及密码写入中间以“:”隔开fwrite($file,$user。":"。$password."\n");fclose($file);//写入成功后,提示用户名与密码echo"Userregistersuccess!Pleaseremeberyourusername:".$user;echo"<br/>";echo”andpassword:”.$password."。Youcanuseitin3minutes.”;echo"〈br/〉";echo"<ahref=’index。php'>Back〈/a〉”;}}}?〉〈/body></html〉编辑掌握的shell文件:User_add。sh掌握用户的建立图24代码如下:#!/bin/bash#filename:check#猎取/etc/passwd文件中的用户名,给予变量user_existforuser_existin`cut-f1-d:/etc/passwd`do#将index。php文件中传过来的用户名与系统存在的用户名对比,若存在同名,打印出000#并退出对比,若没有配的则连续循环user="$1"if[”$user"=="$user_exist"];thenecho"000"exitfidone#若index.Php文件中传过来的用户名与系统用户名没有匹配的,则通过相同的方式与#当前名目下的newUserList文件中的用户名相匹配foruser_exist1in`cut-f1—d:。/newUserList`do#echo$user_exist1user="$1"if["$user"=="$user_exist1"];thenecho"000"exitfidonecheck.sh:检验用户存在与否图25代码如下:#!/bin/bash#name:user_add.sh#猎取/etc/passwd文件中的用户名,给予变量newuserfornewuserin`cut-f1-d:/var/www/html/useradd/newUserList`do#通过循环的方式添加用户名,使其属于组netusers,并在其用户名目下创建#文件夹public_html,为用户安排空间,并修改用户名目的权限useradd-gnetusers$newuseredquota–ptest–u$newuser//进行磁盘配额mkdir/home/$newuser/public_htmlquota–uvs$newuser//显示用户的空间配额chmod755/home/$newuserdone#使用chpasswd命令,批量为新添加的用户创建密码chpasswd〈/var/www/html/useradd/newUserList#清空newUserList文件〉/var/www/html/useradd/newUserList为shell文件添加执行权限:图26(5)、设置cron图274硬件调试与结果分析测试注册首先设置测试主机ip与域名的对应图28注册:在扫瞄器中输入地址http://192。168。92.128/useradd,在用户注册页面输入用户名及密码,若用户名及密码有一项为空,则弹出窗口提示输入的信息不全;若输入root或ethnicity等系统中已存在的用户,会弹出窗口显示用户名不行用;输入系统不存在的用户名wanyan,系统提示用户可以使用,提示3分钟后可用。图29图30Second:ssh的操作(1)、开启sshd服务(port:22)并且查看图31(2)、用户wanyan登录测试图32图33(3)、实现文件上传(上传至/home/newuser/public_html:个人空间部分)图34图35直接上传即可这时public_html下有主页index.html打开为:图36二:备份策略1、个人空间的备份(1)、编辑shell图37(2)、修改权限图38(3)、实现每十分钟备份一次图39添加多人空间备份只需修改bf。sh即可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论