在尝试设置 Apache2 在 Ubuntu 14.04 上本地托管几个网站以进行开发时,我决定尝试使用符号链接,这样我就不需要更改目录结构(维护主目录中“工作区”文件夹内的文件夹内的所有内容)。
问题是:尝试访问 local.mobile.weplann.com 或 local.desktop.weplann.com 时,出现 DNS 错误。我已在 OSX 系统上设置并运行该程序,但还需要在 Ubuntu 计算机上运行该程序。
ln -s
使用目录内设置符号链接/var/www/
。权限应该不是问题,因为我将链接目录的所有权限设置为如下所示:
drwxrwxr-x 15 www-data cree 4096 Apr 25 15:01 workspace
我的 /etc/hosts 文件如下:
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# local weplann
127.0.0.1 local.mobile.weplann.com
127.0.0.1 local.desktop.weplann.com
我的虚拟主机文件名为weplann.com.conf
,已启用并内容如下:
<VirtualHost *:80>
ServerAdmin admin@localhost
ServerName local.desktop.weplann.com
ServerAlias local.desktop.weplann.com
DocumentRoot /var/www/design/desktop
ErrorLog /var/www/design/logs/error.log
CustomLog /var/www/design/logs/access.log combined
<Directory /var/www/design/desktop/>
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride None
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin admin@localhost
ServerName local.mobile.weplann.com
ServerAlias local.mobile.weplann.com
DocumentRoot /var/www/design/mobile
ErrorLog /var/www/design/logs/error.log
CustomLog /var/www/design/logs/access.log combined
<Directory /var/www/design/mobile/>
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride None
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
“允许所有”被配置为“允许来自本地主机”,但我将其更改为解决问题。
当我localhost
在浏览器中加载时,它会加载/var/www/html
目录,这是与该项目无关的另一个网站。加载/var/www/design/desktop
或/var/www/design/mobile
可以从符号链接的目录中加载文件。但是,它们无法正确显示,因为它们包含重定向到的相对链接,/localhost/path/
而不是/localhost/design/desktop/path/
。
我停用000-default.conf
了链接到 localhost 的文件,所以这应该不是问题。error.log 文件中没有错误,除非我通过 localhost,否则 access.log 文件中没有任何条目。
有人知道发生了什么事吗?(查看了其他几个 stackoverflow/askubuntu 线程,但无法解决这个问题 - 发布在堆栈溢出昨天也一样)