Как развернуть Git-сервер на Windows Server: альтернатива GitHub для команды

Как развернуть Git-сервер на Windows Server: альтернатива GitHub для команды

Git нужен, когда над проектом работает несколько человек, и важно сохранять, сравнивать и при необходимости откатывать изменения. Это база для любой командной работы с проектами: от сайтов до крупных систем.

Обычно используют внешние сервисы вроде GitHub. Но если код нельзя выносить за пределы компании или нужен полный контроль — подойдёт локальный Git-сервер. Windows Server справляется с этой задачей. Gitea запускается на Windows и не требует сложной подготовки. Подходит даже для первого опыта с Git.

Что понадобится

  • Сервер с Windows Server 2016/2019/2022 (или Windows 10/11 Pro).
  • Интернет (для скачивания файлов).
  • Администраторские права.

План действий: установка Git для Windows, генерация SSH-ключей, Gitea как веб-интерфейс, создание репозитория и проверка доступа.

Аренда VPS/VDS от 219 руб/месяц

Преимущества VPS в AdminVPS:

✓ Бесплатное администрирование

✓ Только быстрые NVMe-диски

✓ Защита от DDoS-атак

✓ Быстрая техподдержка

Аренда VPS/VDS виртуального сервера от AdminVPS — это прозрачная и честная услуга с доступной ценой

Установка Git и настройка SSH на Windows Server

Чтобы развернуть локальный Git-сервер, установим сам Git. Это основа, без которой ничего не заработает.

Откройте браузер на сервере и перейдите по ссылке.

Сайт сам определит версию Windows и загрузит установочный файл:

Git-2.43.0-64-bit.exe (номер может отличаться).

Дождитесь завершения процесса и сохранения.

Для установки Git откройте папку, куда скачался файл.

Кликните правой кнопкой по установщику и выберите «Запуск от имени администратора».

Появится окно установки. Настройки можно оставить по умолчанию — они уже подходят для большинства случаев. Просто нажимайте Next («Далее») на каждом шаге.

Когда дойдёте до кнопки Install, нажмите её и дождитесь завершения установки.

Затем ― Finish.

В меню «Пуск» появятся две программы:

  • Git Bash;
  • Git GUI.

Нам нужна Git Bash — это окно, где будут выполняться все команды.

Переходим к настройке SSH, чтобы подключаться к Git-серверу безопасно, без ввода пароля.

SSH для работы с Git на Windows Server

SSH (Secure Shell) — способ безопасного подключения без логина и пароля с помощью ключей для передачи изменений в репозиторий. Один раз настроили — и потом всё работает автоматически.

Откройте Git Bash: нажмите «Пуск» → Git Bash → Enter. Откроется чёрное окно терминала — через него будут выполняться команды.

Проверьте, установлен ли SSH. Для этого введите в этом окне команду:

ssh -V

Видите строку вроде:

OpenSSH_9.5p1, OpenSSL 3.0.10 1 Aug 2023

Значит, всё в порядке: SSH уже установлен вместе с Git.

Создайте SSH-ключ, введя:

ssh-keygen -t rsa -b 4096 -C "git@your-server"

Где git@your-server — это просто метка, можно указать любое имя, чтобы потом было понятно, что это за ключ.

Терминал задаст вопросы:

Enter file in which to save the key (/c/Users/имя/.ssh/id_rsa)

Нажимаем Enter для сохранения ключа в стандартной директории.

Дальше:

Enter passphrase (empty for no passphrase)

Возникшее поле заполнять не надо, нажимаем на Enter и ключ не потребует пароль.

Повторите: ещё раз Enter.

Система сгенерирует два файла:

  • id_rsa — это приватный ключ, его никому нельзя показывать;
  • id_rsa.pub — это публичный ключ, его нужно будет скопировать на сервер, чтобы настроить доступ.

Убедитесь, что ключи созданы, введите:

ls ~/.ssh

Появится:

id_rsa
id_rsa.pub

Если они есть — всё готово.

Дальше скопируйте общий ключ (id_rsa.pub) в систему, где будет размещён Git-сервер — Gitea.

Следующий шаг — установка и запуск самого Git-сервера.

Установка Gitea на Windows Server

Gitea позволяет создавать репозитории, управлять пользователями и доступами, видеть историю коммитов, сравнивать изменения — всё, как в GitHub, только локально.

На Windows Server работает быстро, не требует базы данных (по умолчанию), легко запускается.

Создайте отдельную папку для Gitea. Например:

C:\Gitea\

Это будет рабочая директория, в которой хранятся все данные: исполняемый файл Gitea, настройки, репозитории.

Скачайте Gitea на официальном сайте.

Выберите последнюю версию для Windows — файл называется примерно так:

gitea-1.21.0-windows-4.0-amd64.exe

Цифры могут отличаться — это номер версии.

Скачайте и переименуйте его в gitea.exe для удобства, поместите в созданную директорию C:\Gitea\.

Чтобы Gitea работала не от имени администратора, создайте отдельного системного пользователя:

  • нажмите Win+R, введите compmgmt.msc → Enter;
  • в левой колонке откройте Локальные пользователи и группы → Пользователи;
  • правый клик → Создать пользователя;
  • имя, например: gitea_user;
  • уберите галочки «Пользователь должен сменить пароль...» и поставьте «Срок действия пароля не истекает»;
  • нажмите Создать.

Отдельный пользователь для сервиса безопаснее.

Запустите Gitea первый раз. Откройте Командную строку (Win+Rcmd) от имени администратора.

Перейдите в папку с Gitea:

cd C:\Gitea

Запустите Gitea:

gitea.exe web

Всё сделано правильно — появится сообщение вроде:

Server started on http://localhost:3000

Откройте браузер и перейдите по адресу:

http://localhost:3000

Откроется веб-интерфейс начальной настройки.

На этой странице задайте ряд параметров.

Database Type:

  • SQLite3 — можно оставить по умолчанию (никакая СУБД не нужна).

Path:

  • C:\Gitea\data\gitea.db — оставьте как есть.

Repository Root Path:

  • C:\Gitea\repos — здесь будут храниться репозитории.

Application URL:

  • если будете использовать локально: http://localhost:3000;
  • если по сети: http://IP_вашего_сервера:3000

Admin Account:

  • придумайте логин, e-mail и пароль администратора. Это основной пользователь, управляющий всей системой.

Нажмите Install Gitea.

Через пару секунд вы окажетесь на главной странице.

Проверьте, что всё работает. Зайдите под своим админ-логином.

Нажмите New Repository.

Назовите его, например, test.

Создайте пустой репозиторий.

Мы только что развернули собственный локальный Git-сервер с веб-интерфейсом.

Дальше нужно настроить доступ к Gitea по сети, добавить SSH-ключи в профиль пользователя, проверить, что можно подключаться из Git.

Доступ к Gitea по сети

По умолчанию Gitea работает на порту 3000. Чтобы подключиться к нему с других компьютеров в локальной сети, нужно открыть порт 3000 в брандмауэре Windows:

  • панель управления → Система и безопасность → Брандмауэр Windows Defender;
  • слева ― Дополнительные параметры;
  • в окне ― Правила для входящих подключений → Создать правило;
  • тип правила: Для порта → Далее;
  • протокол: TCP, порты: 3000 → Далее;
  • Разрешить подключение → Далее;
  • где применять: Домен, Частный, Общий (можно отметить всё);
  • назовите правило, например: Gitea TCP 3000 → Готово.

Теперь веб-интерфейс Gitea будет доступен с других устройств в сети по адресу:

http://IP_вашего_сервера:3000

IP можно узнать в командной строке:

ipconfig

Ищите строку IPv4-адрес.

SSH-доступ к репозиториям Gitea

Теперь нужна возможность подключаться к репозиториям не по HTTP (логин + пароль), а по SSH — это безопаснее и удобнее.

Чтобы проверить установку SSH-сервера в системе, можно включить встроенный OpenSSH-сервер на Windows Server 2019 и Windows Server 2022 . Откройте Параметры → Приложения → Дополнительные компоненты.

Нажмите «Добавить компонент».

Выберите OpenSSH Server и нажмите «Установить».

Далее — PowerShell с правами администратора. И команда:

Start-Service sshd

Автоматический запуск при загрузке:

Set-Service -Name sshd -StartupType 'Automatic'

Проверьте, что порт 22 открыт в брандмауэре: повторите те же шаги, что и для порта 3000, но укажите порт 22 (TCP). Теперь можно подключаться к серверу по SSH.

SSH-ключ на клиентском компьютере

Убедитесь, что на нужном компьютере разработчика установлен Git (как мы делали выше).

Откройте Git Bash. Введите команду:

ssh-keygen

Когда появится вопрос «Куда сохранить ключ?», нажмите Enter — файл по умолчанию будет сохранён в:

C:\Users\имя_пользователя.ssh\id_rsa

Пароль можно не задавать (просто — Enter). В результате появятся приватный ключ id_rsa и публичный id_rsa.pub.

Добавление публичного ключа в Gitea

Откройте файл id_rsa.pub в блокноте.

Скопируйте всю строку (начинается с ssh-rsa ...).

В веб-интерфейсе Gitea (зайдите под своим пользователем) и откройте профиль (в правом верхнем углу) → Settings. 

В меню слева выберите SSH / GPG Keys → Add Key.

Вставьте скопированный ключ, дайте имя (например, «Рабочая машина») → Add Key.

Теперь Gitea будет узнавать этого пользователя по SSH-ключу.

Проверка подключения по SSH

На клиентской машине снова откройте Git Bash и введите:

ssh git@IP_вашего_сервера -p 22

Если настройка правильная, вы получите что-то вроде:

Hi there, you've successfully authenticated, but Gitea does not provide shell access.

Значит, всё работает.

Клонируем репозиторий по SSH

Теперь можно подключаться к репозиториям из Gitea с использованием SSH. Команда выглядит так:

git clone ssh://git@IP_вашего_сервера:22/имя_пользователя/имя_репозитория.git

Пример с конкретными параметрами:

git clone ssh://git@192.168.1.100:22/admin/test.git

Если репозиторий приватный, но ключ добавлен — Git даст доступ без логина и пароля.

Помимо Gitea существует ещё один вариант — GitBucket. Это тоже self-hosted-решение, поддерживающее работу на Windows Server, но с другим принципом установки и интерфейсом. Если понадобится альтернатива — к GitBucket можно вернуться отдельно: процесс настройки будет отличаться.

Читайте в блоге:

Loading spinner
0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

VPN на VPS-сервере

Узнайте, как создать собственный VPN на VPS-сервере для защиты ваших конфиденциальных данных!

Что будем искать? Например,VPS-сервер

Мы в социальных сетях