用户名Linux下基于用户的虚拟主机的设计与实现简易web服务器的搭建_课程设计

国内linux主机  时间:2021-04-30  阅读:()

枣庄学院

信息科学与工程学院

课程设计任务书

题 目 Linux下基于用户的虚拟主机的设计与实现

简易web服务器的搭建

专 业 计算机网络技术

课 程 LINUX操作系统

指导教师 职称 教师

完成时间 2012年11月----2012年12月

枣庄学院信息科学与工程学院制

1

一设计目标与要求

1、 为了使每个学生有一个展示自我的平台学校在w eb服务器上开通注册通道学生可以在网站上注册个人账户在注册的过程中可以检测用户名是否已存在。如果存在则不能注册。用户注册成功后系统会自动为此用户创建一个系统用户账户账户名和密码为用户注册时填写的用户名和密码

2、 为了使有限的资源能够充分的利用学校规定为每个用户分配50M的空间。用户可以使用此用户名和密码通过ssh远程连接进行文件的上传和下载将个人主页上传到用户自己的web目录 以供互联网用户访问。

3、 为了将来系统管理员排错方便每次建立新用户必须产生一个日志记录。

4、 所有新用户的w eb空间必须单独放置在一个专用磁盘空间中即使用Vmw are新添加一块磁盘。

5、 所有新建用户的个人WEB空间每隔一周自动备份 以备不测之需。

二、实现过程

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、安装相关套件

1安装apache

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

2安装p hp

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

(3) 安装mys ql

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

2

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

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

2、启动虚拟机在linux系统下使用fdis k –l命令查看/dev/s db是否添加成功

如果成功则使用fdis k /dev/s db命令来为s db硬盘创建分区。 n-p-1-回车-回车-p-w

3、为/dev/s db2分区创建文件系统mkfs.ext3/dev/s db2

3

4、为了使用/dev/sdb 1分区将其挂载到/home目录下面mount /dev/sdb2/home

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

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

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

8、重新启动电脑

9、创建磁盘配额quotacheck -avug

10、开启quota

11、设置模版配额用户用于新加用户的配额限制

4

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

首先设置虚拟主机

做如下几行的设置

打开虚拟主机

创建虚拟主机对应ip以及域名其中www.s henqing.c om为域名申请页面www.w ethnic ity.c om为一个个人域名

First设置注册页面

创建文件夹

进入到该目录先

编辑注册页面

代码如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w 3.org/TR/xhtml1/DTD/xhtml1-trans itional.dtd">

<html xmlns="http://w ww.w 3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type"c ontent="text/html; c hars et=utf-8" />

<title>Us er Register</tit le>

</head>

<body style="font-size:28px;">

<form action="./index.php"method="post"name="info">

<table width="640"border="15"align="c enter"bgc olor="#3399FF">

5

<tr>

<td c olspan="2"align="c enter">

New User

</td>

</tr>

<tr>

<td>Name:</td>

<td><input type="txt"name="us er_name" /></td>

</tr>

<tr>

<td>Pas sword:</td>

<td><input type="pas sw ord"name="us er_pw d" /></td>

</tr>

<tr>

<td c olspan="2"align="c enter">

<input name="submit" type="submit"value="Submit" />

<input name="res et" type="res et"valu e="Res et" />

</td>

</tr>

</table>

</form>

<?p hp

$user=$_POST["user_name"];

$pas sword=$_POST["us er_pwd"];if($_POST['submit']){

//检验用户名密码是否为空若存在空值弹出警告if(strlen($us er)==0| | strlen($pas sword)==0){echo("<script type='text/javascript'> alert('UserName or password can not benull! ');</script>");

}

//如果用户名密码不为空继续执行判断/etc/passw d与newUs erList文件中是否存在此用户名els e{

//执行脚本check.sh并把用户名传值过去

$userCheck="bash./check.sh$user";

$result=exec($userCheck);if($result=="000"){

//返回值为000表示用户已经存在弹出警告用户已存在echo("<script type='text/javascript'> alert('UserName is exist!Please anotherone');</script>");

}els e{

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

6

$file=fopen("./newUs erLis t",'a+');//打开newUs erLis t并把用户名及密码写入中间以“:”隔开fwrite($file,$user.":".$pas sword."\n");fclose($file);

//写入成功后提示用户名与密码echo"User register success!Please remeber your username:".$user;echo"<br/>";echo"and password:".$password.".You can use it in 3 minutes.";echo"<br/>";echo"<a href='index.php'>Back</a>";

}

}

}

?>

</body>

</htm l>

编辑控制的shell文件

代码如下

#!/bin/bash

#filename:check

#获取/etc/passwd文`件中的用户名赋予变量user_`existfor user_exist in cut -f 1 -d : /etc/passwddo

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

000

#并退"出对"比若没有配的则继续循环user= $1if [ "$use"r" == "$user_exist" ] ;thenecho 000exitfidone

#若i ndex.Php文件中传过来的用户名与系统用户名没有匹配的则通过相同的方式与#当前目录下的newUser`Li st文件中的用户名相匹配for user_exist1 in cut -f 1 -d : ./newUserList`do

#echo"$u"ser_exist1user= $1if [ "$use"r" == "$user_exist1" ] ;thenecho 000exitfi

7

donecheck.sh检验用户存在与否

代码如下

#!/bin/bash

#name:user_add. sh

#获取/etc/pas swd`文件中的用户名赋予变量newuserfor newuser in cut -f 1 -d : /var/www/html/useradd/newUserList`do

#通过循环的方式添加用户名使其属于组netusers并在其用户目录下创建#文件夹pub l ic_html为用户分配空间并修改用户目录的权限useradd -g netusers $newuseredquota –p test –u $newuser //进行磁盘配额mkdir /home/$newuser/publ ic_htmlquota –uvs $newuser //显示用户的空间配额chmod 755 /home/$newuserdone

#使用chpas swd命令批量为新添加的用户创建密码chpasswd < /var/www/html/useradd/newUserList

#清空newUserList文件

> /var/www/html/useradd/newUserList

为shell文件添加执行权限

5、设置cron

(6)、测试注册

8

注册

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

Second  ssh的操作

1、开启sshd服务port:22并且查看

9

蓝速数据(58/年)秒杀服务器独立1核2G 1M

蓝速数据金秋上云季2G58/年怎么样?蓝速数据物理机拼团0元购劲爆?蓝速数据服务器秒杀爆产品好不好?蓝速数据是广州五联科技信息有限公司旗下品牌云计算平台、采用国内首选Zkeys公有云建设多种开通方式、具有IDC、ISP从业资格证IDC运营商新老用户值得信赖的商家。我司主要从事内地的枣庄、宿迁、深圳、绍兴、成都(市、县)。待开放地区:北京、广州、十堰、西安、镇江(市、县)。等地区数据中心业务,均KV...

轻云互联22元/月,美国硅谷、圣何塞CN2GIA云服务器,香港沙田cn2建站vps仅25元/月

轻云互联怎么样?轻云互联,广州轻云网络科技有限公司旗下品牌,2018年5月成立以来,轻云互联以性价比的价格一直为提供个人,中大小型企业/团队云上解决方案。本次轻云互联送上的是美国圣何塞cn2 vps(免费50G集群防御)及香港沙田cn2 vps(免费10G集群防御)促销活动,促销产品均为cn2直连中国大陆线路、采用kvm虚拟技术架构及静态内存。目前,轻云互联推出美国硅谷、圣何塞CN2GIA云服务器...

tmhhost:全场VPS低至6.4折,香港BGP200M日本软银美国cn2 gia 200G高防美国三网cn2 gia韩国CN2

tmhhost放出了2021年的端午佳节+618年中大促的优惠活动:日本软银、洛杉矶200G高防cn2 gia、洛杉矶三网cn2 gia、香港200M直连BGP、韩国cn2,全都是高端优化线路,所有这些VPS直接8折,部分已经做了季付8折然后再在此基础上继续8折(也就是6.4折)。 官方网站:https://www.tmhhost.com 香港BGP线路VPS ,200M带宽 200M带...

国内linux主机为你推荐
巧摄专业版使用指南考点微信5http://www.huajinsc.cn/敬请参阅最后一页特别声明output_buffering飞飞的官方网站是啥eacceleratorCentOS5.2下安装eAccelerator,怎么都装不上css3圆角如何用CSS实现圆角矩形?ipadwifiipad的wifi打不开怎么办?iphone连不上wifi苹果8p连接不了WiFi360chrome360浏览器和谷歌chrome比哪个好用
godaddy域名优惠码 双11抢红包攻略 好看的桌面背景大图 青果网 网页背景图片 免费ftp站点 京东商城双十一活动 100m免费空间 智能骨干网 卡巴斯基官方免费版 服务器维护方案 环聊 谷歌台湾 国外网页代理 攻击服务器 服务器防御 服务器托管价格 开心online 聚惠网 fatcow 更多