Почему Apache перестал работать после добавления двух сайтов?
Я хотел и Redmine, и Mercurial на localhost / redmine и localhost / mercurial.
Redmine - это приложение RoR, которое работает на модуле mod_passenger, а Mercurial запускается на скрипте CGI. Я должен иметь возможность использовать оба на одном сервере, верно?
У меня Redmine работает нормально. Тогда я следовал за шагами для Mercurial. Затем я включил этот сайт.
И еще сайт работает. Я сделал эти два сайта и перезапустил Apache, но оба домена теперь дают мне 404.
Конфигурация сайта для redmine взята с http://www.redmine.org/projects/redmine/wiki/HowToInstallRedmineOnUbuntuServer
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
ServerName myservername
RewriteEngine on
RewriteRule ^/$ /redmine [R]
<Directory /var/www/redmine>
RailsBaseURI /redmine
PassengerResolveSymlinksInDocumentRoot on
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Конфигурация сайта для Mercurial взята с http://www.isnull.com.ar/2010/03/how-to-install-mercurial-on-debian-or.html
<VirtualHost *:80>
Servername mercurial.server
DocumentRoot /var/www/mercurial/http
ScriptAlias /cgi-bin/ /var/www/mercurial/cgi-bin/
ScriptAliasMatch ^/hg(.*) /var/www/mercurial/cgi-bin//hgwebdir.cgi$1
<Directory /var/www/mercurial/cgi-bin>
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/mercurial/http>
Options FollowSymLinks
AllowOverride AuthConfig
DirectoryIndex /hg
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error_mercurial.log
CustomLog /var/log/apache2/access_mercurial.log combined
</VirtualHost>
1 ответ
Отличный вопрос, проблема в том, что у вас разные имена серверов на каждом из ваших сайтов. Apache будет искать это в строке URL, поэтому для ртути вам придется перейти на
И для Redmine вы должны пойти в
Поскольку вы хотите, чтобы они оба жили под одним и тем же именем хоста, вам, вероятно, просто нужен один тег VirtualHost, чтобы определить DocumentRoot и желаемое имя сервера, а затем псевдонимы и тому подобное, которые вы хотите использовать под этим хостом. Это все будет проще, если он будет работать как одна конфигурация сайта.