根据httpd-2.4.18-x64-vc11-r2版本的httpd.conf去记录的。
1. Define定义常量,定义了一个名字为SRVROOT的常量
语法 常量名 常量的值
Define SRVROOT "I:/server/httpd/Apache24"
在文档的其他地方引用该常量的方法:
ServerRoot "${SRVROOT}" 定义服务器根目录
DocumentRoot "${SRVROOT}/htdocs" 定义网站根目录
上例是通过在顶端定义了一个常量,在下面引用该常量来访问,好处不用多说了,之后改动只要改这一个即可,其他的都是相对路径了。
2. Listen 80,添加监听的端口号,可以同时监听多个。
3. Dynamic Shared Object (DSO) Support动态共享对象支持。即打开#号和关闭#,来控制模块是否加载,这个不一一说,以后再慢慢研究。
4. ServerAdmin admin@example.com当服务器出现错误的时候,发送邮件到该地址,这个地址显示在服务器生成的页面。
5. ServerName localhost:80 服务器名称
6. 访问服务器文件系统的权限设置。
<Directory />
AllowOverride none
# Require all denied
Require all granted 允许ip访问
</Directory>
7. 网站访问的根目录及权限设置
DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">
Options Indexes FollowSymLinks 允许列出文件目录
AllowOverride None 是否允许重写
Require all granted 控制谁可以从服务器获得资料
</Directory>
8. 服务器默认访问的文件名字
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
php的要在后面加上index.php或者server.php等。
9. 定义不被允许访问的文件,可通过正则匹配文件名
<Files ".ht*">
Require all denied
</Files>
10. 定义错误日志文件
ErrorLog "logs/error.log"
11. 日志级别记录控制。
LogLevel warn(可包括debug, info, notice, warn, error, crit,alert, emerg.)
虚拟机配置
服务器默认的是关闭的,在http.conf中对应的代码是这样的。
# Virtual hosts
# Include conf/extra/httpd-vhosts.conf
打开下面一句前面的#号,即可。虚拟机的配置在httpd-vhosts.conf文件中。可在conf下的extra文件夹里面找到。
在里面添加如下形式的:
#<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot "${SRVROOT}/docs/dummy-host.example.com" 项目在本机的目录
# ServerName dummy-host.example.com 访问输入的地址URL
# ServerAlias www.dummy-host.example.com 访问的别名
# ErrorLog "logs/dummy-host.example.com-error.log" 错误日志记录文件
# CustomLog "logs/dummy-host.example.com-access.log" common 虚拟主机访问的日志
#</VirtualHost>
虚拟机一般分为基于IP、基于主机名、和基于端口号的方式三种。配置就不多说了,可以参考其他的。
别名alias_module
Alias /web "${SRVROOT}/htdocs/yii"
添加一个到别名,指向指定的目录即可通过,http://localhost/web来访问放在其他地方的yii。
指定的访问路径必须配置一下:
<Directory "${SRVROOT}/htdocs/yii">
AllowOverride All
Options Indexes FollowSymLinks
Require all granted
</Directory>