在Apache中设置本地主机站点?


11

我一直在寻找如何在没有任何好的解决方案的情况下在ubuntu上设置localhost环境的星期。

这是我要实现的目标:

我想使用/home/'username'/Sites/'projectname.pl'或/ home /'username'/ Sites / pl /'projectname'/ public(或类似名称)这样的根文件夹

当访问我的本地主机时,我不需要写本地主机/'项目名称'/公共(或其他),我希望能够通过键入http://'项目名称'.pl来访问项目。

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

我将非常感谢您的帮助,并且我真的希望有可能。

问候!

Answers:


16

您可以在以下位置设置虚拟主机

/etc/apache2/sites-available

对于每个虚拟主机,您都希望在此目录中创建一个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


谢谢您的回答。我在问题中使用了som非法字符,导致som文本掉了出来。我已经更新了我的问题。请再次参考它,看看是否还有其他事情要做才能使它正常工作。问候!
锡2013年

好吧,基本上它保持不变。为了满足您的愿望,我已经编辑了答案:)
rechengehirn 2013年

这里的两个关键点是使用扩展名config命名apache config并随后重新启动apache。
JohnMerlino 2014年

为我工作!
arqam

1

只是为了在这里添加其他答案,我配置此类行为的方式是使用符号链接...似乎可以正常工作。这很容易做到,并且不需要任何配置文件。

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

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

是的,对于那些正在寻找一种干净,简单的方法来映射站点而不实际将其站点的目录放置在默认apache文件夹中的人,可以使用。

注意:我不确定以上内容是否适合生产环境,但对于本地开发来说似乎还可以。我不确定的原因是因为符号链接带有主目录中文件夹的权限,该目录(最有可能是)由用户“拥有”。如果需要的话,显然可以将其更改为更安全的“ root”(例如apache目录),但由于在开发环境中仅使用此命令,因此我将自己保留下来。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.