apache开启虚拟主机功能与httpd-vhosts.conf 配置分享

本文介绍如何在XAMPP环境下配置Apache虚拟主机。通过修改httpd.conf和httpd-vhosts.conf文件启用并设置虚拟主机,实现多个站点在同一服务器上运行。提供了具体的配置示例。

首先,在httpd.conf下开启虚拟主机功能

找到配置项

# Virtual hosts                                                                                                         
#Include /Applications/XAMPP/etc/extra/httpd-vhosts.conf  

修改为

# Virtual hosts                                                                                                         

Include /Applications/XAMPP/etc/extra/httpd-vhosts.conf  


开发时,httpd-vhosts.conf可以参考如下配置


<VirtualHost *:80>
ServerAdmin fudesign2008@163.com
DocumentRoot "F:\workspace\vim\YNote\src"
    ServerName editor.fuyg.cn
    ServerAlias editor.fuyg.cn
    ErrorLog "logs/dummy-host.localhost-error.log"
    CustomLog "logs/dummy-host.localhost-access.log" combined
    <Directory "F:\workspace\vim\YNote\src">
        Options Indexes FollowSymLinks
        AllowOverride All 
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
### 配置Apachehttpd-vhosts.conf文件以包含额外的虚拟主机配置并设置访问权限 以下是一个完整的配置示例,展示如何正确配置Apache的`httpd-vhosts.conf`文件以支持多个虚拟主机,并为每个虚拟主机设置适当的访问权限。 #### 1. 启用虚拟主机模块 确保在`httpd.conf`中启用虚拟主机模块。需要检查以下两行是否已取消注释: ```apache LoadModule vhost_alias_module modules/mod_vhost_alias.so Include conf/extra/httpd-vhosts.conf ``` 如果这两行前面有`#`符号,则需要将其移除[^3]。 #### 2. 配置httpd-vhosts.conf文件 在`httpd-vhosts.conf`文件中添加虚拟主机配置。以下是一个示例配置: ```apache ### 虚拟主机1:example.com <VirtualHost *:80> ServerAdmin webmaster@example.com DocumentRoot "D:/xampp/htdocs/example" ServerName example.com ServerAlias www.example.com ErrorLog "logs/example.com-error.log" CustomLog "logs/example.com-access.log" common <Directory "D:/xampp/htdocs/example"> Options Indexes FollowSymLinks IncludesNOEXEC AllowOverride All Require all granted </Directory> </VirtualHost> ### 虚拟主机2:testsite.com <VirtualHost *:80> ServerAdmin admin@testsite.com DocumentRoot "D:/xampp/htdocs/testsite" ServerName testsite.com ServerAlias www.testsite.com ErrorLog "logs/testsite.com-error.log" CustomLog "logs/testsite.com-access.log" common <Directory "D:/xampp/htdocs/testsite"> Options FollowSymLinks AllowOverride None Require ip 192.168.1.0/24 </Directory> </VirtualHost> ``` - `ServerAdmin`: 指定管理员的电子邮件地址。 - `DocumentRoot`: 定义网站文件存放的根目录。 - `ServerName`: 定义虚拟主机的域名。 - `ServerAlias`: 定义该虚拟主机的别名。 - `ErrorLog` 和 `CustomLog`: 分别定义错误日志和访问日志的路径。 - `<Directory>`: 定义特定目录的权限和选项。 - `Options`: 控制目录的特定功能,例如`Indexes`、`FollowSymLinks`等。 - `AllowOverride`: 控制`.htaccess`文件能重写的指令。 - `Require`: 设置访问权限,例如允许所有用户访问或仅允许特定IP访问[^5]。 #### 3. 测试配置 完成配置后,需要测试Apache配置文件是否有语法错误。可以使用以下命令进行测试: ```bash apachectl configtest ``` 如果没有错误,重启Apache服务以使更改生效: ```bash sudo systemctl restart apache2 ``` #### 4. 主机解析 为了确保能够通过域名访问虚拟主机,需要在本地`hosts`文件中添加相应的条目。例如,在`C:\Windows\System32\drivers\etc\hosts`文件中添加以下内容: ```plaintext 127.0.0.1 example.com www.example.com 127.0.0.1 testsite.com www.testsite.com ``` --- ### 注意事项 - 如果使用SSL/TLS加密,则需要为每个虚拟主机配置HTTPS,并生成相应的证书[^4]。 - 确保每个虚拟主机的`DocumentRoot`路径存在,并且Apache具有读取权限。 -配置访问控制时,可以根据需求使用`Require`指令限制特定IP或用户组的访问[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值