Установка http-сервера GIT с nginx на ubuntu 18.04

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

В этой статье я расскажу, как установить HTTP-сервер Git с Nginx на Ubuntu 18.04 LTS (Bionic Beaver).

Вводные данные

  • Чистый, свежий Ubuntu 18.04 server.
  • Пользователь sudo c правами root.
  • Статичный IP адрес настроенный на вашем сервере. В инструкции я укажу его как 192.168.1.100.

Перед установкой

Первое что нужно сделать — обновить систему.

Устанавливаем пакеты

После установки пакетов, создадим директорию где будут храниться репозитории git

Теперь сменим владельца этой директории, чтобы у http-сервера были права на неё

Настраиваем nginx

Во-первых, вам нужно настроить Nginx для передачи трафика Git в Git. Вы можете сделать это, отредактировав файл конфигурации Nginx по умолчанию (некоторые моменты прокомментированы):

Сохраняем и закрываем. Проверяем конфиг на корректность

Если всё нормально, то идём дальше. если нет — ищем где накосячили, пропустили скобку, точку с запятой, итд.

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

Теперь перезапускаем nginx

Создание GIT-репозитория

Наконец, сконфигурировав всё правильно, создадим репозиторий git.

Для удобства добавления репозитория можно использовать скрипт bash

git-repo-create.sh :

дайте права скрипту на выполнение:

Теперь репозиторий добавлять станет проще:

Тестируем Git на пользовательской машине

Устанавливаем Git

Создадим локальный репозиторий

Теперь перейдем в созданную директорию и инициализируем там удаленный репозиторий

Теперь создадим в нашем проекте что-нибудь

Теперь добавим все файлы и папки в репозиторий, и выполним коммит:

Примерный вывод:

Теперь отправим наш коммит на удаленный репозиторий:

Вывод показанный git будет типа такого:

Всё. ваши файлы и директории отправленны на сервер.

Итак. процесс создания вашего репозитория завершен. Вы теперь в любой момент можете на любой машине клонировать ваш репозиторий

В ответе будет:

Проверим склонированный репозиторий перейдя в директорию куда мы его склонировали:

Вы увидите подобный этому вывод:

Ну, а дальше — нет предела совершенству. Всё в ваших руках. настраивайте, дорабатывайте. Если поймете что ваше хозяйство слишком разрослось, возможно что вам тогда надо будет задуматься о переходе на более сложную систему управления git-репозиториями и пользователями. Например gitlab.

 

Автор: Mirivlad

Скромный труженик консоли и окошек.