![设置 Debian 服务器,从 /var/www/dir 到其他目录的符号链接](https://linux22.com/image/1362102/%E8%AE%BE%E7%BD%AE%20Debian%20%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8C%E4%BB%8E%20%2Fvar%2Fwww%2Fdir%20%E5%88%B0%E5%85%B6%E4%BB%96%E7%9B%AE%E5%BD%95%E7%9A%84%E7%AC%A6%E5%8F%B7%E9%93%BE%E6%8E%A5.png)
我想要实现的目标是:
请求来自:sub.mydomain.co.uk
我必须将 DocumentRoot 设置为 /var/www/common
我在 /var/www/common 中创建了一个符号链接,如“ln -s /home/user/folder/ sub.mydomain.co.uk”
我如何让 apache 将其识别为用户目录并遵循它。
答案1
我不确定这是否正是您所需要的,但应该足以开始。首先,www-data 用户(debian 的 apache 默认用户)必须有权访问 /home/user/folder
然后您可以在文件中为 apache 创建新的配置/etc/apache/sites-available/virtuals
<VirtualHost *:80>
DocumentRoot /var/www/common/default/
VirtualDocumentRoot /var/www/common/%0
<Directory />
Options FollowSymlinks
AllowOverride All
</Directory>
</VirtualHost>
然后你需要使用以下命令激活此配置
a2ensite virtuals
service apache2 reload
最好禁用默认配置
a2dissite default
service apache2 reload
/var/www/common/default
当请求不存在的页面时应该有一些默认页面。
使用此配置,您可以简单地为您希望在服务器上处理的任何域创建目录/var/www/common
,因此http://one.simple.domain.com
将从/var/www/common/one.simple.domain.com directory
另外更安全的方法是设置SymLinksIfOwnerMatch
而不是FollowSymlinks
,请参阅相应的文档。