Как да инсталирате GitLab Community Edition (CE) 11.x на CentOS 7

Тъй като GitHub беше придобит от Microsoft, доста разработчици планираха да мигрират собствените си хранилища на код от github.com към алтернативно самостоятелно хоствано решение. GitLab Community Edition (CE) е най-често срещаният избор. Като сложно и гъвкаво решение, GitLab CE може да бъде разгърнат с помощта на различни методи, но тук ще бъде обхванат само официално препоръчания метод, инсталирането на пакет Omnibus.

Предпоставки

  • Нов Vultr CentOS 7 сървърен екземпляр с поне 4 GB памет. 8GB или повече се препоръчват за обслужване на до 100 потребители. Да кажем, че неговият IPv4 адрес е 203.0.113.1.
  • А потребителското Sudo .
  • Домейн gitlab.example.com, насочен към гореспоменатия екземпляр.

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

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

Задействайте SSH терминал и влезте във вашия сървър на CentOS 7 като потребител на 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
cat <<EOF | sudo tee /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 gitlab.example.com gitlab
EOF

Можете да потвърдите резултатите:

hostname
hostname -f

Променете правилата на защитната стена

Разрешаване на входящ HTTP и HTTPS трафик:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service

Инсталирайте репото на EPEL YUM и след това актуализирайте системата

sudo yum install -y epel-release
sudo yum -y update && sudo shutdown -r now

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

Стъпка 2: Инсталирайте необходимите зависимости

Преди да инсталирате GitLab CE, трябва да инсталирате необходимите зависимости:

sudo yum install -y curl policycoreutils-python openssh-server openssh-clients

Освен това, ако искате да използвате Postfix за изпращане на уведомителни съобщения, трябва да инсталирате Postfix и да промените правилата на защитната стена, както следва:

sudo yum install -y postfix
sudo systemctl enable postfix.service
sudo systemctl start postfix.service
sudo firewall-cmd --permanent --add-service=smtp
sudo firewall-cmd --permanent --add-service=pop3
sudo firewall-cmd --permanent --add-service=imap
sudo firewall-cmd --permanent --add-service=smtps
sudo firewall-cmd --permanent --add-service=pop3s
sudo firewall-cmd --permanent --add-service=imaps
sudo firewall-cmd --reload

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

Забележка: В допълнение към горните инструкции, трябва да изпратите билет за поддръжка, за да отмените блокирането по подразбиране на Vultr на SMTP порт 25.

Като алтернатива, ако искате да използвате друго решение за съобщения, просто пропуснете инсталирането на Postfix и изберете да използвате външен SMTP сървър, след като GitLab CE е инсталиран.

Стъпка 3: Настройте репозиторията на GitLab RPM и след това инсталирайте GitLab CE

Настройте GitLab CE RPM хранилище на вашата система:

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

След това инсталирайте GitLab CE 11.x:

sudo EXTERNAL_URL="http://gitlab.example.com" yum 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. Изчистването на бисквитките решава този проблем.


Инсталирайте Plesk на CentOS 7

Инсталирайте Plesk на CentOS 7

Използване на различна система? Plesk е собствен контролен панел за уеб хост, който позволява на потребителите да администрират своите лични и/или клиентски уебсайтове, бази данни

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

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

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

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

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

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

Конфигуриране на статична мрежа и IPv6 на CentOS 7

Конфигуриране на статична мрежа и IPv6 на CentOS 7

VULTR наскоро направи промени от своя страна и вече всичко трябва да работи добре от кутията с активиран NetworkManager. Ако желаете да деактивирате

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

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

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

Как да инсталирате Apache Cassandra 3.11.x на CentOS 7

Как да инсталирате Apache Cassandra 3.11.x на CentOS 7

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

Как да инсталирате Microweber на CentOS 7

Как да инсталирате Microweber на CentOS 7

Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже

Как да инсталирате Mattermost 4.1 на CentOS 7

Как да инсталирате Mattermost 4.1 на CentOS 7

Използване на различна система? Mattermost е самостоятелно хоствана алтернатива с отворен код на Slack SAAS услугата за съобщения. С други думи, с Mattermost, вие ca

Създаване на мрежа от сървъри на Minecraft с BungeeCord на Debian 8, Debian 9 или CentOS 7

Създаване на мрежа от сървъри на Minecraft с BungeeCord на Debian 8, Debian 9 или CentOS 7

Какво ви трябва Vultr VPS с поне 1 GB RAM. SSH достъп (с root/административни привилегии). Стъпка 1: Инсталиране на BungeeCord На първо място

Lets Encrypt на Plesk

Lets Encrypt на Plesk

Контролният панел на Plesk разполага с много приятна интеграция за Lets Encrypt. Lets Encrypt е един от единствените доставчици на SSL, които предоставят пълно сертификати

Позволява криптиране на cPanel

Позволява криптиране на cPanel

Lets Encrypt е сертифициращ орган, посветен на предоставянето на SSL сертификати безплатно. cPanel изгради чиста интеграция, така че вие ​​и вашият клиент

Как да инсталирате Concrete5 на CentOS 7

Как да инсталирате Concrete5 на CentOS 7

Използване на различна система? Concrete5 е CMS с отворен код, който предлага много отличителни и полезни функции за подпомагане на редакторите при лесното създаване на съдържание и

Как да инсталирате табло за преглед на CentOS 7

Как да инсталирате табло за преглед на CentOS 7

Използване на различна система? Review Board е безплатен инструмент с отворен код за преглед на изходен код, документация, изображения и много други. Това е уеб базиран софтуер

Настройте HTTP удостоверяване с Nginx на CentOS 7

Настройте HTTP удостоверяване с Nginx на CentOS 7

В това ръководство ще научите как да настроите HTTP удостоверяване за уеб сървър на Nginx, работещ на CentOS 7. Изисквания За да започнете, ще ви трябва

Как да инсталирате YOURLS на CentOS 7

Как да инсталирате YOURLS на CentOS 7

YOURLS (Your Own URL Shortener) е приложение за съкращаване на URL адреси и анализ на данни с отворен код. В тази статия ще разгледаме процеса на инсталиране

Как да инсталирате и конфигурирате ArangoDB на CentOS 7

Как да инсталирате и конфигурирате ArangoDB на CentOS 7

Използване на различна система? Въведение ArangoDB е NoSQL база данни с отворен код с гъвкав модел на данни за документи, графики и ключ-стойности. то е

Използване на Etckeeper за контрол на версиите на /etc

Използване на Etckeeper за контрол на версиите на /etc

Въведение Директорията /etc/ играе критична роля в начина, по който функционира една Linux система. Причината за това е, че почти всяка системна конфигурация

Защо трябва да използвате SSHFS? Как да монтирате отдалечена файлова система със SSHFS на CentOS 6

Защо трябва да използвате SSHFS? Как да монтирате отдалечена файлова система със SSHFS на CentOS 6

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

Настройване на сървър на Half Life 2 на CentOS 6

Настройване на сървър на Half Life 2 на CentOS 6

Този урок ще обхване процеса на инсталиране на сървър за игри Half Life 2 на CentOS 6 System. Стъпка 1: Инсталиране на предпоставките За да настроите ou

Как да инсталирате Laravel GitScrum на CentOS 7

Как да инсталирате Laravel GitScrum на CentOS 7

Laravel GitScrum или GitScrum е инструмент за производителност с отворен код, предназначен да помогне на екипите за разработка да внедрят методологията на Scrum по подобен начин.

Възходът на машините: Реални приложения на 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 машини. Прочетете тази статия, за да научите повече