符号链接 /var/www 目录

use*_*603 17 apache2 symbolic-link

我一直在尝试创建一个符号链接:

/var/www -> /home/USER/code/

/sf/ask/637303621/之后,我输入了以下命令:

须藤 ln -s /var/www /home/USER/code

然而结果并不是我所期望的。我的链接存储在 /www 目录中,而不是链接 www 目录本身。我使用 apache 作为本地 Web 服务器,就我而言,我必须访问我的代码

本地主机/代码/项目

而我希望有类似的东西

本地主机/项目

code目录应该只是作为我存储所有项目的目录。

我错过了什么吗?

小智 32

我认为你有错误的ln -s“来源”和“目标”


错误

sudo ln -s /var/www /home/USER/code


对:

sudo ln -s /home/USER/code /var/www


你最终会在你的/home/USER/code文件夹中得到一个符号链接,指向var/www哪个是错误的。

例如,我有一个用于 sally 站点的文件夹 /home/webs/sallybydesign/

cd /var/www
Run Code Online (Sandbox Code Playgroud)

不应该有任何文件夹或文件被调用sallybydesign/var/www因为我们将要制作一个。

 sudo ln -s  /home/ndmaque/webs/sallybydesign /var/www/sallybydesign
Run Code Online (Sandbox Code Playgroud)

查看新文件(符号链接)

ls -l
Run Code Online (Sandbox Code Playgroud)

您将看到一个名为 的文件sallybydesign,它是您home/webs/sallybydesign文件夹的符号链接,如果您运行

ls sallybydesign/ 
Run Code Online (Sandbox Code Playgroud)

您将看到文件home/webs/sallybydesign夹中的文件。

如果是这样,您可以将您的 vhost 文件指向/var/www/sallybydesign它,它会自动继承所有 apache/var/www权限并解决大量问题。

  • 默认情况下不会自动继承权限。确保在上面的示例中对“sallybydesign”执行“chmod 0755 -R”以允许网络服务器读取。另外,您必须在 / 的默认目录中设置“AllowOverride All”(通常在 apache.conf 中)。 (2认同)

Men*_*hak 3

www在创建符号链接之前 删除(或移动,为了安全)该目录。

所以,你应该有一个/var,但不应该有/var/www。然后,只有到那时,才会www创建一个名为 的符号链接,该链接指向您的 localhost/code/project 文件夹。

  • 这个接受的答案是错误的,首先,当我们谈论命令时,您说“删除”或“移动”,因此您也应该输入相应的 shell 命令。其次,他的 ln 命令中的源和目的地错误! (2认同)