Различия
Показаны различия между двумя версиями страницы.
— | gitolite [2025/07/06 12:38] (текущий) – создано - внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Установка и настройка Gitolite ====== | ||
+ | ~~Title: Руководство по инсталляции и использованию Gitolite ~~ | ||
+ | {{htmlmetatags> | ||
+ | metatag-description=(Gitolite позволяет настроить хостинг Git на центральном сервере с детализированным контролем доступа и множеством других мощных функций.) | ||
+ | }} | ||
+ | {{ :: | ||
+ | Gitolite— это средство для создания централизованных репозиториев для совместной разработки через [[Git|Git]]. | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | Термины: | ||
+ | * Сервером называется хост, на котором установлены git и gitolite и хранятся репозитарии. | ||
+ | * Для управления gitolite нужен админ — технически это обычный клиентский хост, но сам пользователь наделен расширенными правами(серверный и админский хосты могут быть одним и тем же сервером). | ||
+ | * Клиент- хост аналогичен на админскому хосту, но без возможности управления gitolite. | ||
+ | |||
+ | Четыре способа установки Gitolite: | ||
+ | - package method - установка из пакетов | ||
+ | - root method - вы должны быть root на сервере и нужно развернуть несколько Gitolite- серверов (не репозиториев, | ||
+ | - non-root method - установка одного Gitolite- сервера, | ||
+ | - from-client - аналогичен предыдущему методу, | ||
+ | |||
+ | ====== Введение Git и Gitolite ====== | ||
+ | Gitolite работает поверх [[ssh|SSH]] с использованием аутентификации через public-key (точнее, | ||
+ | |||
+ | <note warning> | ||
+ | Выглядит это в authorized_keys так | ||
+ | < | ||
+ | command="/ | ||
+ | </ | ||
+ | </ | ||
+ | ===== Инсталляция Gitolite в Debian ===== | ||
+ | * Установка git- сервера и Gitolite. Существует 4 способа установки Gitolite. На сервере на котором будут располагаться репозитории:< | ||
+ | # aptitude install git gitolite | ||
+ | </ | ||
+ | * Создание серверного git- пользователя, | ||
+ | # useradd -d / | ||
+ | # passwd git | ||
+ | </ | ||
+ | * На клиентском хосте управления gitolite можно создать нового пользователя gitadmin, либо воспользоваться уже существующим< | ||
+ | # / | ||
+ | # passwd gitadmin | ||
+ | </ | ||
+ | * Настраиваем [[ssh]] авторизацию по rsa- ключам админ- хоста на сервер. Для этого создадим на админском компьютере ключи и скопируем их на сервер. Важно имя файла до .pub должно совпадать с именем пользователя, | ||
+ | $ ssh-keygen -t rsa -C " | ||
+ | [user@client ~]$ scp ~/ | ||
+ | </ | ||
+ | * На сервере запускаем настройку. Инициализируем Gitolite своим ключом (этот пользователь будет администратором репозиториев)< | ||
+ | # sudo -u git -i | ||
+ | $ gl-setup / | ||
+ | </ | ||
+ | * Инсталляция закончена. Остается выгрузить репозиторий gitolite-admin, | ||
+ | [user@client ~]$ git clone gitolite@server.example.org: | ||
+ | $ cd gitolite-admin | ||
+ | $ nano conf/ | ||
+ | repo gitolite-admin | ||
+ | RW+ | ||
+ | |||
+ | repo testing | ||
+ | RW+ | ||
+ | |||
+ | repo test777 | ||
+ | RW+ | ||
+ | RW+ | ||
+ | $ git add . | ||
+ | $ git commit -am 'Added repo Test777' | ||
+ | $ git push origin master | ||
+ | </ | ||
+ | ===== Управление Gitolite ===== | ||
+ | |||
+ | * **Посмотреть какие репозитории доступны на сервере и какие права есть у вас для этих репозиториев**: | ||
+ | < | ||
+ | $ ssh git@server.example.org info | ||
+ | hello user, this is gitolite 2.3-1 (Debian) running on git 1.7.10.4 | ||
+ | the gitolite config gives you the following access: | ||
+ | | ||
+ | @R @W test777 | ||
+ | @R_ @W_ testing | ||
+ | </ | ||
+ | |||
+ | * В отличии от [[gitosis]] в gitolite можно предварительно не создавать репозиторий через init, достаточно добавить его в конфигурационный файл. | ||
+ | * @all — особая, | ||
+ | * Базовые права доступа в gitolite.conf: | ||
+ | * R — позволяет чтение | ||
+ | * RW — позволяет делать push в существующий ref или создавать новый ref | ||
+ | * RW+ — позволяет делать «push -f» или удалять ref (т.е. уничтожать информацию) | ||
+ | * -(минус) — запрещает доступ | ||
+ | * **Добавление нового пользователя**. Перед добавлением нового пользователя создаем (получаем от него) его публичный ключ. После получения ключа, переименовываем его, что бы имя файла было похоже на имя_пользователя.pub. Скопируем ключ в директорию keydir. Отредактируем файл conf/ |
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга