在 apache 中设置 localhost 站点?

在 apache 中设置 localhost 站点?

我已经搜索了数周如何在 ubuntu 上设置本地主机环境,但没有任何好的解决方案。

这就是我想要实现的目标:

我希望我的根文件夹为 /home/'username'/Sites/'projectname.pl' 或 /home/'username'/Sites/pl/'projectname'/public (或类似)

当访问我的本地主机时,我不想写 localhost/'projectname'/public (或其他内容),我希望只需输入 http://'projectname'.pl 即可访问该项目

我知道这可以在 OSX 上的 apache 服务器上实现,但我还没有找到任何指南来在我的 Ubuntu 机器上实现这一点。

我将非常感激任何帮助,并且我真的希望这是可能的。

问候!

答案1

您可以在

/etc/apache2/sites-available

对于您想要的每个 vhost,请在此目录中创建一个 conf 文件。在 vhost 配置中,您可以设置文档根目录。文件的名称必须以 .conf 结尾

例如:/etc/apache2/sites-available/projectname.conf:

<VirtualHost *:80>
  ServerName projectname.pl

  DocumentRoot "/home/Sites/projectname/public"

</VirtualHost>

现在使用以下命令启用你的站点:

sudo a2ensite projectname

然后重新启动 apache:

sudo /etc/init.d/apache2 restart

然后编辑您的 /etc/hosts 文件。

只需粘贴以下行:

127.0.0.1 projectname.pl

在末端。

现在您可以使用以下方式访问您的网站http://projectname.pl

答案2

补充一下这里的其他答案,我配置这种行为的方式是使用符号链接...似乎工作正常。这很容易做到,不需要任何配置文件。

sudo ln -s ~/path/to/yoursite/ /var/www/html/yoursite

上面的最后部分可能与您有所不同。以上是我在 Linux Mint 17 中使用的。'/var/www/html/' 目录是默认的 apache“站点”文件夹。

所以,对于任何正在寻找一种干净、简单的方法来映射站点而无需将其站点的目录实际放在默认的 apache 文件夹中的人来说,这就是您要找的方法。

笔记:我不确定上述内容是否适用于生产环境,但对于本地开发来说,似乎没问题。我不确定的原因是符号链接带有主目录中文件夹的权限,该文件夹(很可能)由用户“拥有”。如果需要,您显然可以将其更改为更安全的“根”,例如 apache 目录,但我保留我的目录,因为我只是在开发环境中使用它。

答案3

我按照本指南解决了这个问题。这是一个非常巧妙的解决方案,它使您可以在指定的“站点”文件夹中创建一个文件夹,然后访问它,而无需为每个新站点添加可用的站点。

指南 -> http://css.dzone.com/articles/drop-folder-directory-and-have

相关内容