Git нужен, когда над проектом работает несколько человек, и важно сохранять, сравнивать и при необходимости откатывать изменения. Это база для любой командной работы с проектами: от сайтов до крупных систем.
Обычно используют внешние сервисы вроде GitHub. Но если код нельзя выносить за пределы компании или нужен полный контроль — подойдёт локальный Git-сервер. Windows Server справляется с этой задачей. Gitea запускается на Windows и не требует сложной подготовки. Подходит даже для первого опыта с Git.
Что понадобится
- Сервер с Windows Server 2016/2019/2022 (или Windows 10/11 Pro).
- Интернет (для скачивания файлов).
- Администраторские права.
План действий: установка Git для Windows, генерация SSH-ключей, Gitea как веб-интерфейс, создание репозитория и проверка доступа.
Установка 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+R → cmd) от имени администратора.
Перейдите в папку с 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 можно вернуться отдельно: процесс настройки будет отличаться.
Читайте в блоге:
- Безопасный RDP и IIS-доступ: настройка IP-фильтрации на Windows Server
- Как посмотреть журнал событий Windows Server
- Автоматическая загрузка Windows Server: способы настройки