Установка и настройка GitLab на VPS Ubuntu

Время чтения: 3 мин. Обновлено: 11 февраля 2026

GitLab — это инструмент хранения и управления Git-репозиториями. Она позволяет нескольким командам эффективно работать над кодом, координировать процесс разработки, вносить изменения и при необходимости быстро возвращаться к предыдущим версиям проекта.

Для установки будет использован сервер с предустановленной ОС Ubuntu 24.04

Арендуйте VPS

Если у вас все еще нет VPS, то выбирайте виртуальный сервер в России.

Перейти

Подготовка VPS к установке GitLab

Не обязательно, но будет плюсом если предварительно будет произведено направление домена по А-записи (IP) на устанавливаемый сервер.

Выполним обновление списка пакетов

apt update

Необходимо проверить часовой пояс

timedatectl

Если время отличается от Вашего текущего то его необходимо изменить на актуальное. Задать можно командой

timedatectl set-timezone НАЗВАНИЕ_ВАШЕЙ_timezone

Дополнительно установим и активируем утилиту chrony

apt install chrony
systemctl enable chrony

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

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

apt install curl openssh-server ca-certificates

Будет произведена установка бесплатной версии GitLab

Установка и настройка GitLab на VPS

Выполняем установку бесплатной версии GitLab

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
apt install gitlab-ce

После успешной установки можно увидеть следующее сообщение

Установка прошла успешно, но сервер не сконфигурирован.

В первую очередь зададим URL панели, предварительно необходимо направить домен или поддомен на сервер по А-записи. Откроем файл для редактирования

nano /etc/gitlab/gitlab.rb

Искомое значение

external_url 'http://gitlab.example.com'

Меняем данное значение на предварительно направленный домен/поддомен т.е. external_url 'https://название_вашего_домена.ру' Так же укажем https вместо http, это необходимо для дальнейшей настройки защищенного соединения. Ищем поле

letsencrypt['enable'] = true

Значение должно быть true, данная опция активирует сертификат SSL для https соединения

Ищем поле

nginx['redirect_http_to_https'] = true

Значение должно быть true, данная опция активирует редирект с http на https

Находим следующие опции и указываем время автопродления сертификата

letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_hour'] = "23"
letsencrypt['auto_renew_minute'] = "33" # Should be a number or cron expression, if specified.
letsencrypt['auto_renew_day_of_month'] = "*/3"

auto_renew — отвечает за автоматическое обновление.

auto_renew_hour — Час, когда нужно запускать задание на обновление сертификата.

auto_renew_minute — Минута, когда нужно запускать задание на обновление сертификата.

auto_renew_day_of_month — день месяца.

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

gitlab-ctl reconfigure

gitlab-ctl restart nginx

Что если возникнет ошибка?

Какое то время при обращении можно наблюдать ошибку 502

Это нормально, для загрузки сервиса иногда необходимо несколько минут.

В некоторых случаях в логах может наблюдаться ошибка вида

4082#0: *130 connect() to unix:/var/opt/gitlab/gitlab-workhorse/sockets/socket failed (2: No such file or directory) while connecting to upstream, client: XX.XX.XX.XXX, server: gitlabtest.XXXX.ru, request: "GET / HTTP/2.0", upstream: "http://unix:/var/opt/gitlab/gitlab-workhorse/sockets/socket:/", host: "название_вашего_домена", referrer: "https://название_вашего_домена/"

Ошибка указывает, что GitLab Workhorse не создал сокет-файл или не запущен:

В таком случае переходим в файл

nano /etc/gitlab/gitlab.rb

Ищем строки и раcкомментируем их:

gitlab_workhorse['enable'] = true
gitlab_workhorse['listen_network'] = "unix"
gitlab_workhorse['listen_addr'] = "/var/opt/gitlab/gitlab-workhorse/sockets/socket"
gitlab_workhorse['auth_backend'] = "http://localhost:8080"

Применяем конфигурацию

sudo gitlab-ctl reconfigure

Перезапускаем все компоненты

sudo gitlab-ctl restart

Проверяем статус

sudo gitlab-ctl status

После чего можем обратиться по направленному домену и увидеть страницу:

Для входа используется по умолчанию логин root

Для того чтобы узнать пароль выполним в терминале команду

cat /etc/gitlab/initial_root_password | grep Password:

Выводом будет Ваш пароль.

Последним этапом необходимо выполнить установку MTA (агент пересылки почты) в Linux — это программное приложение, которое направляет и передаёт электронную почту.

apt install postfix

Выбираем пункт 2

Настройка Gitlab завершена.

Комментарии ()

    Популярные статьи