欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

CentOS 6.5 web服务器apache的安装与基本设置

程序员文章站 2022-06-13 19:30:18
centos 6.5系统镜像有两个,安装系统只用到第一个镜像即centos-6.5-i386-bin-dvd1.iso(32位)或者centos-6.5-x86_64-bi...

centos 6.5系统镜像有两个,安装系统只用到第一个镜像即centos-6.5-i386-bin-dvd1.iso(32位)或者centos-6.5-x86_64-bin-dvd1.iso(64位),第二个镜像是系统自带软件安装包;对于新手不建议安装最小版本,很多基本的工具都需要安装。

具体的也可以参考这篇文章:

centos 6.8 服务器系统安装配置图解教程

使用yum安装apache

yum install httpd -y

apache web 服务器目录的文件

目录

描述

web站点目录

/var/www

apache web站点文件的目录

/var/www/html

存放web站点的web文件

/var/www/cgi-bin

存放cgi程序文件

/var/www/html/manual

存放服务器手册

配置文件

.htaccess

基于目录的配置文件。.htaccess文件包含对它所在目录中文件的访问控制指令

/etc/httpd/conf

存放配置文件

/etc/httpd/conf/httpd.conf

apache web 服务器主配置文件

启动脚本

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

存放web服务器守护进程的启动脚本

/etc/rc.d/rc3.d/s85httpd

存放将/etc/rc3.d目录连接到/etc/rc.d/init.d目录中的启动脚本

应用文件

/usr/sbin

存放apache web 服务器程序文件和使用程序



 /usr/doc

存放apache web 服务器文件

/usr/log/http

存放apache日志文件

安装完毕后,可以使用如下命令来查看apache的一些相关安装信息;

CentOS 6.5 web服务器apache的安装与基本设置

apache的配置文件进行语法检查,可以使用以下命令

CentOS 6.5 web服务器apache的安装与基本设置

若要查看apache编译配置参数,则可以使用以下命令;

apachectl  -v

CentOS 6.5 web服务器apache的安装与基本设置

还可以使用以下命令查看apache的编辑模块

CentOS 6.5 web服务器apache的安装与基本设置

重启apache服务

CentOS 6.5 web服务器apache的安装与基本设置

apache 服务器的基本配置

对apache 服务器的配置,主要是通过编译apache的主配置文件httpd.conf来实现的。需要注意的是修改httpd.conf文件后,必须重新启动httpd服务,所做的修改才能够生效。
httpd.conf文件的位置随着安装方式的不同而不同,如果使用rpm的方式安装,则该文件通常存放在/etc/httpd/conf目录下;如果使用编译源代码的方式安装,则该文件通常存放在apache安装目录的conf子目录下。由于httpd.conf是一个文本文件,因此可以使用任何文本编辑器(例如vi)对其进行编辑。
httpd.conf配置文件主要由三个部分组成,分别是全局环境设置(section 1:global environment)、主服务器配置(section 2:'main' server configuration)和虚拟主机设置
(section 3: vitual hosts).
每个部分都有相应的配置语句,所有配置语句的语法均为;
配置参数名称(选项) 参数值
尽管配置语句可以放在文件中的任何位置,但为了使http.conf的配置语句除了选择的参数值外,所有的选项指令均不区分大小写。可以在每一行语句前用#表示注释。
 

设置根目录路径

apache服务器根目录是指apache存放配置文件和日志文件的目录,配置参数为serverroot,
默认情况下根目录位于“/etc/httpd”.根目录下一般包含conf和logs子目录。命令如下:
serverroot “/etc/httpd”

设置监听ip地址及端口号
apache默认在本机所以可用ip地址的tcp80端口上监听客户端的请求,命令如下:
listen 80
可以使用listen 语句在多个地址和端口上监听客户端请求。如设置服务器指监听来自12.34.56.78的80端口和192.168.1.144的8080端口的请求,可以使用以下配置语句:
listen 12.34.56.78:80
listen 192.168.1.144:8080 

设置系统管理员e-mail
当客户端访问服务器发生错误时,服务器通常会向客户端返回错误提示网页,为了便于排除错误,这个网页中通常包含有系统管理员的e-mail地址。可以使用配置参数serveradmin设置管理员的e-mail,例如:
serveradmin admin@your-domain.com
 
设置服务器主机名称
为了方便apache识别服务器自身的信息,可以使用配置参数servername来设置服务器的主机名称。如果服务器有域名,则填入服务器域名:如果没有域名则填入服务器的ip地址。命令如下:
servername www.example.com:80
#servername 192.168.0.47:80

设置主目录路径
apache服务器主目录默认路径的配置参数为documentroot,其位于“/var/www/html”下,
需要发布的网页一般都放在这个目录下。但为了方便管理和使用,也可以修改主目录路径,将其改为其他目录。如:
documentroot “/var/www/html”
例如,可以通过修改配置参数documentroot的参数值将apache服务器主目录路径设为“/home/www”
documentroot “/home/www”

设置默认文件
默认文件是指在web浏览器中输入web站点的ip地址或域名即显示出来的web页面。也就是当url中没有指定要访问的页面时,web浏览器中默认显示的页面,即通常所说的主页,在一般情况下,apache的默认文件为index.html,默认文件名由directoryindex配置参数定义。用户可以将directoryindex的参数值改为其他文件:
directoryindex index.html index.html.var
如果设置多个默认文件,各个文件名之间必须用空格分隔。apache会根据文件名的先后顺序查找在“主目录”路径下的文件名,如果能找到第一个文件则调用第一个文件,否则在寻找并调用第二个文件,依次类推。
例如,若要添加index.html 和index.jsp作为默认文件,则可以做如下修改:
directoryindex index.html index.htm index.jsp index.html .var
 
配置目录权限
在httpd.conf文件中,使用<directory>可以灵活的设置目录的权限。<directory>是容器语句,
必须成对出现。<directory目录路径>和</directory>之间封装了设置目录权限的语句,这些语句仅对呗设置的目录及其子目录起作用。以下是一个在httpd.conf文件中使用<directory>设置目录权限的例子:

<directory “/var/www/icons”>
options indexes multiviews
allowoverride none
order allow,deny
allow from all
</directory>

定义目录特性选项
在<directory>语句中,可以使用options来定义目录的特性,也就是设置某个目录使用哪些特性。这些特性包括indexes、multiviews和execcgl等。
indexes
该特性表面目录允许“目录浏览”,当客户仅指定要访问的目录,当没有指定具体要访问目录下的哪个文件,而该目录下又不仅存在默认文件时,apache将以超文本形式返回该目录中的文件和子目录的列表。
  

muitiviews
该特性
表明目录允许内容智能匹配。这一特性具有一定的智能。当客户需要访问的对象在目录中不存在时,apache将根据客户所访问的对象的内容返回智能处理后的结果。例如,当客户访问“http://192.168.0.2/icons/a”时,apache会查找icons目录下的所有a.*文件。假如该目录下存在a.gif文件,则apache将返回a.gif文件至客户端,而不会返回错误信息。
 
all
all包含了除multiviews之外的所有特性。当<directory>容器中没有options时,默认值为all。
 
execcgl
该特性表明允许在该目录下执行cgl脚本。
 
followsymlinks
该特性表明允许在该目录下使用符号链接。
 
.htaccess文件
在httpd.conf文件中,配置参数accessfilename的默认值为.htaccess。因此,可以通过.htaccess文件(访问控制文件)
设置目录的权限。
accessfilename  .htaccess
配置参数allowoverride可以指定目录的.htaccess文件中指令的类型。这些类型包括all、none与options、filelnfo、authconfig、limit的任意组合。
基于安全和效率的考虑,虽然可以通过.htaccess文件来设置目录的访问权限,但应尽可能地避免使用.htaccess文件。因此,一般将allowoverride设置为none,即禁止使用.htaccess文件中的设置:
allowoverride none
当allowoverride参数值为all时,.htaccess文件可以覆盖任何以前的配置。
 
实现访问控制
目录的访问控制可以通过allow和deny语句实现,order选项就用于定义默认的访问权限以及allow和deny语句的处理顺序。allow语句之后显示被允许访问该目录的主机名列表,而deny语句后则是被拒绝访问的主机名列表。
allow和deny语句可以针对客户机的域名或ip地址进行设置,以觉得哪些客户机能够访问服务器。order语句通常的设置为以下两种情况下之一;
order  allow,deny或 order deny,allow
allow,deny:默认禁止所有客户机的访问,且allow语句在deny语句之前被匹配。如果某条件即匹配deny语句又匹配allow语句,则deny语句起作用(由于deny语句覆盖了allow语句)
deny,allow默认允许所有客户机访问,且deny语句在allow语句之前被匹配.如果某条件允许即匹配deny语句又匹配allow语句,则allow语句起作用(由于allow语句覆盖了deny语句)。
下面举例来说明order、allow和deny语句的使用方法。

以下语句表明允许所有客户机的访问:

order allow,deny
allow from all
以下语句表明除了来自www.deny.com和ip地址为192.168.10.147的客户机外,允许所有客户机的访问;
order deny,allow
deny from www.deny.com
deny from 192.168.10.147
以下语句表明仅允许来自192.168.10ip段的客户机访问
order allow,deny
allow from 192.168.10
以下语句表明仅允许来自网络192.168.10.0/24客户机的访问,但ip地址为192.168.10.147的客户机除外
order  allow,deny
allow from 192.168.10.0/24
deny from 192.168.10.147