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

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

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

Предпосылки

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

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

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

Запустите терминал SSH и войдите в свой экземпляр сервера Debian 9 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

Настройка правил брандмауэра

Установите разумные правила брандмауэра для запуска сайта:

sudo iptables -F
sudo iptables -X
sudo iptables -Z
sudo iptables -A INPUT -s $(echo $(w -h ${USER}) | cut -d " " -f3) -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -d 127.0.0.0/8 -j REJECT
sudo iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P FORWARD DROP

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

sudo iptables -L -n

Используйте iptable-persistentинструмент, чтобы сохранить все существующие правила iptables в файле /etc/iptables/rules.v4, чтобы все правила iptables были постоянными:

sudo apt install -y iptables-persistent

Во время установки вам будет предложено сохранить текущие правила IPv4 / IPv6. Нажмите ENTERдважды, чтобы сохранить текущие правила IPv4 и IPv6 в /etc/iptables/rules.v4и /etc/iptables/rules.v6.

Если вы попытаетесь обновить правила IPv4 позже, используйте следующее для сохранения обновления:

sudo bash -c 'iptables-save > /etc/iptables/rules.v4'

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

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

Когда система снова заработает, войдите в систему под тем же пользователем 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 iptables -A INPUT -i eth0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 143 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 993 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 995 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo bash -c 'iptables-save > /etc/iptables/rules.v4'

После установки 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'] = ['admin@example.com']

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

:wq!

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

sudo gitlab-ctl reconfigure

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

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

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

Оставить комментарий

Изучение 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. Прочтите эту статью, чтобы узнать больше