Rails的截屏视频给我留下了深刻的印象,它展示了内置的Web服务器,以及允许在本地机器上进行开发和测试的数据库.我如何获得一个Apache实例来执行项目目录作为其DocumentRoot,并可能在端口8080(或类似的东西)上提供文件?
我问的原因是因为我将要尝试CodeIgniter,我想将它用于多个项目.我宁愿不要弄乱我的机器的DocumentRoot.关于如何进行数据库迁移的建议也是受欢迎的.
感谢您对目前的回复.我应该澄清一下,我使用的是Mac OS X.看起来WAMP只适用于Windows.此外,XAMPP看起来是安装Apache和许多其他Web工具的好方法,但我没有看到加载实例来提供项目目录的方法.Mac OS X同时安装了Apache和PHP - 我只是想找到一种方法来让它在非标准端口上提供服务.
我刚发现MAMP Pro可以满足我的需求,但如果可行的话,更简约的方法会更好.有没有人有一个可以编辑并放入项目目录的httpd.conf文件?
另外,抱歉我刚刚提到了数据库迁移问题.我希望找到的东西能够让我将架构更改推送到实时服务器而不会丢失现有数据.我怀疑这很难,而且高度依赖环境因素.
您的Mac附带Apache Web Server和PHP版本.这是该平台深受网络开发人员喜爱的重要原因之一.
由于您使用的是Code Igniter,因此您需要PHP 5,这是10.5附带的PHP的默认版本.如果您使用的是以前版本的操作系统,请跳至entropy.ch并安装提供的PHP5软件包.
接下来,您将要打开Apache.在共享首选项面板中,启用个人Web共享.这将在您的本地计算机上启动Apache.
接下来,您需要设置一些虚假的开发URL以用于您的网站.长期以来的传统是我们使用假冒TLD .dev(例如stackoverflow.dev).但是,.dev
现在是一个真正的TLD,所以你可能不想这样做 - .localhost
看起来像是一个新兴的事实标准.编辑/ etc/hosts文件并添加以下行
127.0.0.1 www.example.localhost 127.0.0.1 example.localhost
这将指向本地计算机上的URL.最后一步是配置apache.具体来说,启用命名虚拟主机,启用PHP并设置几个虚拟主机.如果你使用了熵PHP包,那么启用PHP就已经完成了.如果没有,你需要描述编辑您的http.conf文件在这里.基本上,您将取消注释将加载PHP模块的行.
无论何时对apache配置进行更改,都需要重新启动apache才能使更改生效.在终端窗口中,键入以下命令
sudo apachectl graceful
这将优雅地重启apache.如果您在配置文件中出现语法错误,则apache将不会重新启动.您可以突出显示配置问题
sudo apachectl configtest
因此,启用PHP后,您将需要打开NamedVirtualHosts.这将让apache响应多个URL.在http.conf文件中查找以下(或类似)行并取消注释.
#NameVirtualHost *
最后,您需要告诉apache它应该在哪里查找新虚拟主机的文件.您可以通过在http.conf文件中添加以下内容来完成此操作.注意:我发现将这样的配置规则分解为单独的文件并使用include指令包含更改是一个很好的最佳实践.这将阻止任何自动更新消除您的更改.
DocumentRoot /Users/username/Sites/example.localhost ServerName example.localhost ServerAlias www.example.localhost
您可以将任何文件夹指定为DocumentRoot,但我发现使用您的个人"站点"文件夹很方便,因为它已经配置了包含文件的正确权限.
对不起凯尔,我没有足够的信誉直接回复你的评论.但是如果你想让每个项目都在不同的端口上提供服务,那么尝试设置你的虚拟主机配置就像上面的Kelly一样(减去dns的东西),而不是80,给每个虚拟主机提供自己的端口号,假设你已经将此端口添加到您的ports.conf文件中.
NameVirtualHost *DocumentRoot /site1/documentroot DocumentRoot /site2/documentroot DocumentRoot /site3/documentroot DocumentRoot /site4/documentroot
希望有所帮助:/