GitLab – это платформа, которая помогает организовать весь процесс разработки в одном месте. В ней можно хранить код в Git-репозиториях, автоматически запускать сборки и тесты через CI/CD, вести задачи и работать над ними вместе с командой. По сути, это единая система, где удобно управлять проектами, запускать сборки, проверять код и развёртывать приложения.
GitLab Community Edition (CE) – это бесплатная и открытая версия GitLab. Её можно установить на свой сервер и использовать для организации разработки. В ней есть все основные функции: работа с Git-репозиториями, создание веток, слияния, ревью кода и отслеживание изменений. Платформа даёт удобный веб-интерфейс, где можно смотреть код, создавать и проверять merge-requests и анализировать правки.
В отличие от платной версии GitLab Enterprise Edition, GitLab CE не включает дополнительные инструменты безопасности, более гибкие настройки доступа, корпоративные функции аудита, поддержку кластеров и расширенную аналитику. Тем не менее, CE отлично подходит для небольших и средних команд, которым нужна самостоятельная, полностью контролируемая среда разработки без зависимости от внешних сервисов.
В статье разберём, как установить GitLab CE на VPS, работающий под управлением Rocky Linux 9.
Как установить GitLab CE на Rocky Linux 9
Перед инсталляцией GitLab установите почтовый транспорт Postfix, который необходим GitLab для отправки системных уведомлений. Postfix в данном случае устанавливается как локальный MTA (Mail Transfer Agent), используемый GitLab по умолчанию. В частности, GitLab сможет отправлять письма через локальный SMTP-хост без необходимости подключать сторонний почтовый сервер.
$ sudo dnf install postfix
После завершения инсталляции установите службу postfix в автозагрузку с одновременным её стартом:
$ sudo systemctl enable --now postfix
Проверить корректность запуска Postfix можно через вывод текущего состояния службы:
$ systemctl status postfix
Вывод команды не должен содержать сообщений о каких-либо ошибках.

Настройка брандмауэра
Поскольку GitLab будет использоваться как веб-сервис, необходимо открыть доступ к серверу для подключений по HTTP и HTTPS. Подключение по HTTP также будет использоваться при получении SSL-сертификата от Let’s Encrypt. Таким образом центр сертификации проверяет валидность домена, на который будет установлен сертификат. Чтобы это сделать, добавьте в брандмауэр Firewalld разрешающие правила для данных протоколов:
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
Для применения изменений перезапустите текущую конфигурацию Firewalld:
$ sudo firewall-cmd --reload
Установка GitLab
На следующем шаге установите в систему wget – командную утилиту для загрузки файлов из сети:
$ sudo dnf install wget
Затем при помощи утилиты wget загрузите специальный установочный скрипт, использующийся для добавления репозитория GitLab CE в систему:
$ wget https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh
После чего сделайте загруженный скрипт исполняемым:
$ chmod +x script.rpm.sh
И далее запустите установочный скрипт с принудительным указанием параметров операционной системы и версии дистрибутива:
$ sudo os=el dist=9 ./script.rpm.sh
В данном случае:
os=el– означает Enterprise Linux, общий идентификатор семейства RHEL, в том числе и Rocky Linux;dist=9– указывает версию дистрибутива, в данном случае 9.
Проверить добавление нового репозитория можно через вывод списка репозиториев, которые в данный момент доступны и активированы в системе пакетного менеджера DNF:
$ dnf repolist
Из вывода в нашем примере видно, что в систему добавлены два репозитория GitLab CE:
gitlab_gitlab-ce– основной репозиторий бинарных пакетов GitLab CE;gitlab_gitlab-ce-source– репозиторий с исходными пакетами.

Следующей командой проинсталлируйте из подключённых репозиториев пакет GitLab Community Edition:
$ sudo dnf install gitlab-ce
Дождитесь завершения установки.

Затем перейдите в каталог конфигурации GitLab:
$ cd /etc/gitlab/
Откройте для редактирования главный конфигурационный файл:
$ sudo vi gitlab.rb
Там найдите параметр external_url и установите для него в качестве значения имя домена, по которому будет доступен ваш экземпляр GitLab. Обратите внимание, что указываемое доменное имя должно быть привязано к IP-адресу вашего виртуального сервера. Такая привязка производится при помощи A-записи – специальной DNS-записи, отвечающей за соответствие домена узлу, на котором домен размещён.
external_url 'https://your-site-name.ru'
Для того, чтобы доступ к веб-интерфейсу GitLab осуществлялся с использованием протокола HTTPS, необходимо обеспечить настраиваемый сервис бесплатным SSL-сертификатом от Let’s Encrypt. Чтобы GitLab автоматически установил сертификат, добавьте после параметра external_url следующие строки:
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@your-site-name.ru']
Здесь:
admin@your-site-name.ru– адрес электронной почты, который будет использоваться для уведомлений о сертификате.
Закройте файл gitlab.rb с сохранением внесённых изменений. Затем запустите следующую команду, которая прочитает настройки из конфигурационного файла и применит их ко всем компонентам GitLab, включая веб-сервер, базу данных и фоновые сервисы:
$ sudo gitlab-ctl reconfigure
Подключение к GitLab
После применения изменений все сервисы GitLab будут перезапущены, чтобы новые настройки вступили в силу. Окончание процесса будет отмечено появлением следующего сообщения:
gitlab Reconfigured!
Теперь откройте браузер и перейдите на https://your-site-name.ru, где your-site-name.ru замените на имя вашего домена.

Чтобы подключиться к системе под учётной записью root, вернитесь на сервер и выведите на экран файл, содержащий пароль суперпользователя:
$ sudo cat /etc/gitlab/initial_root_password
Для подключения к веб-интерфейсу используйте логин root и пароль, указанный после слова Password.

Обратите внимание, что файл с временным паролем суперпользователя будет автоматически удалён через 24 часа. До этого времени необходимо создать постоянную учётную запись для доступа к GitLab.
