title: Apache安装与配置解析
tags: lamp
一 、下载apache2
sudo apt-get install apache2
二、查看配置文件
下载完成后进入apache的配置目录,ubutun在etc/apache2中,有以下文件
apache2.conf envvars mods-available sites-available
conf-available logs mods-enabled sites-enabled
conf-enabled magic ports.conf
其中 apache2.conf 是总的主配置文件,其他配置文件都需要在此文件中加载,sites-enabled 是站点的配置文件,ports.conf 是端口的配置文件。
三、apache.conf内容解析
DocumentRoot "/var/www/html" # apache的默认web站点目录路径,结尾不要添加斜线
<Directory /> #行为对根目录的限制
Options FollowSymLinks # followsymlinks表示允许使用符号链接,默认为禁用
AllowOverride None # 表示禁止用户对目录配置文件(.htaccess进行修改)重载,普通站点不建议开启
</Directory>
<Directory "/var/www/html"> #行为对 此目录 的控制
Options Indexes FollowSymLinks #启用Indexes、FollowSymLinks两种特性。
AllowOverride None
Order allow,deny
Allow from all
</Directory>
FollowSymLinks
服务器允许在此目录中使用符号连接。如果该配置选项位于配置段中,将会被忽略。
Indexes
如果输入的网址对应服务器上的一个文件目录,而此目录中又没有DirectoryIndex指令(例如:DirectoryIndex index.html index.php),那么服务器会返回由mod_autoindex模块生成的一个格式化后的目录列表,并列出该目录下的所有文件(如下图)。
Options Indexes指令作用效果
[外链图片转存失败(img-BwnF2n17-1564213095857)(./images/1552290100059.png)]
AllowOverrideNone
表示不允许这个目录下的访问控制文件来改变这里的配置,这也意味着不用查看这个目录下的访问控制文件,修改为:AllowOverride All 表示允许.htaccess。Order对页面的访问控制顺序后面的一项是默认选项,如allow,deny则默认是deny,
Allowfromall
表示允许所有的用户,通过和上一项结合可以控制对网站的访问控制
实际上,Apache允许在一个目录配置中设置多个Options指令。不过,一般来说,如果一个目录被多次设置了Options,则指定特性数量最多的一个Options指令会被完全接受(其它的被忽略),而各个Options指令之间并不会合并。但是如果我们在可选配置项前加上了符号"+“或”-",那么表示该可选项将会被合并。所有前面加有"+“号的可选项将强制覆盖当前的可选项设置,而所有前面有”-"号的可选项将强制从当前可选项设置中去除。你可以参考下面的例子:
三、Start Apache 2 Server
启动apache服务 /etc/init.d/apache2 start
/重启apache服务 /etc/init.d/apache2 restart
停止apache服务 /etc/init.d/apache2 stop
四、Apache .htaccess 文件的使用
.htaccess 文件(或者”分布式配置文件”提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。