Сама процедура не представляет особых сложностей: достаточно установить зависимости, приложение и настроить брандмауэр. После этого можно приступать к настройке 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']
Далее можно настроить и обновление сертификатов. Вот примерные параметры:
Обратите внимание, что можно указать обновление с точностью до минуты. В данном случае минуты не используются (значение 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 должен быть полностью готов к работе. Желаем успехов в ваших проектах!
