Как установить GitLab Community Edition (CE) 11.x в Ubuntu 18.04 LTS

С тех пор как GitHub был приобретен Microsoft, многие разработчики планировали перенести свои собственные репозитории кода с github.com в альтернативное решение для самостоятельного размещения. GitLab Community Edition (CE) является наиболее распространенным выбором.

Как сложное и гибкое решение, GitLab CE может быть развернут с использованием различных методов, но здесь будет описан только официально рекомендованный метод, установка пакета Omnibus.

Предпосылки

  • Свежий экземпляр сервера Vultr Ubuntu 18.04 LTS x64 с минимум 4 ГБ памяти. 8 ГБ или более рекомендуется для обслуживания до 100 пользователей. Скажите, что его адрес IPv4 есть 203.0.113.1.
  • Пользователь Sudo .
  • Домен gitlab.example.com, указывающий на экземпляр, упомянутый выше.

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

Шаг 1: Выполнить основные задачи для хостинга GitLab CE

Запустите терминал SSH и войдите в свой экземпляр Ubuntu 18.04 LTS x64 как пользователь sudo.

Добавьте раздел подкачки и настройте параметр подкачки

При развертывании GitLab CE 11.x на компьютере с 4 ГБ памяти необходимо настроить раздел подкачки 4 ГБ для бесперебойной работы:

sudo dd if=/dev/zero of=/swapfile count=4096 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

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

В целях повышения производительности системы рекомендуется настроить для параметра подкачки ядра низкое значение, например 10:

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness

Вывод catкоманды будет 10.

Настройте имя компьютера и полное доменное имя (FQDN)

Используйте следующие команды для настройки имени хоста gitlabи полного доменного имени gitlab.example.comдля машины:

sudo hostnamectl set-hostname gitlab
sudo sed -i "1 i\203.0.113.1 gitlab.example.com gitlab" /etc/hosts

Вы можете подтвердить результаты:

hostname
hostname -f

Изменить правила брандмауэра

Разрешить входящий трафик SSH, HTTP и HTTPS

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

Обновите систему

sudo apt update
sudo apt upgrade -y && sudo shutdown -r now

Во время обновления вы можете быть проинформированы о том, что текущая установленная версия файла конфигурации grub была изменена локально. Поскольку мы не несем ответственности за изменение, используйте UPстрелку, чтобы выделить install the package maintainer's versionпараметр, а затем нажмите ENTER.

Когда система снова заработает, войдите в систему под тем же пользователем sudo, чтобы продолжить.

Шаг 2. Установите необходимые зависимости

Перед установкой GitLab CE вам необходимо установить необходимые зависимости:

sudo apt install -y curl openssh-server ca-certificates

Кроме того, если вы хотите использовать Postfix для отправки уведомлений, вам необходимо установить Postfix:

sudo apt install -y postfix

Во время установки может появиться экран конфигурации:

  1. Нажмите, TABчтобы выделить <OK>кнопку на первом экране, а затем нажмите ENTER.
  2. Выберите Internet Siteи нажмите ENTER.
  3. В mail nameполе введите полное доменное имя вашего сервера gitlab.example.comи нажмите ENTER.
  4. Если появляются другие экраны, нажмите, ENTERчтобы принять настройки по умолчанию.

Запустите и включите службу Postfix:

sudo systemctl enable postfix.service
sudo systemctl start postfix.service

Изменить правила брандмауэра для Postfix:

sudo ufw allow Postfix
sudo ufw allow 'Postfix SMTPS'
sudo ufw allow 'Postfix Submission'

После установки Postfix вам необходимо настроить Postfix, отредактировав его основной файл конфигурации /etc/postfix/main.cfв соответствии с вашими фактическими настройками сервера.

Примечание. В дополнение к вышеприведенным инструкциям необходимо отправить заявку в службу поддержки, чтобы отменить блокировку Vultr по умолчанию на SMTP-порту 25.

В качестве альтернативы, если вы хотите использовать другое решение для обмена сообщениями, просто пропустите установку Postfix и выберите использование внешнего SMTP-сервера после установки GitLab CE.

Шаг 3: Установите репозиторий GitLab APT и затем установите GitLab CE

Установите репозиторий GitLab CE APT в вашей системе:

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

Далее установите GitLab CE 11.x:

sudo EXTERNAL_URL="http://gitlab.example.com" apt install -y gitlab-ce

Установка может занять некоторое время.

Наконец, укажите ваш любимый веб-браузер http://gitlab.example.com, а затем отправьте новый пароль в ответ на приглашение завершить установку.

С этого момента используйте следующие учетные данные для входа в систему в качестве администратора:

  • Имя пользователя: root
  • Пароль: <your-new-password>

Шаг 4. Включите доступ HTTPS путем интеграции SSL-сертификата Let's Encrypt

На данный момент вы успешно установили GitLab CE 11.x на свой экземпляр сервера, и пользователи уже могут посещать сайт с использованием протокола HTTP. В целях безопасности рекомендуется включить доступ HTTPS к вашему серверу GitLab путем интеграции SSL-сертификата Let's Encrypt.

Используйте viредактор, чтобы открыть файл конфигурации GitLab CE:

sudo vi /etc/gitlab/gitlab.rb

Найдите следующие две строки:

external_url 'http://gitlab.example.com'
# letsencrypt['contact_emails'] = [] # This should be an array of email addresses to add as contacts

Замените их соответственно:

external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['[email protected]']

Сохранить и выйти:

:wq!

Переконфигурируйте GitLab CE, используя обновленные настройки:

sudo gitlab-ctl reconfigure

Переконфигурация может занять некоторое время.

После завершения реконфигурации все пользователи будут вынуждены использовать протокол HTTPS при доступе к сайту GitLab.

Примечание. После перехода с HTTP на HTTPS устаревшие файлы cookie могут вызвать ошибку GitLab 422. Очистка файлов cookie устраняет эту проблему.



Leave a Comment

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

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

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

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

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше