Как womble's, уже сказанный, да и нет.
Рассматриваемый вопрос: у нас есть несколько основные (для вида об этом) сайты электронной коммерции, все созданные путем стука квадратного штепселя, который является WordPress в круглую дыру наших бизнес-требований. Мы захватываем копию содержания/srv/www и / и т.д. плюс дамп MySQL DB, и все хорошо и хорошо (и да, я выполнил тестовое восстановление!)
С другой стороны, наш основной сайт работает на шести серверах (3 сети, 2 дБ и один издатель/подсистема балансировки нагрузки). Все, в чем мы нуждаемся в целях резервирования, тем не менее, является кодом/файлами веб-сайта (все в SVN, сохраненном с нашего dev сервера) и дамп от одного из серверов БД (они оба идентичны; партнеры по репликации, чтобы дать нам некоторое дублирование).
Ни один из этих методов не является немного более правильным, чем другой, я просто высказываю мнение, что необходимо только скопировать то, что Вы должны; резервное место для основного сайта составляет приблизительно 4 ГБ, в то время как резервное копирование всех включенных серверов взяло бы нас до нескольких сотен ГБ. Мы можем также восстановить быстрее путем развертывания новых серверов и засовывания данных/файлов назад по ним, чем мы могли путем восстановления шести ценности серверов данных.
Я только использую Мерзавца, таким образом, я wil пытаюсь, по крайней мере, помочь Вам с этим:
Если Вы не видите, что любая проблема управлять Вашим repos через командную строку, gitosis должен добиться цели довольно приятно.
При реальной необходимости в веб-интерфейсе Вы могли бы смотреть на repo.or.cz (http://repo.or.cz/w/girocco.git) или gitorious (http://gitorious.org/gitorious). Repo.or.cz более ужасен, но это - путь, легче устанавливать (gitorious, открытый исходный код, но это - также программное обеспечение, приводящее в действие gitorious.org - у них нет большого количества стимула записать хорошие инструкции),
Вот более всесторонний список опций: https://git.wiki.kernel.org/index.php/GitHosting
Любая из тех опций даст Вам легкое создание новых репозиториев.
Теперь, одно предостережение: Вы никогда не должны, использовать список пользователей сервера Unix для полномочий репозитория. Достаточно легко смешать с, и результаты являются легко катастрофическими (gitosis, использует простую конфигурацию файла и ssh ключи. Должен добиться цели для Вас).
Другая вещь, я не вижу, почему у Вас должны быть подверсия, HG и репозитории Мерзавца. Большинство проектов использует только одну из тех опций. Хотеть уточнить почему?
Если вы хотите использовать SSH , то вам нужно ограничить ключи, отредактировав файл authorized_keys
на сервере. Для Mercurial, основные способы сделать это:
Вы можете использовать сценарий contrib / hg-ssh
, чтобы ограничить команды, которые люди могут выполнять при входе в систему с помощью SSH. Файл содержит заголовок, объясняющий, как его использовать, но в основном вы добавляете
$ command = "hg-ssh path / to / repo"
перед ключом в файле authorized_keys
. Это ограничивает ключ так, что его можно использовать только для отправки и извлечения в указанный репозиторий.
Вы также можете использовать сторонний инструмент mercurial-server , если вам нужно что-то вроде gitois . Это позволяет вам управлять пользователями и их правами доступа, редактируя файлы в специальном репозитории администратора.
См. Mercurial wiki для некоторых других подобных инструментов для SSH.
Для HTTP , есть
Встроенный hgweb
(Fast) CGI или сценарий WSGI, который поставляется с Mercurial. Это обрабатывает push и pull, но не позволяет создавать новые репозитории - для этого войдите на сервер.
Сторонний проект RhodeCode . Это дает вам веб-интерфейс для Mercurial, подобный Bitbucket, где вы можете настраивать пользователей и их права доступа. Он поддерживает аутентификацию LDAP, поэтому вы можете подключить его к существующей базе данных пользователей Unix.
См. Страницу о публикации репозиториев для получения дополнительной информации.
SCM-Manager может идеально подойти для ваших нужд:
Самый простой способ поделиться своими репозиториями Git, Mercurial и Subversion и управлять ими через http.
- Очень простая установка
- Нет необходимости взламывать файлы конфигурации, SCM-Manager полностью настраивается через веб-интерфейс
- Не требуется Apache и установка базы данных
- Центральное управление пользователями, группами и разрешениями
- Из коробки поддержка для Git, Mercurial и Subversion
- Full RESTFul Web Service API (JSON и XML)
- Rich User Interface
- Simple Plugin API
- Доступны полезные плагины (например, Ldap-, ActiveDirectory-, PAM-Authentication)
RhodeCode - это инструмент для браузера / управления репозиторием с открытым исходным кодом со встроенным сервером push / pull, LDAP / AD, системой разрешений и полнотекстовым поиском.
Вы можете это увидеть. живите здесь: http://demo.rhodecode.org/