2012-07-29 2 views
8

После обновления до OS X 10.8 (Mountain Lion) я обнаружил, что мой SVN-сервер поврежден. В 10.7 я настроил его для использования httpd-сервера для обеспечения доступа, но после обновления отсутствуют LoadModules для dav_svn_module и authz_svn_module (mod_dav_svn.so и mod_authz_svn.so).OS X 10.8 отсутствует mod _ * _ svn.so библиотеки

Кто-нибудь знает, как получить их для стандартной подрывной программы Apple (v1.6.18)?

спасибо, Thom

+0

возможно дубликат [Пума - СВН Отсутствует] (HTTP://stackoverflow.com/questions/11657749/mountain-lion-svn-missing) –

+1

Не думаю, что это дуп. Другой вопрос, похоже, спрашивает о клиенте svn, а не о проблемах с сервером. –

ответ

4

Вы можете восстановить SVN над поддержкой HTTP на OS X 10.8, также известный как Mountain Lion.

Два модуля Apache httpd должны быть построены из источника. Эти два модуля:

  • mod_dav_svn.so
  • mod_authz_svn.so

шаги, необходимые подробно описаны в этой статье, Serving svn with httpd on OS X.

Для Mac OS X 10.8, конденсированные шаги ниже, но стоит прочитать связанную статью первым, чтобы понять, что происходит:

curl 'http://archive.apache.org/dist/subversion/subversion-1.6.18.tar.bz2' > ~/Downloads/subversion-1.6.18.tar.bz2 
cd ~/Downloads 
bunzip2 subversion-1.6.18.tar.bz2 
tar -xf subversion-1.6.18.tar 
cd subversion-1.6.18 
./configure 
make 
cp subversion/mod_dav_svn/.libs/mod_dav_svn.so /usr/libexec/apache2/. 
cp subversion/mod_authz_svn/.libs/mod_authz_svn.so /usr/libexec/apache2/. 
echo "LoadModule dav_svn_module libexec/apache2/mod_dav_svn.so" >> /etc/apache2/httpd.conf 
echo "LoadModule dav_svn_module libexec/apache2/mod_authz_svn.so" >> /etc/apache2/httpd.conf 
+0

Я сделал это и могу получить к нему доступ через браузер, но если я попытаюсь проверить, я получаю запрещенную ошибку. Я пробовал искать в Интернете, а у других - та же проблема, в том числе http://stackoverflow.com/questions/12020382 - запуск отдельного Apache не учитывается: -/ – hood

+0

В ответ на меня я нашел решение. Отредактируйте файл /Library/Server/Web/Config/apache2/httpd_webdavsharing.conf, добавив 'RewriteCond% {REQUEST_URI}! ^/Svn /.*' чуть выше последнего 'RewriteRule'. Не уверен в постоянстве этого исправления, но заставил его работать. – hood

+0

Отличное решение ... :) –

1

Я видел много вещей, упал в базовой ОС X Mountain Lion, а вокруг в других местах. Например, чтобы получить инструменты командной строки, вам нужно получить XCode, затем перейдите в настройки XCode и загрузите инструменты командной строки. X11 теперь представляет собой отдельный проект с открытым исходным кодом под названием XQuartz, который вам нужно загрузить, чтобы получить поддержку X11, используемую для работы с Mac.

Все материалы CalDev были перенесены на OS X Server, и я подозреваю, но не могу проверить, что эти модули Subversion Apache также находятся в OS X Server, который является покупкой в ​​20 долларов.

Конечно, вы можете попробовать Subversion Edge от CollabNet, который является бесплатным. Тем не менее, это сообщество двоичный, что означает, что он не из самого CollabNet, и он помечен как для Mac OS X 10.7. Он устанавливается в каталог/opt и содержит собственную версию Apache со всеми необходимыми модулями для Subversion.

Если я найду что-нибудь еще, я дам вам знать.

+0

Вау, я думал, что это опечатка. В последний раз, когда я смотрел лицензию OS X Server, она составляла более 500 долларов. Это определенно нужно рассмотреть. Но я не вижу, что подрывная деятельность, перечисленная на их веб-сайте, является одной из услуг в пакете. Я должен проверить еще ... –

1

Я решил пойти в краткосрочной перспективе с решением для построения исходного кода. Я загрузил источник для v1.6.18 из subversion.apache.org и скомпилировал, но НЕ установил его на моем Mac. Затем я выкопал в результирующую иерархию каталогов, чтобы найти отсутствующие файлы * .so. (Они были скрыты в каталоге .lib.) После копирования их в/usr/libexec/apache2 и перезагрузки httpd я смог добраться до моего сервера subversion по его URL-адресу.

Это, вероятно, не «лучшее» исправление, но, похоже, оно работает.

1

У меня такая же проблема и не удалось построить подрывную деятельность на Mountain Lion. Поэтому я получаю mod_dav_svn.so и mod_authz_svn.so от TimeMachine of Lion и помещаю их в нынешнего Mountain Lion.

Насколько я проверял, он отлично работает без каких-либо проблем. Это не идеальное решение, однако это будет хорошим способом в качестве ориентировочного решения.

1

Я могу подтвердить, что эти модули Apache 2 НЕ предоставляются OS X Server 10.8. (Если у вас установлен 10.8 в Server.app, вы можете увидеть список дополнительного Apache 2 модуля обеспечивает, таким образом:.

ls /Applications/Server.app/Contents/ServerRoot/usr/libexec/apache2 

Лучше всего, чтобы использовать 3-участник при условии освобождения я предпочитаю Финк (. http://www.finkproject.org/) После того как вы установили Fink, вы можете установить SVN Финка в/SW на сервере, таким образом:

fink install libapache2-mod-svn 

, а затем редактировать httpd.conf Apache 2, чтобы указать на Fink svn.

Смежные вопросы