最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

《嵌入式Linux设计与开发》课程设计

来源:动视网 责编:小OO 时间:2025-09-27 08:21:51
文档

《嵌入式Linux设计与开发》课程设计

大庆师范学院《嵌入式Linux设计与开发》课程设计报告题目:简易web服务器的搭建专业班级:2010级嵌入式选课组(三班)设计者:王堃(201001041095)********设计时间:2012-2013-11设计任务及要求为了使每个学生有一个展示自我的平台,学校在web服务器上开通注册通道,学生可以在网站上注册个人账户,在注册的过程中,可以检测用户名是否已存在。如果存在,则不能注册。用户注册成功后,系统会自动为此用户创建一个系统用户账户,账户名和密码为用户注册时填写的用户名和密码。为了使有
推荐度:
导读大庆师范学院《嵌入式Linux设计与开发》课程设计报告题目:简易web服务器的搭建专业班级:2010级嵌入式选课组(三班)设计者:王堃(201001041095)********设计时间:2012-2013-11设计任务及要求为了使每个学生有一个展示自我的平台,学校在web服务器上开通注册通道,学生可以在网站上注册个人账户,在注册的过程中,可以检测用户名是否已存在。如果存在,则不能注册。用户注册成功后,系统会自动为此用户创建一个系统用户账户,账户名和密码为用户注册时填写的用户名和密码。为了使有
大庆师范学院

《嵌入式Linux设计与开发》

课程设计报告

题目:简易web服务器的搭建

专业班级:  2010级嵌入式选课组(三班) 

设 计 者:     王堃(201001041095)     

*****           ***             

设计时间:         2012-2013-1           

1 设计任务及要求

为了使每个学生有一个展示自我的平台,学校在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取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。

所谓的虚拟主机服务就是指将一台机器虚拟成多台WEB服务器。举个例子来说,一家公司想从事提供主机代管服务,它为其它企业提供W EB服务。那么它肯定不是为每一家企业都各准备一台物理上的服务器,而是用一台功能较强大的大型服务器,然后用虚拟主机的形式,提供多个企业的WEB服务,虽然所有的WEB服务就是这台服务器提供的,但是让访问者看起来却是在不同的服务器上获得WEB服务一样。 具体地说,就是,我们可以利用虚拟主机服务将两个不同公司www.company1.com与www.company2.com的主页内容都存放在同一台主机上。而访问者只需输入公司的域名就可以访问到它想得到的主页内容。 用Apache设置虚拟主机服务通常可以采用两种方案:基于IP地址的虚拟主机和基于名字的虚拟主机,本设计采用的是第二种设计方案。

图1

3 程序设计

1、配置虚拟机的网络 

#ifconfig eth0 192.168.92.128 netmask 255.255.255.0 up 

#vi /resolv(添加:search localdomain,nameserver 192.168.92.2) 

#route add –net 0.0.0.0/0 gw 192.168.1.1  

#ping www.baidu.com(可以连接) 

2、安装相关套件 

图2

如果不显示则表示没安装进行下边的动作即可安装成功:

图3

(2)安装php

图4

如果不显示则表示没安装进行下边的动作即可安装成功:

图5

(3) 安装mysql

图6

如果不显示则表示没安装进行下边的动作即可安装成功:

图7

(4)、设置磁盘配额与挂载: 

A、关闭虚拟机,在VMware中添加一块硬盘。点击“VM”—“Settings”—“Add”—“Hard Disk”,根据提示向导添加硬盘 

B、启动虚拟机,在linux系统下使用fdisk –l命令查看/dev/sdb是否添加成功,

图8

如果成功,则使用fdisk /dev/sdb 命令来为sdb硬盘创建分区。(n-p-1-回车-回车-p-w)

图9

C、为/dev/sdb2分区创建文件系统:mkfs.ext3 /dev/sdb2  

图10

D、为了使用/dev/sdb1分区,将其挂载到/home目录下面:mount /dev/sdb2 /home

图11

E、在开机时自动挂载/dev/sdb2,将其记录假如/etc/fstab中。

图12

F、使用mount  -o  remount  /home重新加载/home分区。

图13

G、使用mount查看分区情况。/dev/sdb1 on /home type ext3 (rw,usrquota,grpquota) 

H、重新启动电脑

图14

I、创建磁盘配额quotacheck  -avug

图15

J、开启quot

图16

K、设置模版配额用户(用于新加用户的配额)

图17

(5)、个人空间页面的设计和注册页面的设置 

首先设置虚拟主机:

图18

做如下几行的设置: 

打开虚拟主机

图19

创建虚拟主机对应ip以及域名,其中www.shenqing.com 为域名申请页面 www.wethnicity.com为一个个人域名

图20

First:设置注册页面 

创建文件夹

图21

进入到该目录先

图22

编辑注册页面

图23

代码如下: 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

User Register

$user=$_POST["user_name"];

if(strlen($user)==0 || strlen($password)==0){ 

}

//返回值为000,表示用户已经存在,弹出警告用户已存在

echo("");

    }   

//没有返回值,说明没有重复的用户名,可以注册

$file=fopen("./newUserList",'a+');

echo "and password:".$password.".You can use it in 3 minutes.";

}  

 } 

}

>

编辑控制的shell文件: 

User_add.sh控制用户的建立

图24

代码如下: 

#!/bin/bash 

#filename:check 

#获取/etc/passwd文件中的用户名,赋予变量user_exist 

for user_exist in `cut -f 1 -d : /etc/passwd` 

do 

#将index.php文件中传过来的用户名与系统存在的用户名对比,若存在同名,打印出000

#并退出对比,若没有配的则继续循环 

user="$1" 

if [ "$user" == "$user_exist" ];then 

echo "000"

exit 

fi 

done 

#若index.Php文件中传过来的用户名与系统用户名没有匹配的,则通过相同的方式与 

#当前目录下的newUserList文件中的用户名相匹配 

for user_exist1 in `cut -f 1 -d : ./newUserList` 

do 

#echo $user_exist1 

user="$1" 

if [ "$user" == "$user_exist1" ];then

echo "000" 

exit 

fi

done 

check.sh:检验用户存在与否

图25

代码如下: 

#!/bin/bash #name:user_add.sh 

#获取/etc/passwd文件中的用户名,赋予变量newuser 

for newuser in `cut -f 1 -d : /var/www/html/useradd/newUserList` 

do 

#通过循环的方式添加用户名,使其属于组netusers,并在其用户目录下创建 

#文件夹public_html,为用户分配空间,并修改用户目录的权限 

useradd -g netusers $newuser 

edquota –p test –u $newuser 

//进行磁盘配额 

mkdir /home/$newuser/public_html quota –uvs $newuser  

//显示用户的空间配额  

chmod 755 /home/$newuser 

done 

#使用chpasswd命令,批量为新添加的用户创建密码 

chpasswd < /var/www/html/useradd/newUserList

#清空newUserList文件 

> /var/www/html/useradd/newUserList

为shell文件添加执行权限:

图26

(5)、设置cron

图27

4 硬件调试与结果分析

测试注册 

首先设置测试主机ip与域名的对应  

图28

注册: 在浏览器中输入地址http://192.168.92.128/useradd,在用户注册页面输入用户名及密码,若用户名及密码有一项为空,则弹出窗口提示输入的信息不全;若输入root或ethnicity等系统中已存在的用户,会弹出窗口显示用户名不可用;输入系统不存在的用户名wanyan,系统提示用户可以使用,提示3分钟后可用。

图29

图30

Second :ssh的操作 

(1)、开启sshd服务(port:22)并且查看  

图31

(2)、用户wanyan登录测试

图32

图33

(3)、实现文件上传(上传至/home/newuser/public_html:个人空间部分)

图34

图35

直接上传即可这时public_html下有主页index.html打开为:

图36

二:备份策略 

1、 个人空间的备份 

图37

(2)、修改权限

图38

(3)、实现每十分钟备份一次

图39

添加多人空间备份只需修改bf.sh即可 

2、 建立新用户产生一个日志记录(在用户目录下生成):每次添加一个用户即在用户的主目录下产生一个名为:newUserList的文件来记录此用户的用户名和密码,只有本用户和管理员可以查看,做到备份的效果 

(1)、编辑/var/www/html/useradd/newUserList

图40

效果为

图41

(2)、设置自动运行  

最后完成用户添加的记录 

最后设置开机自动开启mysqld和httpd

图42

5 参考文献

[1] 《鸟哥的私房菜-基础学习篇》 

[2] 《鸟哥的私房菜-服务器配置篇》

[3] 《循序渐进linux-基础知识,服务器搭建,系统管理,性能优化,群集应用》         

心得体会

这次的课程设计对我来说不仅是一个巨大的考验,也是自我超越的一个过程。当平时上课仅仅局限于书本的同时,觉得应用应该不是问题了。可真正到了实战的时候才发现,书到用时方恨少啊!

知识也是一样的道理。除了要不断的测试其性能。看是否会出现个别错误之外,枯燥的代码编写过程也是比较困难的。有时候往往对的程序思路到真正写完测试时候却是不一样的结果。总是会有那么些小瑕疵困扰着你。应接不暇的警告错误提示出现。这时候需要的就是我们的耐心跟自己解决问题的能力了。这个是求助现场观众无效的。需要自己静下心来慢慢查找错误,对于一个程序错误来说他可大可小。大到思路混淆,语法错误;小到字母敲错,提示错误。这次设计的完成对我来说可以说是一个个人能力的提升。也是纠正自己马虎大意的过程。同时这次成果的完成也不能缺少度娘(百度)的功劳。

文档

《嵌入式Linux设计与开发》课程设计

大庆师范学院《嵌入式Linux设计与开发》课程设计报告题目:简易web服务器的搭建专业班级:2010级嵌入式选课组(三班)设计者:王堃(201001041095)********设计时间:2012-2013-11设计任务及要求为了使每个学生有一个展示自我的平台,学校在web服务器上开通注册通道,学生可以在网站上注册个人账户,在注册的过程中,可以检测用户名是否已存在。如果存在,则不能注册。用户注册成功后,系统会自动为此用户创建一个系统用户账户,账户名和密码为用户注册时填写的用户名和密码。为了使有
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top