Если вы хотите развернуть собственную платформу DevOps для управления кодом, CI/CD и автоматизации, GitLab — отличный выбор. В этой статье разберём установку и базовую настройку GitLab на Rocky Linux 10.
Подготовка сервера
Перед установкой GitLab нужно подготовить систему.
1. Настройка времени
Устанавливаем московский часовой пояс и настраиваем синхронизацию времени:
Установка часового поясаtimedatectl set-timezone Europe/Moscow
Установка и настройка службы времени
dnf install chrony -y
systemctl enable chronyd --now
2. Открытие портов в firewalld
GitLab требует доступ к портам 80 (HTTP) и 443 (HTTPS):
firewall-cmd --permanent --add-service={http,https}
firewall-cmd --reload
3. Установка необходимых компонентов
Устанавливаем базовые утилиты для работы:
dnf install curl policycoreutils -y
Установка GitLab
Выбор редакции
GitLab предлагает две редакции:
- GitLab Community Edition (CE) — бесплатная версия с открытым исходным кодом
- GitLab Enterprise Edition (EE) — платная версия с расширенными функциями
Установка репозитория
Для Community Edition:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
Для Enterprise Edition:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
Установка GitLab
После добавления репозитория устанавливаем сам GitLab:
Для CE:
dnf install gitlab-ce -y
Для EE:
dnf install gitlab-ee -y
Если установка прошла успешно, вы увидите ASCII-арт с логотипом GitLab.
Базовая настройка GitLab
Настройка внешнего URL
Открываем конфигурационный файл:
vi /etc/gitlab/gitlab.rb
Находим и изменяем параметр external_url:
external_url 'http://ваш-домен-или-ip'
Применяем конфигурацию:
gitlab-ctl reconfigure
Этот процесс займет несколько минут. После завершения GitLab будет готов к работе.
Первый вход в GitLab
Получение пароля root
При первой установке GitLab генерирует случайный пароль для пользователя root:
cat /etc/gitlab/initial_root_password | grep 'Password:
Вход в веб-интерфейс
- Откройте браузер и перейдите по адресу, указанному в
external_url - Введите логин
rootи пароль из файла - Сразу же измените пароль на свой
Настройка русского интерфейса
GitLab поддерживает множество языков, включая русский:
- Нажмите на аватар в правом верхнем углу → Settings (Настройки)
- В левом меню выберите Preferences (Настройки)
- В разделе Localization (Локализация):
- Language (Язык): Русский
- First day of week (Первый день недели): Понедельник
- Сохраните изменения и обновите страницу
Создание и использование репозитория
Создание проекта через веб-интерфейс
- На главной странице нажмите Новый проект
- Заполните:
- Название проекта: Test
- URL проекта: оставьте по умолчанию
- Уровень доступа: Приватный
- Нажмите Создать проект
Работа с Git из командной строки
Установите Git на клиентской машине:
Для Rocky/CentOS/RHEL:
dnf install git -y
Для Debian/Ubuntu:
apt install git -y
Работа с репозиторием:
Клонирование репозиторияgit clone http://ваш-сервер/root/test.git
cd test
Создание и добавление файловecho "Тестовый файл" > testfile.txt
git add .
git commit -m "Добавлен тестовый файл"
Отправка измененийgit push origin main
Настройка HTTPS с Let’s Encrypt
Для защиты передаваемых данных настроим SSL:
- Откройте конфигурационный файл:
vi /etc/gitlab/gitlab.rb - Измените
external_url:external_url 'https://ваш-домен' - Добавьте настройки Let’s Encrypt: l
etsencrypt['enable'] = true
letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_hour'] = 2
letsencrypt['auto_renew_minute'] = 30
letsencrypt['auto_renew_day_of_month'] = "*/7" - Примените изменения:
gitlab-ctl reconfigure
Если возникают проблемы с получением сертификата:
gitlab-ctl renew-le-certs
Настройка отправки почты
Внешний SMTP-сервер
В файле /etc/gitlab/gitlab.rb настройте:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.ваш-провайдер.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "ваш-email@домен.ru"
gitlab_rails['smtp_password'] = "ваш-пароль"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
Настройки отправителяgitlab_rails['gitlab_email_from'] = 'gitlab@ваш-домен.ru'
gitlab_rails['gitlab_email_display_name'] = 'Ваш GitLab'
Примените настройки:
gitlab-ctl reconfigure
Сброс пароля root
Если забыли пароль администратора:
Запуск консоли GitLabgitlab-rails console -e production
В консоли выполните:user = User.where(id: 1).first
user.password = 'новый-пароль'
user.password_confirmation = 'новый-пароль'
user.save!
