Как да инсталирате 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 GB памет. 8GB или повече се препоръчват за обслужване на до 100 потребители. Да кажем, че неговият IPv4 адрес е 203.0.113.1.
  • А потребителското Sudo .
  • Домейн gitlab.example.com, насочен към гореспоменатия екземпляр.

Забележка: Когато разгръщате на вашия собствен сървърен екземпляр, не забравяйте да замените всички примерни стойности с действителни.

Стъпка 1: Изпълнете основни задачи за хостване на GitLab CE

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

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

Когато разгръщате GitLab CE 11.x на машина с 4GB памет, е необходимо да настроите суап дял от 4GB за гладко функциониране:

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, и FQDN, 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полето въведете FQDN на вашия сървър 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 достъпа чрез интегриране на Let's Encrypt SSL сертификат

Засега успешно сте инсталирали GitLab CE 11.x на вашия сървърен екземпляр и потребителите вече могат да посещават сайта, използвайки HTTP протокола. От съображения за сигурност се препоръчва да активирате HTTPS достъп до вашия GitLab сървър чрез интегриране на Let's Encrypt SSL сертификат.

Използвайте 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, наследените бисквитки могат да причинят грешка в GitLab 422. Изчистването на бисквитките решава този проблем.


Инсталирайте Lets Encrypt SSL в приложението WordPress с едно щракване

Инсталирайте Lets Encrypt SSL в приложението WordPress с едно щракване

Въведение Lets Encrypt е услуга на сертифициращ орган, която предлага безплатни TLS/SSL сертификати. Процесът на инсталиране е опростен от Certbot,

Как да настроите надстройки без надзор на Debian 9 (разтягане)

Как да настроите надстройки без надзор на Debian 9 (разтягане)

Използване на различна система? Ако закупите сървър на Debian, винаги трябва да имате най-новите корекции за сигурност и актуализации, независимо дали спите или не

Как да инсталирате и конфигурирате PHP 7.0 или PHP 7.1 на Ubuntu 16.04

Как да инсталирате и конфигурирате PHP 7.0 или PHP 7.1 на Ubuntu 16.04

PHP и свързаните с него пакети са най-често използваните компоненти при разгръщане на уеб сървър. В тази статия ще научим как да настроим PHP 7.0 или PHP 7.1 o

Как да инсталирате Squid Proxy на CentOS

Как да инсталирате Squid Proxy на CentOS

Squid е популярна, безплатна програма за Linux, която ви позволява да създадете уеб прокси за препращане. В това ръководство ще видите как да инсталирате Squid на CentOS, за да ви обърне

Как да инсталирате Lighttpd (LLMP стек) на CentOS 6

Как да инсталирате Lighttpd (LLMP стек) на CentOS 6

Въведение Lighttpd е форк на Apache, чиято цел е да бъде много по-малко ресурсоемка. Той е лек, откъдето идва и името му, и е доста лесен за използване. Инсталирайте

Три безплатни контролни панела на сървъра (бърза инсталация)

Три безплатни контролни панела на сървъра (бърза инсталация)

1. Virtualmin/Webmin Virtualmin е мощен и гъвкав контролен панел за уеб хостинг за Linux и UNIX системи, базиран на добре познатата уеб база с отворен код

Настройване на приложение Yii на Ubuntu 14.04

Настройване на приложение Yii на Ubuntu 14.04

Yii е PHP рамка, която ви позволява да разработвате приложения по-бързо и лесно. Инсталирането на Yii в Ubuntu е лесно, както ще научите точно l

Настройте свой собствен DNS сървър на Debian/Ubuntu

Настройте свой собствен DNS сървър на Debian/Ubuntu

Този урок обяснява как да настроите DNS сървър с помощта на Bind9 на Debian или Ubuntu. В цялата статия заменете your-domain-name.com съответно. При th

Използване на Logrotate за управление на регистрационни файлове

Използване на Logrotate за управление на регистрационни файлове

Въведение Logrotate е помощна програма за Linux, която опростява администрирането на лог файлове. Обикновено се изпълнява веднъж на ден чрез cron задание и управлява базата от регистрационни файлове

Промяна на Icinga2 за използване на модел главен/клиент на CentOS 6 или CentOS 7

Промяна на Icinga2 за използване на модел главен/клиент на CentOS 6 или CentOS 7

Icinga2 е мощна система за наблюдение и когато се използва в модел главен-клиент, тя може да замени необходимостта от проверки на базата на NRPE. Главният клиент

Настройте Red5 Media Server на Ubuntu 16.04

Настройте Red5 Media Server на Ubuntu 16.04

Използване на различна система? Red5 е медиен сървър с отворен код, внедрен в Java, който ви позволява да стартирате Flash многопотребителски приложения, като например предаване на живо

Компилирайте и инсталирайте Nginx с модула PageSpeed ​​на Debian 8

Компилирайте и инсталирайте Nginx с модула PageSpeed ​​на Debian 8

В тази статия ще видим как да компилирате и инсталирате основната линия на Nginx от официалните източници на Nginx с модула PageSpeed, който ви позволява да

Как да инсталирате Apache Cassandra 3.11.x на Ubuntu 16.04 LTS

Как да инсталирате Apache Cassandra 3.11.x на Ubuntu 16.04 LTS

Използване на различна система? Apache Cassandra е безплатна система за управление на база данни NoSQL с отворен код, която е проектирана да осигури мащабируемост, висока

Как да инсталирате Vanilla Forum на Ubuntu 16.04

Как да инсталирате Vanilla Forum на Ubuntu 16.04

Използване на различна система? Vanilla forum е приложение за форум с отворен код, написано на PHP. Той е напълно адаптивен, лесен за използване и поддържа външен

Как да инсталирате Kanboard на Ubuntu 18.04 LTS

Как да инсталирате Kanboard на Ubuntu 18.04 LTS

Използване на различна система? Въведение Kanboard е безплатна програма за управление на проекти с отворен код, която е предназначена да улеснява и визуализира

Как да инсталирате Kanboard на Debian 9

Как да инсталирате Kanboard на Debian 9

Използване на различна система? Въведение Kanboard е безплатна програма за управление на проекти с отворен код, която е предназначена да улеснява и визуализира

Как да инсталирате Gitea на Debian 9

Как да инсталирате Gitea на Debian 9

Използване на различна система? Gitea е алтернатива с отворен код, самостоятелно хоствана система за контрол на версиите, задвижвана от Git. Gitea е написана на Голанг и е

Как да инсталирате Gitea на Ubuntu 18.04

Как да инсталирате Gitea на Ubuntu 18.04

Използване на различна система? Gitea е алтернатива с отворен код, самостоятелно хоствана система за контрол на версиите, задвижвана от git. Gitea е написана на Голанг и е

Инсталирайте Lynis на Debian 8

Инсталирайте Lynis на Debian 8

Въведение Lynis е безплатен инструмент за одит на системата с отворен код, който се използва от много системни администратори за проверка на целостта и заздравяване на техните системи. аз

Как да инсталирате Thelia 2.3 на Debian 9

Как да инсталирате Thelia 2.3 на Debian 9

Използване на различна система? Thelia е инструмент с отворен код за създаване на уебсайтове за е-бизнес и управление на онлайн съдържание, написано на PHP. Изходен код на Thelia i

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

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

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

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

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

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

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече