Поиск по сайту:

Как установить и настроить GitLab на Ubuntu 16.04


Это руководство существует для этих версий ОС

  • Ubuntu 18.04 (Bionic Beaver)
  • Ubuntu 16.04 (Xenial Xerus)

На этой странице

  1. Шаг 1. Установите необходимые пакеты Ubuntu
  2. Шаг 2. Установите Gitlab
  3. Шаг 3. Настройка основного URL-адреса Gitlab
  4. Шаг 4. Создание сертификата SSL Lets encrypt и DHPARAM
  5. Шаг 5. Включите Nginx HTTPS для GitLab
  6. Шаг 6. Настройка брандмауэра UFW
  7. Шаг 7. Установка Gitlab после установки
  8. Шаг 8. Тестирование
  9. Настройки

GitLab — это менеджер репозитория GIT с открытым исходным кодом, основанный на Rails и разработанный GitLab Inc. Это веб-менеджер репозитория GIT, который позволяет вашей команде работать над кодом, отслеживать ошибки и запросы функций, а также тестировать и развертывать приложения. GitLab предоставляет такие функции, как вики, отслеживание проблем, обзоры кода, ленты активности и управление слияниями. Он может размещать несколько проектов.

GitLab доступен в четырех редакциях:

  1. Gitlab CE (Community Edition) — размещается самостоятельно, предоставляется бесплатно и поддерживается на форуме сообщества.
  2. Gitlab EE (Enterprise Edition) — платное приложение с самостоятельным размещением и дополнительными функциями.
  3. GitLab.com – SaaS, бесплатно.
  4. GitLab.io — частный экземпляр GitLab, управляемый GitLab Inc.

В этом руководстве я пошагово покажу вам, как установить GitLab CE (Community Edition) на ваш собственный сервер Ubuntu 16.04 Xenial Xerus. В этом руководстве я буду использовать пакет omnibus, предоставленный GitLab для простой установки.

Что мы будем делать:

  1. Установить пакеты
  2. Установите GitLab
  3. Настроить URL-адрес GitLab
  4. Создать сертификат SSL Lets encrypt и DHPARAM
  5. Включить Nginx HTTPS для GitLab
  6. Настройка брандмауэра UFW
  7. Выполните установку GitLab
  8. Тестирование

Предпосылки

  • Сервер Ubuntu 16.04 — 64-разрядная версия
  • Минимальный объем оперативной памяти – 2 ГБ.
  • Привилегии root

Шаг 1 — Установите необходимые пакеты Ubuntu

Первый шаг — установить пакеты, необходимые для установки GitLab. Пожалуйста, войдите на сервер как пользователь root и обновите репозиторий Ubuntu.

ssh 
apt-get update

Теперь установите пакеты, включая curl для загрузки репозитория GitLab, сертификаты ca и постфикс для конфигурации SMTP.

Установите все пакеты с помощью приведенной ниже команды apt.

sudo apt install curl openssh-server ca-certificates postfix

Во время установки постфикса вам будет предложено настроить конфигурацию, выберите Интернет-сайт.

а затем введите доменное имя сервера, которое будет использоваться для отправки электронной почты.

Шаг 2 — Установите Gitlab

На этом этапе мы установим GitLab, используя комплексные пакеты. Omnibus установит все пакеты, сервисы и инструменты, необходимые для запуска GitLab на вашем сервере.

Добавьте репозиторий GitLab с помощью команды curl.

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Затем установите GitLab CE Community Edition с помощью команды apt.

sudo apt install gitlab-ce

Подождите, пока сервер загрузит и установит пакет gitlab. Когда установка будет завершена, вы увидите результаты, как показано ниже.

Шаг 3. Настройте основной URL-адрес Gitlab

Теперь нам нужно настроить URL-адрес, который будет использоваться для доступа к нашему серверу GitLab. Я буду использовать доменное имя gitlab.hakase-labs.co для URL-адреса GitLab здесь (пожалуйста, выберите свое собственное доменное имя) и я буду использовать HTTPS для безопасности доступа пользователей.

Основная конфигурация GitLab находится в каталоге /etc/gitlab. Перейдите в этот каталог и отредактируйте файл конфигурации gitlab.rb с помощью vim.

cd /etc/gitlab
vim gitlab.rb

В конфигурации GitLab перейдите к строке 9 external_url и измените URL-адрес на свой URL-адрес gitlab.hakase-labs.co.

external_url 'http://gitlab.hakase-labs.co'

Сохраните файл и выйдите из редактора. На следующем шаге включим HTTPS для GitLab.

Шаг 4. Генерация сертификата SSL Lets encrypt и DHPARAM.

На этом шаге мы включим протокол HTTPS для GitLab. Я буду использовать бесплатные SSL-сертификаты, предоставленные Lets Encrypt для доменного имени gitlab.

Установите инструмент командной строки letsencrypt с помощью команды apt.

sudo apt install letsencrypt -y

Когда установка будет завершена, создайте новый сертификат для доменного имени gitlab с помощью приведенной ниже команды.

letsencrypt certonly -d gitlab.hakase-labs.co

Введите свой адрес электронной почты для уведомления о продлении SSL-сертификата.

Выберите «Принять условия предоставления услуг Lets Encrypt» и подождите.

Когда это будет сделано, вы увидите результат ниже.

Созданы новые файлы сертификатов Lets encrypt для GitLab. Вы можете найти файлы сертификатов в каталоге /etc/letsencrypt/live.

Затем создайте новый каталог с именем ssl в каталоге конфигурации GitLab.

mkdir -p /etc/gitlab/ssl/

И создайте файлы dhparam pem в каталоге ssl с помощью команды openssl.

sudo openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048

Теперь измените права доступа к файлам сертификатов на 600.

chmod 600 /etc/gitlab/ssl/*

Был сгенерирован сертификат SSL Lets encrypt для GitLab и сертификат DHPARAM.

Шаг 5. Включите Nginx HTTPS для GitLab

На данном этапе у нас есть файлы сертификатов от Letsencrypt в каталоге /etc/letsencrypt/live и сертификат DHPARAM в каталоге /etc/gitlab/ssl.

На этом этапе мы настроим GitLab для использования наших файлов сертификатов. Перейдите в каталог /etc/gitlab, затем отредактируйте конфигурацию gitlab.rb с помощью vim.

cd /etc/gitlab/
vim gitlab.rb

Измените внешний URL-адрес, чтобы использовать https вместо http.

external_url 'https://gitlab.hakase-labs.co'

Затем добавьте новую конфигурацию SSL для gitlab, как показано ниже.

nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.hakase-labs.co/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.hakase-labs.co/privkey.pem"
nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"

Примечание:

Мы включим перенаправление с HTTP на HTTPS в gitlab.

Сохраните файл и выйдите из vim.

Теперь нам нужно запустить приведенную ниже команду от имени пользователя root, чтобы применить новую конфигурацию gitlab.

sudo gitlab-ctl reconfigure

Вы увидите результаты, как показано ниже.

Настройка HTTPS для GitLab завершена.

Шаг 6. Настройте брандмауэр UFW.

На этом этапе мы включим брандмауэр UFW. Он уже установлен в системе, нам просто нужно запустить службу. Мы будем запускать GitLab за брандмауэром UFW, поэтому мы должны открыть порты HTTP и HTTPS.

Включите брандмауэр UFW с помощью команды ниже.

ufw enable

Команда запустит службу ufw и добавит ее для автоматического запуска во время загрузки.

Затем откройте новые порты ssh, HTTP и HTTPS.

ufw allow ssh
ufw allow http
ufw allow https

Теперь проверьте состояние брандмауэра и убедитесь, что порты ssh, http и https есть в списке.

ufw status

Порты HTTP и HTTPS настроены.

Шаг 7 — пост-установка Gitlab

GitLab был установлен в системе и работает за брандмауэром UFW. На этом этапе мы выполним некоторые быстрые настройки, такие как изменение пароля, имени пользователя и настроек профиля.

Откройте веб-браузер и введите URL-адрес gitlab, мой — gitlab.hakase-labs.co. Вы будете перенаправлены на HTTPS-соединение.

Сбросить корневой пароль GitLab

Теперь войдите в GitLab под пользователем root и со своим паролем.

Изменить имя пользователя и профиль

В правом верхнем углу щелкните свой профиль и выберите «Настройки профиля».

На вкладке профиля замените имя по умолчанию на свое имя и адрес электронной почты на свой адрес электронной почты. Теперь нажмите Обновить профиль.

Нажмите на вкладку Аккаунт, измените имя пользователя на свое имя пользователя. Затем нажмите «Обновить имя пользователя».

Добавить SSH-ключ

Убедитесь, что у вас уже есть ключ. Если у вас нет ключа SSH, вы можете сгенерировать его с помощью приведенной ниже команды.

ssh-keygen

И вы получите два ключа: id_rsa — ваш закрытый ключ и id_rsa.pub — ваш открытый ключ.

Затем перейдите на вкладку SSH Key, скопируйте содержимое файла id_rsa.pub и вставьте в поле ключа, а затем нажмите Add Key.

Добавлен новый ключ SSH.

Регистрация Ограничения и настройки лимитов

Нажмите на значок области администратора, а затем нажмите на значок шестеренки и выберите «Настройки».

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

И если все готово, прокрутите вниз и нажмите Сохранить.

Базовая настройка GitLab завершена.

Шаг 8 — Тестирование

Наконец, мы проведем несколько тестов, чтобы убедиться, что наша система GitLab работает правильно.

Создать новый проект

Щелкните значок плюса вверху, чтобы создать новый репозиторий проекта. Введите название вашего проекта, описание и настройте параметры видимости вашего проекта. Затем нажмите кнопку «Создать проект».

Новый проект создан.

Проверка первой фиксации и отправки

После создания проекта howtoforge вы будете перенаправлены на страницу проекта. Теперь начните добавлять новый контент в репозиторий. Убедитесь, что Git установлен на вашем компьютере, и настройте глобальное имя пользователя и адрес электронной почты для git с помощью приведенной ниже команды.

git config --global user.name "hakase"
git config --global user.email ""

Клонируйте репозиторий и добавьте файл README.md.

git clone https:///hakase/howtoforge.git
cd howtoforge/
vim README.md

Вам будет предложено ввести пароль пользователя hakase. Пожалуйста, введите тот же пароль, который вы использовали при первом доступе к GitLab.

Зафиксируйте новый файл в репозитории howtoforge.

git add .
git commit -m 'Add README.md file by hakase-labs'

Затем отправьте изменение в репозиторий на сервере GitLab.

git push origin master

Введите свой пароль и нажмите Enter, чтобы продолжить. Вы увидите результат, как показано ниже.

Теперь откройте проект howtoforge в веб-браузере, и вы увидите, что в репозиторий добавлен новый файл README.md.

Gitlab был установлен на сервере Ubuntu 16.04 Xenial Xerus.

Настройки

  • https://docs.gitlab.com/ce/