Как правильно настроить SVN на веб-сервере? - PullRequest
4 голосов
/ 25 января 2010

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

У меня есть общая учетная запись хостинга на сервере Linux, который является моим веб-сервером, и у меня есть доступ к оболочке.

Я работаю с Windows-компьютера, используя TortoiseSVN .

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

Я был бы рад сохранить все свои ревизии, но на самом деле мне никогда не нужно их видеть, конечно же, не из веб-интерфейса. Все, что я хочу видеть в Интернете, это текущая версия.

Надеюсь, это большая часть деталей, теперь по актуальному вопросу. Как лучше всего настроить SVN для работы в моей папке public_html , не открывая все мои каталоги .svn для общего доступа?

Ответы [ 2 ]

1 голос
/ 25 января 2010

Вы можете настроить Apache для запрета доступа к каталогам .svn, но вам все равно нужно, чтобы удаленный сервер имел доступ к вашему локальному хранилищу Subversion, со всеми необходимыми настройками и . : шифрование, аутентификация, маршрутизаторы, брандмауэры ...

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

Кроме того, не забывайте о не версионных файлах. Некоторые из них необходимо обновить вручную (например, файлы настроек, созданные из версионных шаблонов), а некоторые необходимо игнорировать (например, файлы кэша и пользовательские данные).

Что касается магического инструмента, чтобы сделать все это ... Я все еще ищу правильный. Пока что я использую бесплатное SyncBack . Он выполняет свою работу, но он разработан как средство резервного копирования, поэтому его сложно настроить.

1 голос
/ 25 января 2010

Я бы не советовал использовать рабочую копию оформления заказа. Лучший способ загрузки в производство - экспорт. Если вы хотите что-то автоматически, вы можете посмотреть какой-нибудь сценарий развертывания, например Capistrano.

Если вы все еще хотите это сделать, вы можете использовать htacccess, чтобы скрыть их:

<FilesMatch "\.svn/.*">
   order deny,allow
   deny from all
</FilesMatch>

<Files .htaccess>
   order deny,allow
   deny from all
</Files>
...