
Недавно я настроил ubuntu-server на Amazon EC2. Я хотел бы использовать его как свой git-сервер, чтобы хранить там свои репозитории.
Итак, где я могу найти подробные инструкции по настройке git на сервере Ubuntu? Все эти SSH-ключи и тому подобное, несколько пользователей и т. д.
решение1
Вы можете использоватьруководство по установке сервера Git, предложенное aking1012или вы можете просто установить SSH-сервер на своем экземпляре EC2 (вероятно, было бы разумно защитить его и изменить порт по умолчанию).
Git может быть безсерверным, вы инициализируете свой репозиторий, а затем получаете к нему удаленный доступ через SSH. Поэтому инструкции вроде этой на Ubuntu Server должны это сделать:
GIT_DIR=project.git git init
cd project.git
git --bare update-server-info
cp hooks/post-update.sample hooks/post-update
Наконец, установите SSH на свой сервер:
sudo apt-get install ssh-server
Теперь вам нужно настроить SSH для его защиты.
Пришло время разместить ваш проект в сети (данные, которые у вас уже есть на компьютере для разработки):
git push ssh://<username>@<remote-git-hostname>/path/to/project.git master
И теперь вы можете начать клонирование. Вы переходите на свою машину разработки:
git clone ssh://<username>@<remote-git-hostname>/path/to/dir.git
Проверь этоотличный ресурс по Git.
А для генерации ключей SSH для более безопасной аутентификации вы можете прочитать эту статьюSSH-аутентификация.
решение2
Для всех моих настроек сервера Git я используюГитолитчто позволяет гранулярность безопасности доступа "по филиалам". Настройка довольно проста, если вы делаете это на удаленном сервере, это так же просто, как запустить интерактивный скрипт. В дополнение к этой "легкой в настройке" природе, он также имеет пакет в Natty и Maverick
sudo apt-get install gitolite
Это не обеспечит веб-интерфейс, как Github или Gitweb, но вы можете легко настроить и установить их поверх чего-то вроде Gitolite.
решение3
Мне нравитсягитолит. В книге Pro Git естьразделно я рекомендую прочитать всю книгу.
Что касается вашего требования к нескольким пользователям:
Gitolite позволяет вам указывать разрешения не только по репозиторию (как это делает Gitosis), но и по именам веток или тегов в каждом репозитории. То есть вы можете указать, что определенные люди (или группы людей) могут push только определенные «рефы» (ветки или теги), но не другие.
решение4
Обязательно следуйте официальной документации:https://help.ubuntu.com/community/Git(разделНастройка Git и управления проектами)