CentOS 6.5 web服务器apache的安装与基本设置
<p>centos 6.5系统镜像有两个,安装系统只用到第一个镜像即centos-6.5-i386-bin-dvd1.iso(32位)或者centos-6.5-x86_64-bin-dvd1.iso(64位),第二个镜像是系统自带软件安装包;对于新手不建议安装最小版本,很多基本的工具都需要安装。</p>
<p>
具体的也可以参考这篇文章:</p>
<p>
centos 6.8 服务器系统安装配置图解教程</p>
<p>
<strong>使用yum安装apache</strong></p>
<p>
<code>yum install httpd -y</code></p>
<p>
apache web 服务器目录的文件</p>
<p>
</p>
<table><tbody>
<tr>
<td colspan="2">
<p>
目录</p>
</td>
<td colspan="2">
<p>
描述</p>
</td>
</tr>
<tr>
<td rowspan="4">
<p>
web站点目录</p>
</td>
<td colspan="2">
<p>
/var/www</p>
</td>
<td>
<p>
apache web站点文件的目录</p>
</td>
</tr>
<tr>
<td colspan="2">
<p>
/var/www/html</p>
</td>
<td>
<p>
存放web站点的web文件</p>
</td>
</tr>
<tr>
<td colspan="2">
<p>
/var/www/cgi-bin</p>
</td>
<td>
<p>
存放cgi程序文件</p>
</td>
</tr>
<tr>
<td colspan="2">
<p>
/var/www/html/manual</p>
</td>
<td>
<p>
存放服务器手册</p>
</td>
</tr>
<tr>
<td rowspan="3">
<p>
配置文件</p>
</td>
<td colspan="2">
<p>
.htaccess</p>
</td>
<td>
<p>
基于目录的配置文件。.htaccess文件包含对它所在目录中文件的访问控制指令</p>
</td>
</tr>
<tr>
<td colspan="2">
<p>
/etc/httpd/conf</p>
</td>
<td>
<p>
存放配置文件</p>
</td>
</tr>
<tr>
<td colspan="2">
<p>
/etc/httpd/conf/httpd.conf</p>
</td>
<td>
<p>
apache web 服务器主配置文件</p>
</td>
</tr>
<tr>
<td rowspan="2">
<p>
启动脚本</p>
</td>
<td colspan="2">
<p>
/etc/rc.d/init.d/httpd</p>
</td>
<td>
<p>
存放web服务器守护进程的启动脚本</p>
</td>
</tr>
<tr>
<td colspan="2">
<p>
/etc/rc.d/rc3.d/s85httpd</p>
</td>
<td>
<p>
存放将/etc/rc3.d目录连接到/etc/rc.d/init.d目录中的启动脚本</p>
</td>
</tr>
<tr>
<td rowspan="4">
<p>
应用文件</p>
</td>
<td colspan="2">
<p>
/usr/sbin</p>
</td>
<td>
<p>
存放apache web 服务器程序文件和使用程序</p>
</td>
</tr>
<tr>
<td colspan="2">
</td>
<td>
</td>
</tr>
<tr>
<td colspan="2">
<p>
/usr/doc</p>
</td>
<td>
<p>
存放apache web 服务器文件</p>
</td>
</tr>
<tr>
<td colspan="2">
<p>
/usr/log/http</p>
</td>
<td>
<p>
存放apache日志文件</p>
</td>
</tr>
</tbody></table>
<p>
</p>
<p>
安装完毕后,可以使用如下命令来查看apache的一些相关安装信息;</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 6.5 web服务器apache的安装与基本设置" alt="CentOS 6.5 web服务器apache的安装与基本设置" src="https://zhuji.jb51.net/uploads/img/202305/2fbdc2c93902548c10f1f2ac00a2ee6b.jpg"></p>
<p>
<span><span>对</span>apache<span>的配置文件进行语法检查,可以使用以下命令</span></span></p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 6.5 web服务器apache的安装与基本设置" alt="CentOS 6.5 web服务器apache的安装与基本设置" src="https://zhuji.jb51.net/uploads/img/202305/b0b6413ff003d203f12cb365fc9aa204.jpg"></p>
<p>
<span><span>若要查看</span>apache<span>编译配置参数,则可以使用以下命令;</span></span></p>
<p>
<span>apachectl -v</span></p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 6.5 web服务器apache的安装与基本设置" alt="CentOS 6.5 web服务器apache的安装与基本设置" src="https://zhuji.jb51.net/uploads/img/202305/5879b4b7622592836f417178dc0df9b2.jpg"></p>
<p>
<span><span>还可以使用以下命令查看</span>apache<span>的编辑模块</span></span></p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 6.5 web服务器apache的安装与基本设置" alt="CentOS 6.5 web服务器apache的安装与基本设置" src="https://zhuji.jb51.net/uploads/img/202305/124722fd3646e9f51272947a2e21117c.jpg"></p>
<p>
重启apache服务</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 6.5 web服务器apache的安装与基本设置" alt="CentOS 6.5 web服务器apache的安装与基本设置" src="https://zhuji.jb51.net/uploads/img/202305/133c9173dd4209821735249d58215bc8.jpg"></p>
<p>
<strong>apache 服务器的基本配置</strong></p>
<p>
对apache 服务器的配置,主要是通过编译apache的主配置文件httpd.conf来实现的。需要注意的是修改httpd.conf文件后,必须重新启动httpd服务,所做的修改才能够生效。<br>
httpd.conf文件的位置随着安装方式的不同而不同,如果使用rpm的方式安装,则该文件通常存放在/etc/httpd/conf目录下;如果使用编译源代码的方式安装,则该文件通常存放在apache安装目录的conf子目录下。由于httpd.conf是一个文本文件,因此可以使用任何文本编辑器(例如vi)对其进行编辑。<br>
httpd.conf配置文件主要由三个部分组成,分别是全局环境设置(section 1:global environment)、主服务器配置(section 2:'main' server configuration)和虚拟主机设置<br>
(section 3: vitual hosts).<br>
每个部分都有相应的配置语句,所有配置语句的语法均为;<br>
配置参数名称(选项) 参数值<br>
尽管配置语句可以放在文件中的任何位置,但为了使http.conf的配置语句除了选择的参数值外,所有的选项指令均不区分大小写。可以在每一行语句前用#表示注释。<br>
</p>
<p>
<strong>设置根目录路径</strong></p>
<p>
apache服务器根目录是指apache存放配置文件和日志文件的目录,配置参数为serverroot,<br>
默认情况下根目录位于“/etc/httpd”.根目录下一般包含conf和logs子目录。命令如下:<br>
serverroot “/etc/httpd”</p>
<p>
<strong>设置监听ip地址及端口号</strong><br>
apache默认在本机所以可用ip地址的tcp80端口上监听客户端的请求,命令如下:<br>
listen 80<br>
可以使用listen 语句在多个地址和端口上监听客户端请求。如设置服务器指监听来自12.34.56.78的80端口和192.168.1.144的8080端口的请求,可以使用以下配置语句:<br>
listen 12.34.56.78:80<br>
listen 192.168.1.144:8080 </p>
<p>
<strong>设置系统管理员e-mail</strong><br>
当客户端访问服务器发生错误时,服务器通常会向客户端返回错误提示网页,为了便于排除错误,这个网页中通常包含有系统管理员的e-mail地址。可以使用配置参数serveradmin设置管理员的e-mail,例如:<br>
serveradmin admin@your-domain.com<br>
<br><strong>设置服务器主机名称</strong><br>
为了方便apache识别服务器自身的信息,可以使用配置参数servername来设置服务器的主机名称。如果服务器有域名,则填入服务器域名:如果没有域名则填入服务器的ip地址。命令如下:<br>
servername www.example.com:80<br>
#servername 192.168.0.47:80</p>
<p>
<strong>设置主目录路径</strong><br>
apache服务器主目录默认路径的配置参数为documentroot,其位于“/var/www/html”下,<br>
需要发布的网页一般都放在这个目录下。但为了方便管理和使用,也可以修改主目录路径,将其改为其他目录。如:<br>
documentroot “/var/www/html”<br>
例如,可以通过修改配置参数documentroot的参数值将apache服务器主目录路径设为“/home/www”<br>
documentroot “/home/www”</p>
<p>
<strong>设置默认文件</strong><br>
默认文件是指在web浏览器中输入web站点的ip地址或域名即显示出来的web页面。也就是当url中没有指定要访问的页面时,web浏览器中默认显示的页面,即通常所说的主页,在一般情况下,apache的默认文件为index.html,默认文件名由directoryindex配置参数定义。用户可以将directoryindex的参数值改为其他文件:<br>
directoryindex index.html index.html.var<br>
如果设置多个默认文件,各个文件名之间必须用空格分隔。apache会根据文件名的先后顺序查找在“主目录”路径下的文件名,如果能找到第一个文件则调用第一个文件,否则在寻找并调用第二个文件,依次类推。<br>
例如,若要添加index.html 和index.jsp作为默认文件,则可以做如下修改:<br>
directoryindex index.html index.htm index.jsp index.html .var<br>
<br><strong>配置目录权限</strong><br>
在httpd.conf文件中,使用<directory>可以灵活的设置目录的权限。<directory>是容器语句,<br>
必须成对出现。<directory目录路径>和</directory>之间封装了设置目录权限的语句,这些语句仅对呗设置的目录及其子目录起作用。以下是一个在httpd.conf文件中使用<directory>设置目录权限的例子:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterplain" id="highlighter_992181">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="plain plain"><directory “/var/www/icons”></code>
</div>
<div class="line number2 index1 alt1">
<code class="plain plain">options indexes multiviews</code>
</div>
<div class="line number3 index2 alt2">
<code class="plain plain">allowoverride none</code>
</div>
<div class="line number4 index3 alt1">
<code class="plain plain">order allow,deny</code>
</div>
<div class="line number5 index4 alt2">
<code class="plain plain">allow from all</code>
</div>
<div class="line number6 index5 alt1">
<code class="plain plain"></directory></code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
<strong>定义目录特性选项</strong><br>
在<directory>语句中,可以使用options来定义目录的特性,也就是设置某个目录使用哪些特性。这些特性包括indexes、multiviews和execcgl等。<br>
indexes<br>
该特性表面目录允许“目录浏览”,当客户仅指定要访问的目录,当没有指定具体要访问目录下的哪个文件,而该目录下又不仅存在默认文件时,apache将以超文本形式返回该目录中的文件和子目录的列表。<br>
</p>
<p>
muitiviews<br>
该特性<br>
表明目录允许内容智能匹配。这一特性具有一定的智能。当客户需要访问的对象在目录中不存在时,apache将根据客户所访问的对象的内容返回智能处理后的结果。例如,当客户访问“http://192.168.0.2/icons/a”时,apache会查找icons目录下的所有a.*文件。假如该目录下存在a.gif文件,则apache将返回a.gif文件至客户端,而不会返回错误信息。<br>
<br>
all<br>
all包含了除multiviews之外的所有特性。当<directory>容器中没有options时,默认值为all。<br>
<br>
execcgl<br>
该特性表明允许在该目录下执行cgl脚本。<br>
<br>
followsymlinks<br>
该特性表明允许在该目录下使用符号链接。<br>
<br>
.htaccess文件<br>
在httpd.conf文件中,配置参数accessfilename的默认值为.htaccess。因此,可以通过.htaccess文件(访问控制文件)<br><strong>设置目录的权限。</strong><br>
accessfilename .htaccess<br>
配置参数allowoverride可以指定目录的.htaccess文件中指令的类型。这些类型包括all、none与options、filelnfo、authconfig、limit的任意组合。<br>
基于安全和效率的考虑,虽然可以通过.htaccess文件来设置目录的访问权限,但应尽可能地避免使用.htaccess文件。因此,一般将allowoverride设置为none,即禁止使用.htaccess文件中的设置:<br>
allowoverride none<br>
当allowoverride参数值为all时,.htaccess文件可以覆盖任何以前的配置。<br>
<br><strong>实现访问控制</strong><br>
目录的访问控制可以通过allow和deny语句实现,order选项就用于定义默认的访问权限以及allow和deny语句的处理顺序。allow语句之后显示被允许访问该目录的主机名列表,而deny语句后则是被拒绝访问的主机名列表。<br>
allow和deny语句可以针对客户机的域名或ip地址进行设置,以觉得哪些客户机能够访问服务器。order语句通常的设置为以下两种情况下之一;<br>
order allow,deny或 order deny,allow<br>
allow,deny:默认禁止所有客户机的访问,且allow语句在deny语句之前被匹配。如果某条件即匹配deny语句又匹配allow语句,则deny语句起作用(由于deny语句覆盖了allow语句)<br>
deny,allow默认允许所有客户机访问,且deny语句在allow语句之前被匹配.如果某条件允许即匹配deny语句又匹配allow语句,则allow语句起作用(由于allow语句覆盖了deny语句)。<br>
下面举例来说明order、allow和deny语句的使用方法。</p>
<p>
<strong>以下语句表明允许所有客户机的访问:</strong></p>
<p>
order allow,deny<br>
allow from all<br>
以下语句表明除了来自www.deny.com和ip地址为192.168.10.147的客户机外,允许所有客户机的访问;<br>
order deny,allow<br>
deny from www.deny.com<br>
deny from 192.168.10.147<br>
以下语句表明仅允许来自192.168.10ip段的客户机访问<br>
order allow,deny<br>
allow from 192.168.10<br>
以下语句表明仅允许来自网络192.168.10.0/24客户机的访问,但ip地址为192.168.10.147的客户机除外<br>
order allow,deny<br>
allow from 192.168.10.0/24<br>
deny from 192.168.10.147</p>
<p>
原文链接:http://10086lhc.blog.51cto.com/10854889/1883862</p>
頁:
[1]