Default Green Orange
Gemini_13's Blog
Блокнот полезных вещей
Home
    • Карта сайта
    • Обо мне
RSS

Настраиваем базовый репозиторий Git на Debian 7.7 (wheezy)

FreeBSD, Linux, Настройка сервера Add comments

Уже несколько раз приходилось настраивать на серверах GIT-репозиторий под один проект, но постоянно приходилось искать всякие мелочи по настройке заново. Надоело… 🙂

В данной заметке опишу базовую установку самого GIT и настройку репозитория. Если быть точным, то подразумевается, что на нашем сервере всего один или несколько репозиториев, а авторизация будет проходить просто по логину и паролю. Не буду задевать разговоры про авторизации по ключу, поднятие gitosis или gitolite, о них можно найти доп.материалы в инете, а для базовой установки этого достаточно.

Первым делом определимся что и где будем хранить:
/home/www/site.com — папка для сайта, куда смотрит веб-сервер
/home/git/site.com — папка для репозитория

Первым делом создадим пользователя git. Во время создания пользователя укажем папку, которая будет хранилищем репозиториев:

# adduser --home /home/git/ git

Во время создания пользователя нам нужно будет задать пароль и ответить еще на пару вопросов.

Проверяем с какими параметрами создался пользователь:

# cat /etc/passwd | grep git
git:x:1001:1002:Gemini_13,Developer,,:/home/git/:/bin/bash

Юзер готов и можно логинится под ним и создать папку для репозитория проекта.

# su git
$ cd ~
$ mkdir site.com
$ cd site.com

Создаем «чистый» репозиторий:

$ git init --bare
Initialized empty Git repository in /home/git/site.com/

Примечание: Если репозиторий не bare, то нужно добавить настройку в конфиг:

$ git config receive.denyCurrentBranch ignore

Для того, чтобы после push мы могли видеть внесенные изменения уже в работе, нужно добавить хук(hook):

$ nano hooks/post-receive

Впишем следующий код и сохраним файл:

#!/bin/sh
GIT_WORK_TREE=/home/www/site.com git checkout -f

Последним штрихом будет установка прав на выполнение:

$ chmod +x hooks/post-receive

Так как пользователь git нужен нам только для использования в системе GIT, то укажем ему обрезанную оболочку, которая не позволит выполнять какие-либо другие операции. Возвращаемся обратно в рут и меняем оболочку для пользователя git:

# usermod -s /usr/bin/git-shell git

Подключатmся по следующим настройкам:

ssh://git@X.X.X.X/home/git/site.com/

Вот и вся процедура базовой настройки гита 🙂


13 января, 2015  
Tags: base, debian, git, repository, wheezy, гит, репозиторий

Leave a Reply

  • Рубрики

    • FreeBSD (20)
    • Linux (46)
    • MySQL (11)
    • Windows (14)
    • Железо (3)
    • Мои моды к TorrentPier II (16)
    • Настройка сервера (49)
    • Разное (33)
    • Скрипты (30)
  • Свежие записи

    • Поля форм на Yii2: textInput(), passwordInput() и hiddenInput()
    • Поля форм на Yii2: CheckboxList()
    • SpeedTest датацентров Digital Ocean
    • Патчим Gearman на Debian
    • nginx + Apache 2.4 и REMOTE_ADDR (решение проблемы)
    • Создание и подключение swap-файла в Debian
    • Запуск PhpStorm 9 x64 на Windows
    • Рекурсивная замена прав доступа для папок и файлов в Linux
    • VirtualBox 5 + phpVirtualBox на Debian 8.2 (jessie)
    • Обработка сессий PHP с помощью Redis + phpredis на Debian 7.8
  • Ссылки

    • My GitHub
  • Архивы

    • Июнь 2016 (2)
    • Март 2016 (2)
    • Январь 2016 (3)
    • Ноябрь 2015 (2)
    • Август 2015 (1)
    • Февраль 2015 (1)
    • Январь 2015 (7)
    • Октябрь 2014 (1)
    • Июнь 2014 (1)
    • Май 2014 (1)
    • Апрель 2014 (7)
    • Февраль 2014 (9)
    • Январь 2014 (5)
    • Декабрь 2013 (7)
    • Ноябрь 2013 (1)
    • Октябрь 2013 (3)
    • Август 2013 (4)
    • Июль 2013 (4)
    • Июнь 2013 (3)
    • Апрель 2013 (2)
    • Март 2013 (2)
    • Февраль 2013 (6)
    • Январь 2013 (2)
    • Декабрь 2012 (1)
    • Ноябрь 2012 (2)
    • Октябрь 2012 (7)
    • Сентябрь 2012 (22)
Все права защищены © 2015 Gemini_13's Blog
G13.org.ua