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