如何安装配置解压版Apache
安装解压版Apache
-
将解压版的Apache先解压到纯英文路径的文件夹,这里我放在D:/develop/apache文件夹中,然后执行以下命令:
# 注意:需要使用管理员身份运行命令行!!! # 切换到 Apache 解压路径中的 bin 目录 $ cd <解压目录>/bin # 安装 Apache 服务,‐n 参数是指定服务名称 $ httpd.exe ‐k install ‐n "Apache" # 如果需要卸载 Apache,可以执行以下命令 $ httpd.exe ‐k uninstall ‐n "Apache"
-
执行安装命令过后会报一个错,原因是默认的配置文件有问题,需要先调整一下配置文件 D:/develop/apache/conf/httpd.conf ,才能正常启动服务。
找到 Apache 解压目录中的 conf 目录下的 httpd.conf 文件,定位到 大致37 行左右,将 C:/Apache24 改为解压目录,我这里压到路径是 D:/develop/apache (下面的图片仅做参考),所以我这里修改
修改完以后,执行以下命令重新测试配置文件是否通过。httpd.exe ‐t
仍然会出现如下报错:
通过错误信息得知,这里是因为另外一个地方配置的目录不存在导致的,所以接着调整大致 246 行左右的 DocumentRoot 选项为 你想要设置的允许被访问的文件夹(存放站点的文件夹),这里我专门在D盘新建了一个名为 www 的文件夹用于存放站点,所以我设置为 D:/www (注意:此文件夹路径以及其下文件夹的路径应该是纯英文的路径,且路径中无空格):
随即,我们发现这个配置文件中有很多默认配置选项中的路径都是 C:/Apache24 ,所以我们批量都修改为我们解压的目录路径, 我修改为 D:/develop/apache。
然后重新执行 httpd.exe -t 测试配置文件,这时候应该提示 Syntax OK 。
如果有关于 ServerName 的警告提示,不用管它,暂时还不会影响我们接下来的使用和操作。 -
接着运行以下命令重新启动 Apache 服务:
# 注意:需要使用管理员身份运行命令行!!! $ httpd.exe ‐k start ‐n "Apache" # 重新启动 Apache 服务 $ httpd.exe ‐k restart ‐n "Apache" # 停止 Apache 服务 $ httpd.exe ‐k stop ‐n "Apache"
-
回到浏览器中,地址栏输入:http://localhost/,回车访问,这时正常应该看到 It works!
此时,Apache就安装成功了。
配置Apache
-
配置监听端口
监听端口可以随意修改为任意一个未被其他程序监听的端口,可以通过设置配置文件 httpd.conf 中的 Listen 指令后面的数字修改。
-
配置网站根目录
网站根目录就是存放我们网站文件的最顶层目录,通常 URL 中域名后面的第一个斜线对应(映射)的就是网站根目录。
默认文档指的是我们在访问某一个目录时(没有指定具体的文件),默认访问的文件叫做默认文档。
注:动态网站情况会比较特殊,需要单独考虑,不一定是这个规则。默认 Apache 的网站根目录是安装目录中的 htdocs 文件夹,为了方便对网站文件的管理,一般我们会将其设置在一个自定义目录中(如果你不介意其实不修改也无所谓)。
如果需要设置网站根目录,可以通过修改配置文件 httpd.conf 中的网站根目录选项切换。
-
配置默认文档
当客户端访问的是一个目录而不是具体文件时,服务端默认返回这个目录下的某个文档(文件),这个文档就称之为 默认文档。
配置文件 httpd.conf 的 280 行的 DirectoryIndex ,默认文档可以配置多个(有前到后依次去找,找到为止,如果没找到任何一个则启用目录浏览):
-
配置及虚拟主机
如果一台机器上只有一个网站的话,没有任何问题,但是如果想要在一台机器上部署多个站点,就必须通过配置虚拟主机的方式解决。
具体的操作方式就是在主配置文件 httpd.conf 的 505 行取消注释:
然后找到 Apache 的虚拟主机配置文件(D:/develop/apache/conf/extra/httpd-vhost.conf),添加一个如下的虚拟主机配置节点,然后重新启动 Apache。
这个文件中有两个默认的示例配置,可以注释掉。
上图中设置的虚拟主机的域名实际上指向 127.0.0.1 的本机IP,这个设置可以在本地的 host 文件(Windows: C:\Windows\System32\drivers\etc\hosts 。macOS: /etc/hosts)中修改或设置某个IP地址为一个特定的域名。
-
设置是否在客户端显示根目录
当你使用localhost访问一个文件夹,当该文件夹下没有默认文档的时候,该页面就会直接打印该文件夹的结构目录。如图:
下面介绍了如何禁止打印目录结构的方法。
如下图所示,删掉 httpd.conf 文件中第260行代码中的 Indexes 这个单词,就可以禁止显示文件夹目录。
禁止显示文件夹目录后再使用localhost访问一个文件夹时,会出现如图所示:
当然,如果这个文件夹下有一个默认显示的文件,比如 index.html ,那么依然会直接显示这个默认的文件。
别担心,不要以为这样就是无法访问这个默认文件夹了,它只是隐藏了文件夹的目录而已。你可以通过 localhost 后加具体的文件路径来访问默认文件夹下的文件。
(建议开发的时候打开根目录的显示,便于自己查找文件,而实际投放运行时则需要禁止根目录的显示)
好的,Apache的安装与配置到这里就结束了,需要 Apache 解压版 或者有其他问题的小伙伴欢迎评论或私戳。下次介绍如何安装 php 以及怎样为 Apache 配置 php 。