我想在两台虚拟主机上运行一个ubuntu服务器上的apache2实例。 一个用于redmine(phusion乘客),另一个用于ReviewBoard(mod_wsgi)。 我还没有创build一个单一的服务器configuration,这将允许他们都可用,并且有一些好奇的事情发生。
我正在尝试获取www.domain.com/redmine和www.domain.com/reviews。 当我运行sudo service apache2 restart时,根据两个站点的初始化顺序, sudo service apache2 restart取决于我能够到达哪个站点。 例如,如果我在apache2.conf中:
Include sites-enabled/reviews Include sites-enabled/redmine
www.domain.com/reviews将是我可以得到的地方,但如果他们被颠倒了,我可以去www.domain.com/redmine 。
启用网站的configuration如下所示:
#sites-enabled/redmine <VirtualHost *:80> ServerName redmine.ts.com # !!! Be sure to point DocumentRoot to 'public'! DocumentRoot /var/www/tracking <Directory /var/www/tracking/redmine> Order allow,deny Allow from all Options -MultiViews FollowSymLinks Indexes PassengerResolveSymlinksInDocumentRoot on RailsBaseURI /redmine </Directory> </VirtualHost> #sites-enabled/reviews <VirtualHost *:80> ServerName reviews.ts.com DocumentRoot /var/www/reviews/htdocs # Error handlers ErrorDocument 500 /errordocs/500.html WSGIPassAuthorization On WSGIScriptAlias "/reviews" "/var/www/reviews/htdocs/reviewboard.wsgi/reviews" <Directory /var/www/reviews/htdocs> AllowOverride All Options -Indexes FollowSymLinks Allow from all </Directory> # Alias static media requests to filesystem Alias /reviews/media "/var/www/reviews/htdocs/media" Alias /reviews/errordocs "/var/www/reviews/htdocs/errordocs" Alias /reviews/favicon.ico "/var/www/reviews/htdocs/media/rbcommons/images/favicon.png" </VirtualHost>
有没有人知道为什么这两个网站都是呃其他依赖于哪个被初始化? 这是非常令人沮丧的
你需要有一个虚拟主机,下面有两个目录来实现你的目标。 绑定到*:80的两台虚拟主机具有不同的ServerName设置将导致两个单独的虚拟主机,并且这些URL不会位于一个主机下。
这应该通过别名指令指向已经列出的目录来完成。 根据你的两个configuration文件,它应该看起来大致如下。
<VirtualHost *:80> ServerName www.domain.com # Set a default root DocumentRoot /var/www/html # Define redmine subfolder and directory settings Alias /redmine /var/www/tracking/redmine <Directory /var/www/tracking/redmine> Order allow,deny Allow from all Options -MultiViews FollowSymLinks Indexes PassengerResolveSymlinksInDocumentRoot on RailsBaseURI /redmine </Directory> # These settings may need to be moved under the directory definiton WSGIPassAuthorization On WSGIScriptAlias "/reviews" "/var/www/reviews/htdocs/reviewboard.wsgi/reviews" <Directory /var/www/reviews/htdocs> AllowOverride All Options -Indexes FollowSymLinks Allow from all </Directory> Alias /reviews/media "/var/www/reviews/htdocs/media" Alias /reviews/errordocs "/var/www/reviews/htdocs/errordocs" Alias /reviews/favicon.ico "/var/www/reviews/htdocs/media/rbcommons/images/favicon.png" </VirtualHost>