Mac OS - построен SVN из исходного кода, теперь Apache2 не загружает сайты - PullRequest
0 голосов
/ 16 июня 2009

Это относится к другому вопросу, который я задал ранее сегодня.

Я собрал SVN 1.6.2 из исходного кода. В процессе он полностью испортил мою среду разработки.

После того, как я собрал SVN, Apache не загружался. Это дало мне эту ошибку:

Syntax error on line 117 of /private/etc/apache2/httpd.conf: Cannot load /usr/libexec
/apache2/mod_dav_svn.so into server: dlopen(/usr/libexec/apache2/mod_dav_svn.so, 10): no
suitable image found.  Did find:\n\t/usr/libexec/apache2/mod_dav_svn.so: mach-o, but
wrong architecture

Похоже, что SVN переписал старый mod_dav_svn.so, и я не могу заставить его создать его как FAT, и я не могу восстановить то, что было изначально.

Я решил это (временно?), Закомментировав строку, которая загружала mod_dav_svn.so, и заставил Apache запускаться в этот момент.

Однако, несмотря на то, что Apache работает, я теперь получаю эту ошибку при попытке получить доступ к моим сайтам разработчиков:

Directory index forbidden by Options directive: /usr/share/tomcat6/webapps/ROOT/

У меня Apache2 сидит перед Tomcat6. Я захожу на свой локальный сайт разработчика с использованием внутреннего имени "http://localthesite". У меня настроены виртуальные каталоги, которые работали до этой катастрофы SVN.

Tomcat устанавливается в / usr / local / apache-tomcat, а webapps - это / usr / local / apache-tomcat / webapps.

Наши производственные серверы развертывают tomcat в / usr / share / tomcat6, поэтому я настроил символические ссылки в своей системе, чтобы скопировать это. Они указывают на фактический путь установки. Это все тоже хорошо работало.

Ни одна из наших конфигураций для Apache2, Tomcat или .htaccess не изменилась. В выходные я выполнил «Восстановление прав доступа к диску» в системе. Это было до того, как я обнаружил проблему mod_dav_svn.so.

Я читал об этом все утро, и самый распространенный ответ - это набор опций -индексов. У нас это есть в конфигурационном файле, но оно было там раньше, и когда я удалил его во время тестирования, я все еще получал те же ошибки от Apache.

На данный момент, я предполагаю, что я полностью испортил собственную установку Apache2 на этом Mac или что где-то отсутствует ошибка разрешений, которую я пропускаю. Ошибка разрешений может быть из-за установки SVN или из моего процесса восстановления.

У кого-нибудь есть любая идея, в чем может быть проблема? Я сейчас полностью заблокирован и понятия не имею, где проверить дальше.

Ответы [ 2 ]

0 голосов
/ 11 ноября 2009

Это может относиться или не иметь отношение к проблеме «Директива опций», с которой вы столкнулись, но ключевой бит в этой первой ошибке -

Did find:\n\t/usr/libexec/apache2/mod_dav_svn.so: mach-o, but wrong architecture

У меня похожая проблема между Apache и SVN, но с другой библиотекой. Моя память немного размыта по этому поводу, но я думаю, что некоторое время назад Apple перешла на 64-битные двоичные файлы для некоторых вещей. Большинство библиотек в Mac OS X будут иметь архитектуру i386 или x86_64. Вы можете узнать архитектуру, используя команду 'file', например:

file /usr/libexec/apache2/mod_dav_svn.so

, который может выдать

mod_dav_svn.so: Mach-O 64-bit dynamically linked shared library x86_64

Если вы сравните архитектуры ваших исполняемых файлов svn и httpd и плагина mod_dav_svn, вы можете обнаружить конфликт.

0 голосов
/ 16 июня 2009

Попробуйте

grep -n Options /etc/httpd/*

Чтобы получить все строки, где есть директива Options. Если у вас есть строка с -Indexes, то это может быть. Вам также может понадобиться проверить файлы. (В /private/etc/httpd/users/* я думаю ..)

Другое дело, разрешения. (Это звучит более вероятно здесь.) Я считаю, что Apache требуется + x для папки, чтобы отобразить индекс ее содержимого. Попробуйте

ls -l /usr/share/tomcat6/webapps/

И ищите

drwxr-xr-x  1 user  user  100 Jun 15 13:37 ROOT/
         ^

Возможно, вам придется установить его с помощью

chmod a+x /usr/share/tomcat6/webapps/ROOT

Я не уверен в этом, поскольку у меня не было такой же проблемы. Надеюсь, что это работает!
ура!

(Sidenote: Возможно, это не то, что вы ищете, но я настоятельно рекомендую MacPorts - это инструмент, который позволяет автоматически устанавливать программное обеспечение (например, apache, svn, mysql и т. Д.) С разрешением зависимостей в песок окно, так что ваш Mac OS X по умолчанию не тронут. Вы можете деактивировать и активировать программное обеспечение и, таким образом, легко попробовать разные версии и т. д. Ссылка: www.macports.org )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...