Как установить и настроить GitLab CE на CentOS 7
Это руководство существует для этих версий ОС
- CentOS 8
- CentOS 7
На этой странице
- Что мы будем делать
- Предпосылки
- Шаг 1. Установите пакеты
- Шаг 2. Установите GitLab
- Шаг 3. Настройка URL-адреса GitLab
- Шаг 4. Создание SSL Lets encrypt и сертификата DHPARAM
- Шаг 5. Включите Nginx HTTPS для GitLab
- Шаг 6. Настройка Firewalld
- Шаг 7. Выполните установку
- Сбросить корневой пароль GitLab
- Изменить профиль и имя пользователя
- Добавить ключ SSH
- Ограничения при регистрации и настройки ограничений
- Создать новый проект
- Протестировать первую фиксацию
GitLab — это менеджер репозитория с открытым исходным кодом, основанный на Rails, разработанный GitLab Inc. Это веб-менеджер репозитория git, который позволяет вашей команде совместно работать над кодированием, тестированием и развертыванием приложений. GitLab предоставляет несколько функций, включая вики, отслеживание проблем, проверку кода и каналы активности.
GitLab Inc предлагает 4 продукта:
- Gitlab CE (Community Edition) — самостоятельный и бесплатный; поддержка на форуме сообщества.
- Gitlab EE (Enterprise Edition) — самостоятельный и платный; поставляется с дополнительными функциями.
- GitLab.com — SaaS и бесплатно.
- GitLab.io — частный экземпляр GitLab, управляемый GitLab Inc.
В этом руководстве мы обсудим пошаговую установку GitLab CE (Community Edition) на сервере CentOS 7 с 4 ГБ оперативной памяти. В одном из наших предыдущих руководств мы выполнили установку GitLab вручную. Но здесь мы будем использовать комплексный пакет, предоставленный GitLab для нашей установки.
Что мы будем делать
- Установить пакеты
- Установите GitLab
- Настроить URL-адрес GitLab
- Создать сертификат SSL Lets encrypt и DHPARAM
- Включить Nginx HTTPS для GitLab
- Настройка брандмауэра
- Выполните установку GitLab
- Тестирование
Предпосылки
- Сервер 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/