исправление ошибки SVN 500 после редактирования файлов .access и .passwd - PullRequest
1 голос
/ 05 октября 2009

У меня возникла проблема с SVN, и я не совсем уверен, как ее исправить. Вот история того, что было сделано, и что такое сообщение об ошибке, и мы надеемся, что мы сможем найти решение. Здесь идет:

В то время как в отпуске, другая часть моей команды, которая не знала, как использовать svn, хотела редактировать нашу веб-страницу. Он не смог получить правильную комбинацию имени пользователя и пароля, поэтому он ssh'ed на наш сервер, а затем добавил свое имя и пароль непосредственно в файлы .access и .passwd svn. После того, как это не сработало, он удалил эти строки. Через некоторое время он сдался. Я не уверен, сделал ли он что-нибудь еще.

Как только я вернулся, я обнаружил, что любые изменения в файлах, которые я извлек на свой компьютер, больше не могут быть зафиксированы в хранилище. Сообщение об ошибке было 500 Внутренняя ошибка сервера.

Я думал, что при редактировании файлов .access и .passwd, возможно, этот парень изменил соответствующий пробел. Я попытался отредактировать эти файлы так, чтобы был символ «\ n», и чтобы в конце строки не было escape-символа с правильной информацией о пользователе, но безрезультатно при любом подходе.

Единственная другая информация, которую я имею, - то, что, если я проверяю журналы ошибок сервера для svn, это имеет следующее:

[Пт 02 октября 12:13:35 2009] [ошибка] [клиент ...] Файл не существует: /home/domain/svn.domain.com/failed_auth.html

[Пт окт 02 12:13:35 2009] [ошибка] [клиент ...] (13) Отказано в доступе: не удалось открыть файл паролей: /home/domain/svn/domain.passwd

[Пт 02 октября 12:13:35 2009] [ошибка] [клиент ...] (13) Отказано в доступе: не удалось открыть файл паролей: /home/domain/svn/domain.passwd

[Пт, окт 02 12:13:35 2009] [ошибка] [клиент ...] Файл не существует: /home/domain/svn.domain.com/internal_error.html

Я немного посмотрел на ошибку Permission Denied, и некоторые форумы говорили, что я могу просто изменить разрешения, чтобы «apache» имел доступ к этому файлу, но 1) я не знаю, почему svn не будет работать сейчас если он работал раньше, и никакие права доступа к файлам не были изменены, и 2) я мало что знаю о безопасности, и, изменяя права доступа к файлам, не зная, каковы последствия, я не хочу ставить под угрозу безопасность моего сайта (поэтому , если это то, что мне нужно сделать, чтобы решить проблему, возможно, все, что я ищу, - это гарантия того, что это будет безопасно, и, возможно, пара примеров команд, поэтому я установил правильные разрешения).

Извините за длинный вопрос, но любая помощь будет очень признательна. Я не хочу снова настраивать svn.

Ответы [ 2 ]

1 голос
/ 11 октября 2009

Мне удалось решить проблему, поэтому я решил опубликовать ее здесь, просто для дальнейшего использования, если кто-нибудь еще столкнется с такой же проблемой:

Одна вещь, которую я не упомянул (потому что я не осознавал, что это будет важно), - это то, что мой сайт размещен на Dreamhost. Dreamhost предлагает собственную систему установки Subversion. Я был на пути к созданию нового хранилища Subversion с помощью админ-панели Dreamhost, когда подумал, что просто проверю, что говорит панель о сломанном хранилище.

Я зашел в панель редактирования для текущего домена SVN и посмотрел имена пользователей и пароли для доступа пользователей. Имя и пароль были оригинальными, и я решил удалить лишнюю строку из текстового поля, а затем отправить изменения. Что бы ни делал Dreamhost за кулисами, обновление имени пользователя и пароля через админ-панель Dreamhost Subversion, казалось, исправило это, и теперь оно снова работает и работает!

0 голосов
/ 14 декабря 2009

Хорошо, я понял это. Файлы Dreamhost .access и .password для SVN принадлежат пользователю dhapache. Если вы отредактируете их напрямую, вы станете владельцем файлов. Это тогда вызовет все виды проблем аутентификации, потому что SVN больше не будет читать эти файлы.

Я нашел обходной путь, который позволяет мне редактировать файлы и устанавливать более сложные разрешения. Пусть Dreamhost создаст файлы, а затем создаст свои собственные копии файлов. Затем отредактируйте копии: cp myaccess.access project.access

Это сохраняет полномочия, назначенные пользователю dhapache, и позволяет вам при необходимости изменять файл доступа.

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