mor*_*ous 1 apache ubuntu symfony1
我很快得出的结论是,这是不可行的,尽管出于某种原因,人们 - 很可能没有实施他们给出的'建议',似乎认为这是可能的.
这种情况非常简单.我正在我的本地开发机器上开发symfony网站,运行Ubuntu 10.0.4 LTS.我希望能够在本地运行和测试多个站点.
假设我有以下网站:
按照这里的文档,这里和这里(没有一个对我有用),我做了以下事情:
答:我修改了我的/ etc/hosts文件,第一个条目为:
127.0.0.1 site1.localhost site2.localhost hpdtp-ubuntu910 localhost php.localhost
B.我修改了我的/etc/apache2/ports.conf文件(第一行),如下所示:
NameVirtualHost localhost:80收听80
C.我为每个网站(site1.localhost和site2.localhost)创建了配置站点.每个配置都是/ etc/apache2/sites-available中的单独文件
/ etc/apache2/sites-available/site1中的一个这样的配置文件(对于site1.localhost)如下所示:
<VirtualHost localhost:80>
ServerName site1.localhost
DocumentRoot "/home/morpheous/work/webdev/frameworks/symfony/sites/site1/web"
DirectoryIndex index.php
<Directory "/home/morpheous/work/webdev/frameworks/symfony/sites/site1/web">
AllowOverride All
Allow from All
</Directory>
Alias /sf /lib/vendor/symfony/symfony-1.3.6/data/web/sf
<Directory "/lib/vendor/symfony/symfony-1.3.6/data/web/sf">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
D.我使用(它一直显示)禁用了默认的apache站点
E.由于我无法启用我启用的所有站点(如上面的文档链接),我已经决定一次启用一个站点,这样Apache就不会对运行哪个站点感到困惑.当我需要运行另一个站点时,我会禁用当前站点并启用我想要的站点.这(显然?)远非理想 - 但即使这种设置也不起作用 - 原因如下所示.
一世).当我重新启动Apache时,我收到以下警告:
- 重新加载web服务器配置apache2 [2010年7月18日10:32:23] [warn] NameVirtualHost localhost:80没有VirtualHosts
ⅱ).当我导航到http://site1.localhost时, 我在FF中收到以下错误消息:
哎呀!此链接似乎已被破坏
III).我的apache相关错误出现在/var/log/apachche2/other_vosts.log中
morpheous@hpdtp-ubuntu910:~$ tail /var/log/apache2/other_vhosts_access.log
site1.localhost:80 127.0.0.1 - - [18/Jul/2010:10:08:38 +0100] "GET / HTTP/1.1" 404 506 "-" "Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.2.6) Gecko/20100628 Ubuntu/10.04 (lucid) Firefox/3.6.6 GTB7.1"
site1.localhost:80 127.0.0.1 - - [18/Jul/2010:10:09:30 +0100] "GET / HTTP/1.1" 404 506 "-" "Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.2.6) Gecko/20100628 Ubuntu/10.04 (lucid) Firefox/3.6.6 GTB7.1"
site1.localhost:80 127.0.0.1 - - [18/Jul/2010:10:09:31 +0100] "GET /favicon.ico HTTP/1.1" 404 505 "-" "Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.2.6) Gecko/20100628 Ubuntu/10.04 (lucid) Firefox/3.6.6 GTB7.1"
site1.localhost:80 127.0.0.1 - - [18/Jul/2010:10:09:36 +0100] "GET /favicon.ico HTTP/1.1" 404 505 "-" "Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.2.6) Gecko/20100628 Ubuntu/10.04 (lucid) Firefox/3.6.6 GTB7.1"
Run Code Online (Sandbox Code Playgroud)
我的问题是:
可以设置Apache来处理localhost上的多个虚拟主机吗?毕竟,到目前为止我看到的所有例子都涉及将Apache设置为面向公众的IP地址
如果Apache确实可以处理localhost上的多个站点,上面的哪个步骤我做错了?AFAICT,我已按照文件的说法.
Pas*_*TIN 11
是的,您可以在本地计算机上安装多个VirtualHost - 它与在远程服务器上工作时完全相同,但IP地址和域名不同.
我通常做的是:
从本地计算机添加我想要提供的新域名.
例如,我会添加:
127.0.0.1 tests
127.0.0.1 blog
Run Code Online (Sandbox Code Playgroud)
等等,我希望每个域名都有一行.
然后,我将新的VirtualHosts添加到Apache的配置中.
例如,对于我的tests域名,我会使用:
<VirtualHost *:80>
ServerName tests
DocumentRoot /home/squale/developpement/tests
<Directory /home/squale/developpement/tests>
AllowOverride All
Options Indexes FollowSymLinks MultiViews
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
这里有几点需要注意:
VirtualHost 上*:80
ServerName指令完成
当然,由您来确保Apache可以看到这个VirtualHost - 通过将其配置放在加载的文件中(不推荐),或者通过:
/etc/apache2/sites-available/a2ensite使网站
/etc/apache2/sites-enabled/,指向您的新配置文件.这里我将用于第二个域名的配置,对应于blog:
<VirtualHost *:80>
ServerName blog
DocumentRoot /home/squale/developpement/blog.pascal-martin.fr/www
<Directory /home/squale/developpement/blog.pascal-martin.fr/www>
AllowOverride All
Options Indexes FollowSymLinks MultiViews
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
它基本上完全一样; 只有两个区别:
ServerName指令对应于我的第二个域名 - 当然DocumentRoot不一样我没有真正改变Apache的默认配置(我在Ubuntu,如果这很重要).
例如,我不更改ports.conf文件中的任何内容:我仍然有默认NameVirtualHost和Listen指令:
NameVirtualHost *:80
Listen 80
Run Code Online (Sandbox Code Playgroud)
我只做了一些重要的修改就是启用一些模块,比如重写,过期,......但这与你的VirtualHosts问题没什么关系;-)
如果我打开浏览器然后去http://tests/,我会从我的tests域中得到我想要的东西- 这里有目录和文件列表.
如果我打开浏览器然后去http://blog/,我会得到我博客的开发实例 - 好吧,还有错误页面,说我忘了设置数据库^^
| 归档时间: |
|
| 查看次数: |
2936 次 |
| 最近记录: |