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

Как установить и настроить GitLab CE на CentOS 7


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

  • CentOS 8
  • CentOS 7

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

  1. Что мы будем делать
  2. Предпосылки
  3. Шаг 1. Установите пакеты
  4. Шаг 2. Установите GitLab
  5. Шаг 3. Настройка URL-адреса GitLab
  6. Шаг 4. Создание SSL Lets encrypt и сертификата DHPARAM
  7. Шаг 5. Включите Nginx HTTPS для GitLab
  8. Шаг 6. Настройка Firewalld
  9. Шаг 7. Выполните установку
    1. Сбросить корневой пароль GitLab
    2. Изменить профиль и имя пользователя
    3. Добавить ключ SSH
    4. Ограничения при регистрации и настройки ограничений

    1. Создать новый проект
    2. Протестировать первую фиксацию

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

    GitLab Inc предлагает 4 продукта:

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

    В этом руководстве мы обсудим пошаговую установку GitLab CE (Community Edition) на сервере CentOS 7 с 4 ГБ оперативной памяти. В одном из наших предыдущих руководств мы выполнили установку GitLab вручную. Но здесь мы будем использовать комплексный пакет, предоставленный GitLab для нашей установки.

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

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

    Предпосылки

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

    Шаг 1 - Установите пакеты

    На этом этапе мы загрузим/установим некоторые пакеты, необходимые для установки GitLab. Мы будем использовать curl для загрузки установщика репозитория, policycoreutils для менеджера SELinux, OpenSSH и postfix в качестве локального SMTP-сервера.

    Установите все эти пакеты с помощью следующей команды yum.

    yum -y install curl policycoreutils openssh-server openssh-clients postfix

    После этого запустите службы ssh и postfix.

    systemctl start sshd
    systemctl start postfix

    Теперь включите их автоматический запуск во время загрузки.

    systemctl enable sshd
    systemctl enable postfix

    Все пакеты, необходимые для установки GitLab, теперь установлены на сервере.

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

    GitLab предоставляет установщик для добавления репозитория GitLab CE. Загрузите установщик с помощью curl и запустите скрипт (как показано ниже), чтобы добавить новый репозиторий GitLab CE.

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

    В систему добавлен репозиторий GitLab CE.

    Теперь установите GitLab с помощью следующей команды yum.

    yum -y install gitlab-ce

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

    При этом GitLab CE теперь установлен на сервере CentOS 7.

    Шаг 3. Настройте URL-адрес GitLab

    В этом руководстве мы будем использовать доменное имя для GitLab. В частности, мы будем использовать доменное имя gitlab.hakase-labs.co.

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

    cd /etc/gitlab/
    vim gitlab.rb

    Измените строку external_url на доменное имя gitlab.hakase-labs.co.

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

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

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

    Для базового уровня безопасности мы будем использовать SSL для нашего сайта GitLab. Мы будем использовать бесплатный сертификат SSL от Letsencrypt и сгенерируем сертификат DHPARAM, чтобы добавить дополнительный уровень безопасности.

    Чтобы сгенерировать сертификат Letsencrypt, нам нужно установить инструмент командной строки letsencrypt, который доступен в репозитории.

    Установите инструмент Letsencrypt на CentOS 7 с помощью команды yum ниже.

    yum -y install letsencrypt

    После завершения установки создайте новый SSL-сертификат letsencrypt с помощью приведенной ниже команды.

    letsencrypt certonly --standalone -d gitlab.hakase-labs.co

    Примечание. При создании SSL Letsencrypt убедитесь, что ваш порт HTTP и HTTPS не блокируется брандмауэром.

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

    И если вы видите результат, как показано ниже, это означает, что ваш сертификат для доменного имени был сгенерирован и сохранен в каталоге /etc/letsencrypt/live.

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

    mkdir -p /etc/gitlab/ssl/

    Теперь сгенерируйте pem-файл сертификата DHPARAM с помощью OpenSSL. Большой бит более безопасен.

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

    И после того, как сертификат DHPARAM сгенерирован, измените разрешение файла сертификата на 600.

    chmod 600 /etc/gitlab/ssl/*

    Итак, сертификат SSL Letsencrypt и DHPARAM для установки GitLab сгенерирован.

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

    На данном этапе у нас уже есть бесплатные файлы сертификатов SSL от Letsencrypt и сертификат DHPARAM, который генерируется с помощью команды OpenSSL. И на этом этапе мы включим HTTPS для сайта GitLab. Мы включим HTTPS и принудительно подключим HTTP к HTTPS-соединению.

    Сначала перейдите в каталог конфигурации GitLab и отредактируйте файл конфигурации gitlab.rb.

    cd /etc/gitlab/
    vim gitlab.rb

    И измените HTTP на HTTPS в строке external_url.

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

    Затем вставьте следующую конфигурацию в конфигурацию строки external_url.

    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"

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

    Наконец, примените конфигурацию GitLab с помощью следующей команды.

    gitlab-ctl reconfigure

    И когда все будет готово, вы должны получить результат, как показано ниже.

    Шаг 6 — Настройте Firewalld

    В этом руководстве мы запустим GitLab под брандмауэром Firewalld. Поэтому убедитесь, что он установлен в системе. Если у вас нет пакета, вы можете установить его с помощью следующей команды.

    yum -y install firewalld

    Запустите firewalld и включите его автоматически во время загрузки с помощью команд systemctl, как показано ниже.

    systemctl start firewalld
    systemctl enable firewalld

    Далее открываем новые порты для наших сервисов. Мы откроем порты SSH, HTTP и HTTPS для нашей конфигурации GitLab. Запустите приведенные ниже команды firewall-cmd, чтобы открыть порты.

    firewall-cmd --permanent --add-service ssh
    firewall-cmd --permanent --add-service http
    firewall-cmd --permanent --add-service https

    Теперь перезагрузите брандмауэр и проверьте конфигурацию firewalld. Убедитесь, что в списке есть SSH, HTTP и HTTPS.

    firewall-cmd --reload
    firewall-cmd --list-all

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

    Шаг 7 - Выполните установку

    Итак, GitLab был установлен в системе и работает под брандмауэром Firewalld. На этом этапе мы выполним некоторые быстрые настройки после установки GitLab на сервер.

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

    Откройте веб-браузер и введите URL-адрес gitlab gitlab.hakase-labs.co. Вы будете перенаправлены на HTTPS-соединение. Измените пароль root на свой собственный пароль и нажмите кнопку «Изменить пароль» для подтверждения.

    Теперь вы можете войти в панель управления GitLab с пользователем root по умолчанию и своим паролем.

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

    После того, как вы вошли в панель инструментов GitLab, щелкните в правом верхнем углу своего профиля значка и щелкните значок «Настройки», чтобы настроить свой профиль.

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

    Затем перейдите на вкладку «Учетная запись» и измените имя пользователя root по умолчанию на свое собственное имя пользователя, затем нажмите кнопку «Обновить имя пользователя».

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

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

    ssh-keygen

    И вы получите два ключа в каталоге ~/.ssh/. id_rsa будет вашим закрытым ключом, а id_rsa.pub будет вашим открытым ключом.

    Затем вернитесь в веб-браузер и щелкните вкладку SSH Key. Скопируйте содержимое файла id_rsa.pub и вставьте в поле ключа, затем нажмите «Добавить ключ».

    При этом ключ 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, а затем добавьте новый контент в файл README.md.

    Зафиксируйте новые изменения в репозитории, используя следующие команды.

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

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

    git push origin master

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

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

    Таким образом, это подтверждает, что Gitlab успешно установлен на Ubuntu CentOS 7 с 4 ГБ памяти.

    Ссылка

    • https://about.gitlab.com/downloads/