У меня такая же проблема с Ubuntu 9.10 Server и Apache 2.2.12. Я настраиваю сервер Subversion с mod_dav_svn
и добавляю директиву CustomLog
к /etc/apache2/mods-available/dav_svn.conf
для регистрации запросов Subversion, но у меня возникла та же проблема (файл журнала был создан при запуске Apache, но никогда не записывался):
<Location /svn>
...
</Location>
LogFormat "%t %u %{SVN-ACTION}e" svn_log
CustomLog /var/log/apache2/svn_access.log svn_log env=SVN-ACTION
Есть два обходных пути для обнаруженной мной проблемы, которые в основном равны. Я документирую оба здесь, потому что у них разные плюсы и минусы.
Обходной путь 1
Удалите директиву CustomLog
из файла конфигурации, если она настроена в отдельном файле конфигурации.
Добавьте директиву CustomLog
к записи VirtualHost
вашего сайта. Для меня это было в /etc/apache2/sites-available/default-ssl
, потому что я разрешаю только SSL доступ к хранилищу Subversion. Если вы используете /etc/apache2/sites-available/default
, вместо этого вы захотите отредактировать этот файл (или в дополнение к default-ssl
, если вы используете оба).
Перезапустите Apache:
sudo /etc/init.d/apache2 restart
Pro
В записи VirtualHost
для вашего сайта может быть несколько директив CustomLog
, и все они будут работать.
Con
Вы должны переместить свою запись CustomLog
в запись VirtualHost
вашего сайта вместо того, чтобы поместить ее в отдельный файл конфигурации.
Обходной путь 2
Прокомментируйте директивы CustomLog
в записи VirtualHost
вашего сайта. Если вы используете одну из конфигураций сайта по умолчанию (default
или default-ssl
), для журнала доступа будет указана директива CustomLog
, которую вам нужно будет закомментировать (да, это отключает ведение журнала доступа по умолчанию в Apache ).
Добавьте директиву CustomLog
в соответствующий файл конфигурации. Для меня это было /etc/apache2/mods-available/dav_svn.conf
.
Перезапустите Apache:
sudo /etc/init.d/apache2 restart
Pro
Вы можете хранить директиву CustomLog
в отдельном файле конфигурации.
Con
Этот обходной путь имеет очевидный недостаток, заключающийся в том, что вам необходимо отключить ведение журнала доступа по умолчанию в Apache, но мне все равно, так как я использую сервер только для доступа к Subversion.
Заключение
Ни один из этих обходных путей на самом деле не идеален, но до сих пор я не нашел способа заставить его работать иначе, чем два вышеупомянутых обходных пути. Я полагаю, нам придется подождать следующего выпуска Apache, чтобы исправить эту проблему.