CentOS 6.5 web服务器apache的安装与基本设置
CentOS 6.5系统镜像有两个,安装系统只用到第一个镜像即CentOS-6.5-i386-bin-DVD1.iso(32位)或者CentOS-6.5-x86_64-bin-DVD1.iso(64位),第二个镜像是系统自带软件安装包;对于新手不建议安装最小版本,很多基本的工具都需要安装。
具体的也可以参考这篇文章:
http://www.jb51.net/os/78318.html
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的一些相关安装信息;
对Apache的配置文件进行语法检查,可以使用以下命令
若要查看Apache编译配置参数,则可以使用以下命令;
apachectl -V
还可以使用以下命令查看Apache的编辑模块
重启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