我有一个名为 DEV01.intranet 的服务器,我在那里安装了 Redmine。
我设法配置了一个子域 redmine.dev01.intranet,它现在可以运行,但是当我单独访问 dev01.intranet 时,它再次显示 Redmine(?!!!)
我想从http://redmine.dev01.intranet和http://dev01.intranet/redmine。
我在启用站点中有这些:
GNU nano 2.2.6 文件:/etc/apache2/sites-enabled/default1
<VirtualHost *:80>
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
GNU nano 2.2.6 文件:/etc/apache2/sites-enabled/redmine
<VirtualHost redmine.dev01.intranet.fusiondev.com.ar:80>
ServerName redmine.dev01.intranet.fusiondev.com.ar
DocumentRoot /usr/local/share/redmine/public
ServerAlias redmine.dev01.intranet.fusiondev.com.ar
ServerAdmin [email protected]
LogLevel warn
ErrorLog /var/log/apache2/redmine_error
CustomLog /var/log/apache2/redmine_access combined
RailsEnv production
RailsBaseURI /redmine
PassengerDefaultUser www-data
PassengerResolveSymlinksInDocumentRoot on
<Directory /var/www/redmine>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
我做错了什么?为什么 Redmine 显示在 root / 但没有人这么说?
谢谢!
答案1
我最终找到了解决办法。
最大的问题解决了,将 000-xxx、001-xxx(数字前缀)添加到 VirtualHosts 符号链接(从 sites-available 到 sites-enabled)。这样,dev01 会首先单独加载,然后才是 redmine.dev01。
最后,第二个 Redmine 中没有 CSS 可供加载。如果我在 Apache 重启后先转到 redmine.dev01,则加载正常。但是 de01/redmine 没有 CSS,如果我先加载它,则反之亦然。
解决方案是复制源文件夹并将子域 DocumentRoot 指向第二个文件夹。这就像一个新的实例。没有过多地搜索其他解决方案,但由于数据库相同,因此只有 60mb 的磁盘空间被浪费,并且内存中有第二个实例(如果 Ruby on Rails 就是这么管理的话)。
我的 VirtualHosts,以防有人需要帮助。
GNU nano 2.2.6 文件:/etc/apache2/sites-enabled/000-dev01
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName dev01.intranet.fusiondev.com.ar
ServerAlias www.dev01.intranet.fusiondev.com.ar
DocumentRoot /var/www/dev01
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/dev01>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/dev01/redmine>
RailsBaseURI /redmine
PassengerResolveSymlinksInDocumentRoot on
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
GNU nano 2.2.6 文件:/etc/apache2/sites-enabled/001-redmine.dev01
<VirtualHost *:80>
ServerName redmine.dev01.intranet.fusiondev.com.ar
DocumentRoot /var/www/redmine.dev01/redmine
ServerAlias www.redmine.dev01.intranet.fusiondev.com.ar
ServerAdmin [email protected]
LogLevel warn
ErrorLog /var/log/apache2/redmine_error
CustomLog /var/log/apache2/redmine_access combined
RailsEnv production
RailsBaseURI /redmine
PassengerDefaultUser www-data
PassengerResolveSymlinksInDocumentRoot on
<Directory /var/www/redmine.dev01/redmine>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
答案2
尝试交换:
<VirtualHost redmine.dev01.intranet.fusiondev.com.ar:80>
和
<VirtualHost *:80>
虚拟主机和 IP 地址有些棘手 - 看看这里了解详情。