我正在尝试为 Facebook 应用设置开发环境,并遵循官方 Hiroku 指南为本地开发设置一切(https://devcenter.heroku.com/articles/facebook#create_an_app)。除了一步之外,我已完成所有设置:
Apache 设置环境变量
如果您使用 Apache 运行应用程序,则可以使用 SetEnv 指令为本地应用程序的 VirtualHost 设置环境变量。例如:...
有人能解释一下这个步骤吗?解释一下我在做什么,告诉我这个 VirtualHost 文件在哪里,因为我搜索了整个 /opt/lampp/ 文件夹,但找不到。谢谢
答案1
免责声明:我没有读过这个 Hiroku 指南,但我的本地 Ubuntu 服务器上有很多正常的本地网站,它们是从标准 Ubuntu 10.04 LTS 改编而来的。
目录中有一个包含所有 apache 配置的目录/etc/apache2
。此目录中有 4 个子目录,两个用于站点,两个用于模块;每个子目录都有一个用于所有可用内容,还有一个用于仅启用的模块。这些子目录名为:
sites-available sites-enabled
mods-available mods-enabled
您要查找的是sites-enabled
。在这个文件夹中,我认为应该有一个名为 的默认文件000-default
。
在此文件中,可以有多个“VirtualHost”条目,我相信默认情况下只有一个条目,用于设置 apache 的主 Web 目录。许多人只是在此目录下添加目录,并通过将目录添加到 URL 来访问它们。但您可以在任何目录中添加任意数量的虚拟主机。
例如,假设您有一个名为 abc.com 的域名,并且您想在本地处理它。您可以在用于开发的本地工作站(位于 中/etc/hosts
)的 hosts 文件中为 abc.com 创建别名(暂时的,因为这将取代外部 abc.com),以将其重定向到服务器(通过名称或 IP,如果在同一系统上,则使用 localhost)。
神奇的事情发生在 apache 的 000-default 文件中,它将在那里寻找名为 abc.com 的 VirtualHost。
因此,假设您在某个目录中有一个网站/var/www/abc.com
;那么您需要在 apache 文件中添加类似这样的内容:
<VirtualHost *:80>
<Directory /var/www/abc.com>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
DocumentRoot /var/www/abc.com/
ServerName abc.com
</VirtualHost>
如果您想要在不编辑 localhost 的情况下处理本地文件和远程文件,则可以将本地文件重命名为 abc.dev 之类的名称,将其放在 localhost 中,然后将 apache 文件从 abc.com 更改为 abc.dev。这样,只需在http://abc.dev
浏览器的地址栏中输入(或仅输入 abc.dev)即可随时访问该文件。
如果您不熟悉 hosts 文件并且需要帮助,请告诉我,但这相当简单,我不想在您可能已经知道的事情上浪费太多时间。
我希望我的解释对您有所帮助,但如果没有,请随时要求详细说明。