Давайте дружить в Телеграме: рассказываем про новые фичи, общаемся в комментах, прислушиваемся к вашим идеям Подписаться

Установка GitLab на облачный сервер

Роман Андреев
Роман Андреев
Технический писатель
27 февраля 2023 г.
665
6 минут чтения
Средний рейтинг статьи: 5

Сама процедура не представляет особых сложностей: достаточно установить зависимости, приложение и настроить брандмауэр. После этого можно приступать к настройке GitLab, которую мы также рассмотрим.

Как установить GitLab на облачный сервер: пошаговая инструкция

Рассмотрим установку GitLab на сервер с Ubuntu, также на сервере должно быть минимум 4 Гб памяти (использовать swap подкачку нежелательно) и 4 ядра. Если эти требования соблюдены, то приступим к установке зависимостей, которые уже находятся в репозиториях.

Шаг 1. Ставим зависимости

Последовательно вводим следующие инструкции, используя sudo:

sudo apt update

sudo apt install ca-certificates curl openssh-server postfix

Устанавливая postfix, выберите опцию интернет-сайт, после чего введите доменное имя, чтобы можно было отправлять уведомления. Подготовка завершена, теперь поставим GitLab.

Шаг 2. Ставим GitLab

Используя инструкцию cd, выбираем директорию /tmp, после чего вводим следующее:

curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh

Обновляем перечень репозиториев и пакетов для инсталляции, что делается при помощи инструкции:

sudo bash script.deb.sh

Если содержимое скрипта вызывает у вас опасения, его можно предварительно проверить при помощи текстового редактора. Открыть скрипт можно либо напрямую, найдя в соответствующей папке, либо, что удобнее, с помощью инструкции less /tmp/script.deb.sh, которая также выполняется в консоли с правами sudo. Завершающая инструкция — это, собственно, команда на установку. Выглядит она так:

sudo apt install gitlab-ce

Шаг 3. Настраиваем брандмауэр

Придется подождать какое-то время, пока не будут установлены само приложение и выбранные пакеты. Как только установка будет завершена, можно переходить к настройкам брандмауэра. Обычно для ufw уже созданы соответствующие правила, которые задаются системой во время установки GitLab. Если же есть какие-то проблемы с брандмауэром, то для начала проверьте его настройки с помощью инструкции: sudo ufw status. Статус должен иметь значение active. А чтобы разрешить другой трафик, кроме SSH, потребуется ввести еще пару команд через sudo:

  • для HTTP на порту 80, который используют незашифрованные веб-серверы, используйте инструкции ufw allow http либо ufw allow 80;
  • а для HTTPS на порту 443, который используют зашифрованные веб-серверы, введите ufw allow https либо ufw allow 443.

Если же оказался отключен SSH, то поможет инструкция ufw allow OpenSSH. Затем, используя уже известную команду, снова проверьте статус брандмауэра.

Как работать с GitLab на VPS Timeweb Cloud

Вы также можете установить GitLab на VPS Timeweb Cloud. Для этого вам понадобится заказать сервер, на котором будет не менее 8 Гб оперативной памяти и 2 CPU. Далее поставьте туда Ubuntu 20.04 или 18.04, а сам процесс установки и настройки GitLab на сервере Timeweb Cloud мы уже подробно расписали в одной из предыдущих статей. Просто следуйте этой инструкции

Как настроить GitLab: пошаговая инструкция

Доступ к GitLab настраивается через конфигурационный файл gitlab.rb: просто отредактируйте его в любом удобном текстовом редакторе.

Шаг 1. Редактируем файл gitlab.rb

Файл расположен по пути /etc/gitlab/. Там нам прежде всего понадобится строчка external_url, куда мы вводим имя нашего домена или адрес сервера Timeweb Cloud. Также вам может понадобиться настроить электронную почту, на которую будут приходить уведомления. Это делается в строке letsencrypt следующим образом (разумеется, email здесь введен просто для примера):

letsencrypt['contact_emails'] = ['timeweb.cloud@timeweb.cloud']

Далее можно настроить и обновление сертификатов. Вот примерные параметры:

Image1

Обратите внимание, что можно указать обновление с точностью до минуты. В данном случае минуты не используются (значение nil), однако допустимо указать любое значение до 59 включительно. Также проверьте, чтобы в строчке letsencrypt['auto_renew'] стояло значение true, но если по каким-то причинам вы не хотите, чтобы сертификаты обновлялись автоматически, переключите его на false. Теперь закройте gitlab.rb и обновите конфигурацию при помощи следующей простой инструкции:

sudo gitlab-ctl reconfigure

Шаг 2. Настраиваем учетные данные GitLab

Теперь открываем рабочий браузер и переходим по адресу, введенному в строчке external_url. При правильной настройке вы увидите стартовую страницу приложения. Учтите, что первый раз входить в GitLab нужно с правами рут-пользователя. Пароль задается инструкцией:

sudo gitlab-rake "gitlab:password:reset"

После ввода нужного логина и пароля возвращаемся на стартовую страницу и входим уже как обычно. Добавим, что сменить пароль затем будет нетрудно через панель Гитлаба: там в настройках пользователя (User Settings) есть пункт Password. Обратите внимание и на верхний пункт своего профиля (Profile), где указывается имя пользователя с правами администратора, а также email, который можно поменять при необходимости.

Шаг 3. Настраиваем меню Account

А вот имя рут-пользователя меняется в следующем пункте меню Account.

  • По умолчанию там указан root, но вы можете (и желательно сделать это) заменить его на любое другое имя, что называется, без последствий: права администратора у аккаунта останутся.
  • В этом же пункте можно настроить вход в сервис, подключив, например, двухэтапную аутентификацию. После изменения параметров не забудьте нажать на кнопку обновления (Update).
  • А чтобы новые юзеры могли работать только над уже созданными проектами, установите значение Default projects limit равным 0.

Шаг 4. Настраиваем меню Admin

Далее кликните по кнопке Menu в GitLab и выберите нижний пункт Admin. Здесь настраивается доступ к Гитлабу. Настройки довольно гибкие: например, можно дать отдельным пользователям доступ к определенным проектам.

  • Для запрета регистрации в меню Admin нажмите Settings и далее General. Там выберите Sign-up Restrictions и кликните Expand, а затем уберите галочку в чекбоксе Sign-up enabled.
  • Если хотите ограничить регистрацию по доменному имени, то в том же разделе включите чекбокс Send confirmation email, который разрешает вход после подтверждения email. Теперь осталось лишь указать желаемые доменные имена в пункте Whitelisted domains for sign-ups box. Также в настройках можно ограничить доступ по IP или доменному имени.

Шаг 5. Добавляем ключи SSH

Добавление ключей SSH выполняется через SSH Keys. Вывести имеющиеся ключи на ПК можно командой cat ~/.ssh/id_rsa.pub. Далее скопируйте ключ и вставьте его в соответствующее поле в интерфейсе. Ответ с фразой No such file or directory означает, что ключи настроены некорректно, поэтому вводим инструкцию ssh-keygen, указываем параметры и снова пытаемся просмотреть ключ. Теперь вставляем его в поле Key меню SSH Keys Гитлаба, придумываем заголовок и нажимаем кнопку добавления (Add Key). Успешное добавление ключа обеспечит локальное управление репозиторием.

 

На этом всё, теперь ваш GitLab должен быть полностью готов к работе. Желаем успехов в ваших проектах!

Зарегистрируйтесь и начните пользоваться
сервисами Timeweb Cloud прямо сейчас

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону