linuxweb服务器配置实验报告(linuxweb服务器搭建实验报告)

基于Linux系统的Web服务器的安装与配置论文开题报告怎么写

课题名称:基于Linux系统的Web服务器的安装与配置

姓 名: 班 级:

完成时间: 指导老师:

内容安排:

首先对WEB服务器的可行性进行研究,然后对主机的硬件和软件进行需求分析,在此基础上进行概要设计和详细设计。接下来对软件框架的各组成部分的实现分章进行详细的描述,最后总结实现一些关键的解决方法和改进的几个思路。

1、 绪论

简单介绍了一下架设WEB网站的意义, WEB服务器的工作原理, 企业背景介绍,并简要介绍了论文的内容要求。

2、 Web服务器的基础知识

对什么是WEB服务、服务器软件Apache、脚本语言PHP、HTTP协议作了详细的介绍。

3、 Web服务器的设计过程

根据可行性的研究,对整个系统的软件和硬件需求进行分析。对软硬件进行架构设计,描述如何实现,包括基础理论分析,设计思路和设计方法,并对具体的设计步骤进行了重点理论解析。

4、 WEB服务器的建立

对系统的运行进行安装,了解Apache的体系结构及性能、PHP脚本配置环境,用Apache进行设置虚拟主机,实现基于IP地址虚拟主机服务,先规划IP地址:为虚拟主机申请新的IP地址,让ISP做好相应的域名解析工作,为网卡设置IP别名,重新设置“/etc/httpd/conf/httpd.conf”文件,建立相应的目录,将主页的内容放到相应的目录中去就行了,再配置一下PHP语言脚本环境。测试一下能否实现的可行性。

5、问题和改进

实现中可能遇到的问题及解决方法,服务器改进的方向。

6、作简要的总结。

论文的技术路线及预期目标:

技术路线:在Linux平台下配置一个WEB服务器环境,使网站正常运行,首先需要在一台PC机上创建一个Linux平台,由于我们绝大部分PC用的是Windows的操作系统,对此,我们可采用虚拟机VMware Workstation在Windows系统下虚拟一个Linux平台,然后运用与Linux兼容性良好的Apache服务软件、PHP语言脚本配置环境,基于Linux操作系统,架设一个稳定、安全、高效的WEB服务器环境,可支持运行以PHP或者HTML为基础的网页,要求正确安装好操作系统Linux WEB服务器软件Apache、脚本语言PHP,了解有关参数,同时合理设置,使得服务器环境简易高效。

预期目标:在Linux环境下运用兼容性良好的Apache服务软件实现一个Web服务器,在局域网内,将此服务器程序在一台计算机上运行,使网内其它计算机访问这台服务器时,实现HTTP协议的传输,并能解析以PHP或者HTML为基础的网页。

课题进度计划:

完成课题所需条件及落实措施:

所需条件:计算机一台、CentOS 5.2版本的Linux操作系统、虚拟机软件VMware Workstation及各种相关软件,有关Linux操作系统方面的资料(书籍、网络资料)。

落实措施:在计算机上先安装虚拟机软件VMware Workstation,采用虚拟机VMware在Windows系统下虚拟一个Linux平台,然后运用与Linux兼容性良好的Apache服务软件,PHP语言脚本配置环境。

参考文献、资料:

[1] Red Hat Linux大全,David Pitls编著,姚彦忠 译,机械工业出版社,1999年1月出版

[2] Linux服务器性能调整,(美)约翰逊,(美)威曾格,(美)普拉瓦提 著,韩智文 译,清华大学出版社,2009年9月出版

[3] Linux服务器架设,杨鹏编著,清华大学出版社,2008年出版

[4] Linux网络服务器应用教程,王兴主编,中国铁道出版社,2009年9月出版

linux中简述wed服务器配置过程

浅谈基于Linux的Intranet环境建造

在建设传统的Intranet网络环境的时候,我们一般是基于Windows NT Server系统的,在它的基础上实现一系列的服务。 现在的Linux系统中也包含了很多基于网络建设的软件服务,基本上我们是完全可以利用Linux系统建立与Windows NT Server所具有的基本Intranet框架相同的框架。并且还可以在这个基础上发展具有Linux系统自身特点的Intranet环境,在某种程度上其性能还优于Windows NT Server系统。

我们先假设一个基于Linux系统局域网的网络构架。首先,建议使用转换器把Internet接口转换为双绞线,直接连接到一台双网卡Server上。该Server的另外一块网卡和其他的Server及Client连接到一个Hub上面,成为一个局域网。双网卡的服务器作为防火墙和网关,控制内部网和Internet连接的安全。我们在其上面还可以运行其他的服务,例如文件服务器、代理服务器、邮件服务器和Web服务器等。另外一台服务器可以作为数据库服务器,在其上主要运行数据库服务。

双网卡中对外的网卡必须有正式的IP,另外一块网卡和其他计算机的网卡可以使用私有IP,范围从“192.168.1~192.168.254”自由分配,其他计算机的网关地址都指向防火墙网关服务器的内部IP。防火墙网关服务器的网络配置要根据申请的IP地址来具体设置。

一般地,我们要求的Intranet环境应该是提供最基础的WWW服务、FTP服务、DNS服务、网上邻居等服务项,下面我们就一一简单地介绍一下。

1.WWW服务

首先我们要实现WWW服务,我们以在RedHat系统的完全安装中为例,这里系统已经为大家安装好了目前在Internet上使用得最多的HTTP服务器Apache, 你只需要使用“setup”命令选择该服务,或者直接运行“httpd”即可。它的安装根目录是在/home/httpd/目录下的,只要使用浏览器按照“IP地址”访问你的Web server,就能够看到Apache的说明文档。如果你要发行自己的主页,只需要将这些文档放在/home/httpd/Html/下即可,或者是将httpd.conf中的文档根目录修改为你的Windows系统下的目录,这样既可以享受Linux的效率,也可享受Windows的页面制作工具的便利。但是我们要注意在Linux环境中要区分大小写,所以页面中的文件名最好统一使用大小写。在Windows环境中的页面文件一般是.htm后缀,而缺省的Linux系统的浏览器Netscap或lyxn解释的页面文件是以.html为后缀的,你只需要在/etc/mime.types中增加如下一行即可:text/html html htm。同样,你也可以按照注释修改以下配置文件:

/etc/httpd/conf/httpd.conf

/etc/httpd/conf/Access.conf

/etc/httpd/conf/srm.conf 以建立更加强大而灵活的WEB服务器。

2.FTP服务

接着让我们看看FTP服务的实现,我们依然是在RedHat系统的完全安装中,RedHat系统已经为你安装好了目前Internet流行的WU-FTP-2.4.2 Server。它的匿名访问目录在/home/ftpd/中,如果是在FTP客户端使用普通帐户登录,那么我们将直接进入该账户的主目录。它的配置文件主要是:

/ect/ftpaccess。

域名服务(DNS服务)的功能是把我们取的名字映射为具体的IP地址。目前Internet流行的域名服务器BIND,它的执行进程是“named”,其配置文件有:

/ect/named.conf

/etc/resolv.conf

/var/named/named.ca

/var/named/named.local

/var/named/named.hosts(自建)

/var/named/named.rev

其中的自建文件需要符合“named”配置文件的格式,我们从已有的文件中cp即可,尤其注意BIND 4的配置文件格式和BIND 8p是完全不同的,如果使用的版本不同的话,请查阅其具体的配置文件。

3.RAS服务

RAS服务(PPP)也是传统的服务之一,配置PPP在Linux系统中是比较复杂的一项工作。它的主要配置文件有:

/etc/mgetty+sendfax/mgetty.config

/etc/mgetty+sendfax/loging.config

/etc/inittab

/etc/ppp/options

/etc/ppp/ppplogin

/etc/ppp/options.ttyS2

/etc/ppp/pap-secrets

/etc/hosts

提醒大家的是如果使用Win95的拨号适配器的话,它的网关为拨号服务器的IP,DNS为内部网的DNS Server的IP,设置远程自动配置IP,新手可以先不启动该服务。

4.DHCP功能

DHCP的功能是动态分配IP地址。注意在启动dhcpd之前,增加一项缺省路由:/sbin/route add -host 255.255.255.255 dev eth0详细的格式可以使用“main dhcpd”得到。它的执行进程是“dhcpd”,它的配置文件有:

/etc/dhcpd.conf /etc/dhcpd.leases(空文件)

/etc/dhcpd.leases~(空文件夹)

5.网上邻居

网上邻居(smbd nmbd)也是我们很关心的功能,微软的网上邻居是局域内直接而简便的资源共享方法,但它采用的是Netbeui协议。而Linux系统采用的主要是TCP/IP协议,它提供的Samba可以方便地完成网上邻居的功能,让你的用户通过网上邻居看到你的服务器和共享的资源。其主要配置文件有:

/etc/smb.conf

/etc/smbusers

代理服务和防火墙(routed lpmasquerdde ipfwadm)的设置对于一些用户也是必要的。在Windows NT中也有“routed”命令,但要实现共享IP地址却要使用专门的代理软件,如proxy Server、 Wingate、Winproxy等。在这方面,Linux利用核心支持的“ipmasquerad”功能,配合“routet”和“ipfwadm”则可以轻松地实现这一功能,并且在使用浏览器时还不需要指定代理服务器,同时利用“ipfwadm”确定接收和发送数据包的规则,并且还可以提供基于包过滤的防火墙设施。它的主要配置命令有:

/sbin/ipfwadm -F -P deny

/sbin/ipfwadm -F -a m -s 192.168.0.0/16 -D 0.0.0.0/0

/sbin/route add -net 192.168.0.0 netmask 255.255.255.0 gw 130.0.40.1

6.SQL数据库系统

SQL数据库系统(postgresql)在目前的Intranet环境中是越来越重要了,但在Windows NT平台上运行的商品化的SQL数据库价格不菲。Linux系统集成的SQL数据库主要有Postgre和SQLmysql,它们均达到了SQL92的标准,并且提供在 Windows系统的客户端的ODBC驱动程序,是非常理想的后端数据库系统。PostgreSQL是普遍使用的免费SQL数据库系统之一,而且是一些商用SQL数据库的原形。尽管它可能没有现在的某些商品化SQL功能强大,并且能够处理中文,作为一般的Intranet Web数据库系统,使用它已经是绰绰有余了。它还为编制CGI程序提供了方便的接口。要访问postgreSQL可使用命令“psql”,缺省的管理员账号“postgres”是在安装后禁用的,需要给予登录权限。为了让Web客户能够访问数据库,我们需要给“nobody”用户授权。

微软的ASP技术作为IIS的模块,可以简化CGI程序的编制,提高Web服务器的效率,提供灵活的数据库连接方法。Linux系统中的Apache也有相应的PHP模块,由于Linux系统中包含有使用最广泛的CGI编程语言PERL 5,所以我们可以轻松而高效地设计CGI程序。

7.其他实现

Linux系统里还有一些对构建Intranet环境比较有用的东西,比如磁盘限额(quota)服务,使用限额机制可以控制用户对资源的拥有量,防止非法上载,是多用户环境下必须具备的功能。我们还是以RedHat为例,RedHat中启动磁盘限额方法很简单,只需要使用Linuxconf中的相应选项即可。但是你需要在实施限额的文件系统的根目录下建立“quota.user”和“quota.group”两个空文件,并且,应该在安装完系统后立即启动该服务,linuxconf程序不光可以动态配置系统,而且具有多种工作界面,极大地方便了用户配置与管理系统。为了能够运行linuxconf,我们必须以根(root)用户的身份登录Linux系统。如果你不是以根用户的身份登录系统,那么可在系统提示符下执行“su”命令,变成根用户。常见的linuxconf工作界面有:命令行界面、字符单元界面(使用了像RedHat Linux安装时的用户界面形式)、基于XWindow的界面(提供易于使用的“点击”树状菜单)。

我们以RedHat Linux 6.0系统为例,想要linuxconf在Web浏览器环境工作,必须进行以下设置:

* 在gnome-linuxconf对话框中,打开“Config/Networking/Misc/Linuxconf network access”分支,选中“Enable netwoork access”选项。

* 在对话框中输入任何允许使用Linuxconf的计算机的主机名,包括用户主机名字。

* 选择“Accept”按钮,并按空格键,单击“Quit”按钮。

* 启动Netscape浏览器,在URL栏键入:http://〈hostname〉:98/ 〈cr〉。其中,必选项“hostname”应换成用户计算机的主机名。

* 选择浏览器页面底部的“Start”按钮,在弹出的口令验证框中,分别输入根用户的名字“root”和相应的口令。如果口令正确,则进入基于Web的linuxconf工作界面。该界面主要由Config和Control两部分组成,它们各自均含有5个具有超链接特性的选项,用户单击具体的选项,即可打开对应的页面,完成相应的配置。

Linux系统中包含的“sendmail”是Internet电子邮件系统中主要的SMTP软件,“imapd”软件是POP3邮件服务器,可以让你使用Netscape或IE轻松收发电子邮件。注意,你要在/etc/sendmail.cw中添加内部域名,再将/etc/sendmail.cf中的F项修改为Fw/etc/sendmail.cw.远程登录(Telnet)。

现在有很多的关于Linux系统方方面面的文章,所以如果是要建立一个基于Linux系统的Intranet环境,还有很多的参考,而且要是想让你的Intranet环境完美起来,还有很多的服务等你实现。

(出处:)

Linux 如何开启web服务器redhat

 1,基于apache的web服务器基础搭建:

(1)实验环境:一台ip为192.168.10.10的rhel5.9主机作为web服务器,一台ip为192.168.10.15的win7主机作为测试机

(2)查看服务主机软件是否安装

[root@ser1 ~]# rpm -q httpd httpd-manual httpd-devel

package httpd is not installed

package httpd-manual is not installed

package httpd-devel is not installed

(3)安装软件包

[root@ser1 ~]# yum install -y httpd httpd-manual httpd-devel

(4)启动服务

[root@ser1 ~]# service httpd start

启动httpd: [确定] [root@ser1 ~]# chkconfig httpd on

(5)在win7上测试,无网页缺省下显示红帽测试页

报错页面存放位置/var/www/error/noindex.html

wKioL1Mb2uORI8EtAASazHYmqP8425.jpg

(6)打开配置文件

[root@ser1 ~]# vim /etc/httpd/conf/httpd.conf

可获得以下重要字段:

目录设置:

Directory 目录 .. .. /Directory

访问位置设置:

LocationURL .. .. /Location

虚拟主机设置:

VirtualHost 监听地址 .. .. /VirtualHost

常用的全局设置参数:

ServerName本站点的FQDN名称

DocumentRoot网页文档的根目录:缺省/var/www/html/

DirectoryIndex默认索引页/首页文件:一般设为index.html index.php

ErrorLog错误日志文件的位置

CustomLog 访问日志文件的位置

Listen 监听服务的IP地址、端口号

ServerRoot 服务目录:/etc/httpd/

Timeout网络连接超时,默认 300 秒

KeepAlive是否保持连接,可选On或Off

MaxKeepAliveRequests每次连接最多处理的请求数

KeepAliveTimeout保持连接的超时时限

Include 可包含其他子配置文件: /etc/httpd/conf.d/

(7)创建测试网页

[root@ser1 ~]# vim /var/www/html/index.html

h1

This is a test page !!!

/h1

~

(8)win7下测试,主页变为测试网页

wKioL1Mb2xKDIxJ8AADmMPwbQrU088.jpg

2,基于apache的web服务器的访问控制:

(1)web服务的地址限制

I,rder 配置项,定义控制顺序

allow,deny 先允许后拒绝,缺省拒绝所有;冲突时,拒绝生效;allow不设置,拒绝所有

deny,allow 先拒绝后允许,缺省允许所有;冲突时,允许生效;deny不设置,允许所有

II,Allow/Deny from 配置项,设置权限

Allow from 地址1 地址2 .. ..

Deny from 地址1 地址2 .. ..

配置如下:

[root@ser1 ~]# vim /etc/httpd/conf/httpd.conf

331 #

332 Orderallow,deny

333 Allowfrom 192.168.20.0/24

334

335 /Directory

[root@ser1 ~]# service httpd restart……重启服务

停止httpd: [确定]

启动httpd: [确定]

在win7上测试,测试完成并还原配置文件:

wKiom1Mb22Pi1WcbAAIdasyq1FQ074.jpg

LINUX操作系统课程设计:企业服务器的配置与实现怎样做

一般购买大品牌的服务器才有相应的驱动程序:

硬件:4核CPU,4G的内存,主板带RIAD,512G内存,

安装与配置Web服务器

Apache服务器源代码安装:

Apache RPM软件下载:

Apache模块和MPM可使用类型的更详细介绍:

Apache对模块的使用有两种方法,一种是将其永久性地编译Apache内核中,即采用静态编译;另一种是采取动态编译,将其编译成DSO(Dynamic shared object,动态共享对象)模块,DSO模块的存储是独立于内核的,可被内核在需要时调用,具体是由mod_so模块提供的运行时配置指令(LoadModule)来实现的,若在编译中包含有任何动态模块,则mod_so模块会被自动包含进内核。若仅希望内核能够支持装载DSO模块,但不实际编译任何动态模块,则在编译配置时就明确指定--enable-so配置参数。

还提供了多道处理模块MPMs(multi-processing modules),编译过程中必须包含一个且只能有一个MPM,编译时系统会根据平台类型自动选择使用默认的MPM,也可在configure命令行中配置:

--with-mpm=要使用MPM类型

模块的指定方法:

1.静态编译模块到内核中,如编译包含mod-sll和mod_rewrite(去掉mod_)模块:

./configure --enable-module=\"ssl rewrite\"或./configure --enable-sll --enable-rewrite

动态编译模块为DSO:

./configure --enable-mods-shared=\"ssl rewrite\"或./configure --enable-rewrite=shared

模块说明:

httpd -l //查看httpd进程中包含哪些模块;

httpd -S //检查虚拟主机的配置是否存在语法错误;

httpd -f //启动httpd守护进程时,加载配置文件;

mod_deflate模块允许支持此功能的浏览器,在请求的页面内容发送前进行压缩,以节少网络带宽。

mod_vbost_alias模块支持虚拟主要的动态配置。

chkconfig --level 235 httpd on

chkconfig --list httpd

service httpd start

service httpd restart

service httpd reload //重新装载httpd.conf(不重启服务器)

./configure --prefix=/usr/local/apache2 --enable-so --with-mpm=prefork --enable-modules=\"setenvif rewrite deflate vhost_alias\"

#apachectl start //启动Apache服务器;

#apachectl restart

#echo \"/usr/local/apache2/bin/apachectl start\"/etc/rc.d/rc.local //自动启动

#httpd -t //检查配置文件httpd.conf

#apachect configtest //检查配置文件httpd.conf

#ServerRoot apache安装路径 //设置服务器的根目录;

#ServerName 完整的域名[:端口号] //设置服务器用于重定向(端口)和虚拟主机;

#Listen [IP地址]端口号 //告诉服务器接受来自指定端口或者指定IP地址的某端口的请求;

Listen 80

Listen 61.186.160.104:8088

#ServrAdmin E-mail地址 //设置Web站点管理员的E-mail地址,当产生错误时(如指定的网页找不到),服务器返回给客户端的

错误信息中将包含该邮件地址,以告诉用户该向谁报告错误;

#DocumentRoot 目录路径名 //设置Web服务器站点根目录;

DocumentRoot /usr/local/apache2/htdocs

#ErrorDocument 错误号 所要显示的网页 //定义当遇到错误时,服务器将给客户端什么样的回应,通常是显示预设置的一个错误页面;

grep ErrorDocument /etc/httpd/conf/httpd.conf //httpd.conf中一些对不同错误的响应信息;

#DirectoryIndex index.php index.htm index.html default.htm //设置站点主页文件的搜索顺序;

#user nobody //设置服务器以哪种(nobody)用户身份来响应客户端的请求;

#Group # -1 //设置服务器以哪种(nobody)用户身份来响应客户端的请求;nobody用户权限较小。

#AddDefaultCharset GB2312 //指定默认的字符集;

#TimeOut //设置连接请求超时的时间(秒),超时将断开;

#KeepAlive //用于启用持续的连接或者禁用;KeepAlive On|Off

#MaxKeepAliveRequests //设置在一个持续连接期间允许的最大HTTP请求数目;

#KeepAliveTimeout //设置在关闭TCP连接之前,等待后续请示求的秒数;一旦接受请求建立了TCP连接后则开始计时;

#PidFile logs/httpd.pid //指定存放httpd主(父)进程号的文件名;

日志配置命令:

#ErrorLog //指定服务器存放错误日志文件的位置和文件名;

#LogLevel //设置记录在错误日志中的信息的详细程序;

emerg 紧急,系统将无法使用;

alert 必须立即采取措施;

crit 致命情况;

crror 错误情况;

warm 警告;

info 普通信息;

notice 一般重要情况;

debug 出错级别信息;

//测试Apache是否正常运行

Test Page

This page is used to test the proper operation of the Apache Web server after it has been installed. If you can read this page, it means that the Apache Web server installed at this site is working properly.

#rpm -q httpd

#rpm -Uvh http-2.0.40-21.11.i386.rpm

目录说明:

/etc/httpd/conf //Apache服务器的配置文件httpd.conf

/etc/rc.d/init.d/ //Apache服务器启动脚本安装,httpd

/var/www/html //Web站点根目录;

/usr/bin //Apache软件包提供的可执行程序安装在该目录下。

/etc/httpd/logs //日志文件

htdocs //默认Web站点的根目录,可通过配置文件httpd.conf进行设置或更改;

cgi-bin //CGI脚本目录;

bin //apachectl启动脚本会自动设置在某些操作系统下,正常运行httpd所需的环境变量;

httpd守扩进程被调用后做的第一件事就是读取httpd.conf,并根据其配置项来配置当前Web服务器;

httpd.conf 分为三部分(section),

第一部分为全局环境设置,主要用于设置ServerRoot、主进程号的保存文件、

对进程的控制、服务器侦听的IP地址、端口、要装载的DSO模块

第二部分是服务器的主要配置指一位置;

第三部分用于设置和创建虚拟主机;

Listen 80 //Web服务器绑定在80端口;

DocumentRoot //设置Web站点的根目录等;

访问控制指令:

Directory /usr/local/*/htdoes //Directory使指定的目录及其子目录有效;不可嵌套。目录名可使用“*”或“?”通配符,

Files ~“\\.ht\" //作用于指定的文件,则不管该文件实际存在子哪个目录,允许所有主机访问位于任何目录下的.ht开的文件

Order allow,deny //指定allow和deny语句,哪一个被执行;允许、禁止访问主机。

Allow from all //允许所有主机访问;也可以是IP地址。

Files

/Directory

Location /assistant //针对URL地址进行访问限制,不是文件系统;

Order deny,allow //

Deny from all

Allow from 61.186.160.105

/Location

Order deny,allow //若主机没有被特别指出拒绝访问,则该资源被允许访问。

Order allow,deny //若主机没有被特别指出允许访问,则该主要将被拒绝访问该资源。

Order mntual-failure //只有那些在allow语句中被指定,同时又没有出现在deny语句的主机,才允许访问。若主机在两条指

令中都没有出现,则将被拒绝访问;

*、? //*代表任意个字符,?代表一个任意的字符;

DirectoryMatch //指定目录名时,可直接使用正则表达式;Directory若要使用正则表达式,则需要在正则表达式前加“~\"

FilesMatch //可直接使用正则表达式来通配多个文件;

AccessFileName .htaccess //.htaccess分布式配置文件,在该文件中也可放置一些配置指令,以作用于该文件所在的目录以及

其下的所有子目录。搜寻.htaccess文件会降低系统性能;

Directory /

AllowOverride None //禁止系统查找.htaccess文件;

Options FollowSymLinks //Options:控制在特定目录中将使用哪些服务器特性;

/Directory

Options命令可用的选项:

None 不启用任何额处特性;

All 除MultiViews之外的所有特性,默认设置;

ExecCGI 允许执行CGI脚本;

FollowSymLinks 服务器允许在此目录中使用符号连接。在Location段中无效

Includes 允许服务器端包含SSI(Server-side includes)

IncludesN()EXEC 允许服务器端包含,但禁用#exec和#exec CGI命令。但仍可以从ScriptAltase目录使用#include虚拟CGI脚本;

Indexes 如果一个映射目录的URL被请求,而此目录中又没有DirectoryIndex(如:index.html),那么服务器返回一个

格式化后的目录列表;

MultiViews 允许内容协商的多重视图;

SymLinksIfOwnerMatch 服务器仅在符号连接与其目的目录或文件拥有者具有同样的用户ID时,才使用它;

ExecCGI 拥有ExecCGI执行权限;

prefork.c 控制Apache进程,对于使用prefork多道处理模块的Apache服务器;

IfModule prefork.c

StartServers 5 //设置服务器启动时启动的子进程的个数;

MinSpareServers 5 //设置服务器中空闲子进程(即没有HTTP处理请求的子进程)数目的下限;

MaxSpareServers 10 //设置服务器中空闲子进程数目的上限。若空闲子进程超过该设置值,则父进程就会

停止多余的子进程;

MaxClients 150 //设置服务器允许连接的最大客户数;

MaxRequestsPerChild 0 //设置子进程所能处理请求的数目上限,0为不受限制;

/IfModule

access_log //日志文件用于记录服务器处理的所有请求;

CustomLog 指定access_log日志文件的位置和日志记录的格式;

LogFormat 定义日志的记录格式;

LogFormat 日志格式字符串 日志格式名称

LogFormat \"%h %1 %u %t \\\"%r\\\" %s %b \\\"%{Referer}i\\\" \\\"%{User-Agent}i\\\"\" combined;

LogFormat \"%h %1 %u %t \\\"%r\\\" %s %b\" common;

LogFormat \"%{Referer}i-%U\" referer;

LogFormat \"%{User-agent}i“ agent;

LogFormat logs/access_log common

LogFormat \"%v %h %l %u %t \\\"%r\"\\ %s %b\" vhost

CustomLog logs/vhost_log vhost

%a 远程主机IP地址

%A 本地主机IP地址

%h 远程主机名

%H 请求协议

%l 远程登录名

%u 来自auth 的远程用户

%U 请求的URL路径

%U{User-agent}i 用户浏览器类型

%b 发送的字节数,不包括HTTP标题

%t 请求的时间

%r HTTP请求的第一行的内容

%s HTTP响应状态码,200代表访问成功,404代表文件未找到,403代表禁止访问,401代表未授权访问,400代表错误请求。

%m 请求方法

%v 服务于该请求的服务器的ServerName

%V 服务器的名字,取决于UseCanonicalName的设置

%{Host}i 返回HTTP请求的主机头信息,可能含端口号信息

split-logfile /var/www/myweb/vhost_log //当所有虚拟机日志都记录在主站点日志中时,使用此命令将日志按虚拟主机名分组,拆分成一个个独立的日

志文件,第个日志文件采用\"虚拟主机名.log“形式命名,其中包含了该虚拟主机所产生的日志记录;

容器与访问控制指令:容器指令通常用于封装一组指令,使其在容器条件成立时有效,或者用于改变指令的作用域。

IfModue ! mpm_winnt.c //IfModue用于判断指定的模块是否存在,若存在(被静态地编译进服务器,或是被动态装载进服务器)则包含于

其中的指令将有效,否则会被忽略。可嵌套使用。

IfModue ! mpm_netware.c //若要使模块不存在时所包含的指令有效,只需在模块名前加一个“!”即可,

User nobody

Group # -1

/IfModue

/IfModue

基于域名虚拟主机:

例:假设当前服务器的IP地址为192.168.3.120,现要在该服务器创建两个基于域名的虚拟主机,使用端口为标准的80,其域名分别为和,站点根目录分别为/var/www/myweb1和/var/www/myweb2,日志文件分别放在/var/vhlogs/myweb1和/var/vhlogs/myweb2目录下面,Apache服务器原来的主站点采用域名进行访问。

#vi /etc/hosts //使用/etc/hosts进行域名注册;

192.168.3.120

#ping //检测域名解析是否正常;

#ping

#ping

#mkdir -p /var/www/myweb1

#mkdir -p /var/www/myweb2

#mkdir -p /var/vhlogs/myweb1

#mkdir -p /var/vhlogs/myweb2

#vi /etc/httpd/conf/httpd.conf

Listen 80 //设置Listen指令侦听的端口

NameVirtualHost 192.168.3.120 //基于域名的虚拟主机,如果对多个地址使用了多个基于域名的虚拟主机

则对每个地址均要使用此指令:NameVirtualHost IP地址:端口

NameVirtualHost * 当IP地址无法确定时,使用“*”通配任意的IP地址

VirtualHost 192.168.3.120 //定义一个虚拟主机,VirtualHost的参数必须与NameVirtualHost后面所使用的参数保持一致。

ServerName //当一个请求到时,服务器会首先检查它是否使用了一个能和NameVirtualHost相匹配的IP地址。如果匹配,就会

DocumentRoot /usr/local/apache/htdoes //就会查找每个与这个IP地址相对应的VirtualHost配置段,并尝试找出一个ServerName或ServerAlias配置相

ServerAdmin yjghddii@126.com //与请求的主机名(域名)相同的,若找到,则使用该虚拟主机的配置,并响应其访问请求。否则将使用符合这个

/VirtualHost //IP地址的第一个列出的虚拟主机。在最前面的虚拟主机成为默认虚拟主机。

VirtualHost 192.168.3.120

ServerName

DocumentRoot /var/www/myweb1

DirectoryIndex index.php index.php3 index.html index.htm default.html default.html

ServerAdmin yjghddii@126.com

ErrorLog /var/vhlogs/myweb/error_log

TransferLog /var/vhlogs/myweb1/access_log

/VirtualHost

VritualHost 192.168.3.200

ServerName

DocumenRoot /var/www/myweb2

DirectoryIndex index.php index.php3 index.htm index.html default.htm default.html

ServerAdmin yjghddii@126.com

ErrorLog /var/vhlogs/myweb2/error_log

TranferLog /var/vhlogs/myweb2/access_log

/VirtualHost

Directory /var/www //对Web站点目录设置访问控制;

Options FllowSymLinks

AllowOverride None

Order deny,allow

Allow from all

/Directory

Apachectl –S //查查虚拟主机配置是否正确;

Aparhectl restart //重启Apache服务器配置生效;

例:

NameVirtualHost 192.168.168.10 //服务器配有两块网卡,IP:内网192.168.168.10,外网61.186.160.104,在Internet网中,企业域名

NameVirtualHost 61.186.160.104 //指向外网IP地址,在企业内网的DNS服务器中,指向内网IP地址;现要求为来自内网

VirtualHost 192.168.168.10 61.186.160.104 //外网的请求提供同样的Web服务。(httpd.conf中设置)

DocumentRoot /www/server1

ServerName

/Virtual

例:

Listen 80 //服务器:192.168.168.154,服务器上创建两个基于域名(主机名)的虚拟主机,域名:和www.

Listen 8080 //myweb4.com,每个虚拟主机的80端口和8080端口,分别服务一个Web站点,其站点根目录分别为

// /var/www/myweb3-80、/var/www/myweb3-8080、/var/www/myweb4-80、/var/www/myweb4-8080。

NameVirtualHost 192.168.168.154:80 //的80端口作为默认Web站点。

NameVirtualHost 192.168.168.154:8080

VirtualHost 192.168.168.154:80

ServerName

DocumentRoot /var/www/myweb3-80

VirtualHost

VirtualHost 192.168.168.154:8080

ServerName

DocumentRoot /var/www/myweb3-8080

/VirtualHost

VirtualHost 192.168.168.154:80

ServerName

DocumentRoot /var/www/myweb4-80

/VirtualHost

VirtualHost 192.168.168.154:8080

ServerName

DocumentRoot /var/www/myweb4-8080

/VirtualHost

基于IP地址虚拟主机:

#cd /etc/sysconfig/network-scripts //服务器有两张网卡eth0、eth1,eth0:192.168.167.157,

#cp ifctg-eth1 ifcfg-eth1:0 //eth1:192.168.167.156.eth0网卡用作了基于主机名的虚拟主机,

#vi ifcfg-eth1:0 //eth1通过IP别名方式,为其绑定多个IP地址,用于提供基于IP地址

DEVICE=eth1:0 //的虚拟主机。eth1绑定的第一张虚拟网卡的设备名为eth1:0,对应的

IPADDR=192.168.167.157 //配置文件为ifcfg-eth1:0,通过修改配置文件中的设备名和IP地址,

#ifdown eth1 //即可实现IP地址的绑定。

#ifup eth1:0

#ifup eth1

#ping 192.168.167.157

#ping 192.168.167.156

#vi /etc/hosts //192.168.167.156::

192.168.167.157 //,试为其创建基于IP地址的虚拟主机,端口使用80

#mkdir -p /var/www/example2 //目录分别为/var/www/example2、/var/www/example3,为这两个域再增

#mkdir -p /var/www/example3 //8080端口,使其也能在8080端口发布另外的Web站点。Web站点根目录分

///var/www/example2-8080、/var/www/example3-8080

#vi httpd.conf

Listen 80

Listen 8080

VirtualHost 192.168.167.156:80

ServerName

DocumentRoot /var/www/example2

/VirtualHost

VirtualHost 192.168.167.156:8080

ServerName

DocumentRoot /var/www/example2-8080

/VirtualHost

VirtualHost 192.168.167.157:80

ServerName

DocumentRoot /var/www/example3

/VirtualHost

VirtualHost 192.168.167.157:8080

ServerName

DocumentRoot /var/www/example3-8080

/VirtualHost

毕业论文:linux系统的web服务器架设

 LINUX系统中常见的有:CERN、NCSA、Apache三种方式,一般最常用的方法就是用Apache。此种方式特点明显,配置简明,具有最大的对系统兼容性,以下是用此方式配置基于Linux的WEB服务器的全过程。

一. Apache服务器慨述。

其特征是显著的:可以运行于所有计算机平台,自然包括UNIX/LINUX系统;集成代理服务器和Perl编程脚本;对用户的访问会话过程跟踪;可对服务器日志定制;还支持虚拟主机及HTTP认证等等。再配合LINUX系统本身的强大,我们没理由不选择Apache。

二. 安装Apache。

一般说来,所有Linux版本应该包含有此软件包的安装,如果你在安装Linux系统没有安装此软件包,可以从安装光盘或是网站上找到其安装文件(注意网上有两种版本:一种是下载后需重新编译的源代码,一种是只需解压就可使用的可执行文件),然后执行安装即可。

1. 如果你下载的是可执行文件包如:apache_1.2.4.e.tar.gz(当中的数字视你下载的版本而定,此为举例),那这就相对简单,比较适合对Linux编译不熟悉的初级用户,只需执行:tar xvzf apache_1.2.3.4.tar.gz即可完成安装。

2. 如果下载的是源代码如:apache_1.2.4.rpm,则先用rpm –ivh apache_1.2.4.rpm安装,然后在src目录下执行“./configure”;接着执行“make”命令编译Apache;接着将编译好的可执行文件复制到/etc/httpd/bin目录下;再将Apache的配置文件:httpd.conf、access.conf 、srm.conf和mime.types复制到/etc/httpd/conf目录下,才算完成安装。

三. 配置Apache,实现WEB服务。

其实,到现在你的Linux已经开始WEB服务了,你要做的只需将Linux系统连入互联网,然后将主页存放于“/home/httpd”目录下即可。但为了让此WEB服务器更有效率的工作,我们还需对其作些设置,具体需要配置的其实就是刚才复制的那4个文件。以下对其主要的两个配置文件httpd.conf和access.conf作些说明:

1. httpd.conf.

此文件是主配置文件,主要用来设置服务器启动的基本环境,也就是说它负责安排WEB服务器怎样运行。其相关设置参数为:

ServerType standalone/inetd:此选项作用就是指定以何种方式运行WEB服务器。其中standalone参数表示WEB服务进程以一个单独的守候进程的方式在后台侦听是否有客户端的请求,如果有就生成一个子进程来为其服务;其效率更高。主要是设置主服务器进程侦听的特定端口地址,方法为:Port [number] (缺省为80)。

而inetd模式相对standalone来说它更安全,此模式也是RedHat Linux运行Apache的默认方式。如果你的版本不是RedHat,则需在/etc/inetd.conf文件里加入以下一新行:httpd stream tcp nowait httpd /etc/httpd/bin/httpd –f /etc/httpd/conf/httpd.conf;然后在/etc/services文件里同样添加一新行:httpd 80/tcp httpd即可。

ErrorLog:用来指定错误记录的文件名称和路径。格式如:ErrorLog /var/httpd/error.log。

ServerRoot:用来指定将服务器的配置及日志文件存于何处。格式如:ServerRoot /etc/httpd。

Server Admin: 设置WEB管理员的E-Mail地址.格式如:Server Admin XXX@XXXX.com。

2. srm.conf

这是Apache的资源配置文件,作用为告诉服务器你想在WWW站点上提供的资源及如何提供,其主要参数为:

DocumentRoot: 用来指定主文档的地址。格式如:DocumentRoot /home/httpd/html。

DirectoryIndex:跟windows平台的IIS设置一样,用来指定首页文件的名称。大家都知道,首页一般都以“index.html”或“index.htm”作为文件名。当设置为这两种文件名之后,只要用户发出WEB请求,即将调入以“index.html”或“index.htm”命名的主页。格式如:DirecotryIndex index.html index.htm。

经过以上简单的配置后,你的WEB服务器已经具备基本的功能了。接下来要做的就是重启WEB服务,使刚才的配置生效,我们可以用以下命令来完成:

/etc/rc.d/init.d/httpd restart

最后,我们来看看基于Apache服务的安全方面。Apache服务器通过认证系统能控制哪些主机可以访问某些特定的站点。具体来说,它通过两种方式来实现:

一种是基于主机地址的认证,但由于目前大部分上网用户使用的都是动态地址,因此此种方式并没多少实际意义;

另一种方式是基于用户名/口令的认证方式,不言而喻,此种方式更适合如今的网络状况,而对于具体的用户名/口令认证实现。

未经允许不得转载:便宜VPS网 » linuxweb服务器配置实验报告(linuxweb服务器搭建实验报告)