Предуслови
Корак 1: Извршите основне задатке за хостовање ГитЛаб ЦЕ
Корак 2: Инсталирајте потребне зависности
Корак 3: Подесите ГитЛаб АПТ репо, а затим инсталирајте ГитЛаб ЦЕ
Корак 4: Омогућите ХТТПС приступ интеграцијом Лет'с Енцрипт ССЛ сертификата
Откако је Мицрософт купио ГитХуб, доста програмера је планирало да мигрира своја сопствена спремишта кода са гитхуб.цом на алтернативно решење које хостује сами. ГитЛаб Цоммунити Едитион (ЦЕ) је најчешћи избор.
Као софистицирано и флексибилно решење, ГитЛаб ЦЕ се може применити коришћењем различитих метода, али ће овде бити покривена само званично препоручена метода, инсталација Омнибус пакета.
Предуслови
- Нова Вултр Дебиан 9 к64 инстанца сервера са најмање 4 ГБ меморије. 8 ГБ или више се препоручује за опслуживање до 100 корисника. Рецимо да је његова ИПв4 адреса
203.0.113.1.
- : Судо корисника .
- Домен
gitlab.example.comкоји је усмерен на горе поменуту инстанцу.
Напомена: Приликом постављања на сопственој инстанци сервера, обавезно замените све вредности примера стварним.
Покрените ССХ терминал и пријавите се на своју инстанцу сервера Дебиан 9 к64 као судо корисник.
Додајте замјенску партицију и подесите поставку замјене
Када примењујете ГитЛаб ЦЕ 11.к на машини са 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.
Подесите име хоста машине и потпуно квалификовано име домена (ФКДН)
Користите следеће команде да бисте подесили име хоста, 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алат да сачувате сва постојећа иптаблес правила у датотеци /etc/iptables/rules.v4, чинећи сва иптаблес правила постојанима:
sudo apt install -y iptables-persistent
Током инсталације, бићете упитани да ли желите да сачувате тренутна ИПв4/ИПв6 правила. Притисните ENTERдвапут да бисте сачували тренутна ИПв4 и ИПв6 правила у /etc/iptables/rules.v4и /etc/iptables/rules.v6.
Ако касније покушате да ажурирате ИПв4 правила, користите следеће да бисте сачували ажурирање:
sudo bash -c 'iptables-save > /etc/iptables/rules.v4'
Ажурирајте систем
sudo apt update
sudo apt upgrade -y && sudo shutdown -r now
Када се систем поново покрене, пријавите се поново као исти судо корисник да бисте наставили даље.
Корак 2: Инсталирајте потребне зависности
Пре инсталирања ГитЛаб ЦЕ, потребно је да инсталирате потребне зависности:
sudo apt install -y curl openssh-server ca-certificates
Такође, ако желите да користите Постфик за слање порука са обавештењима, потребно је да инсталирате Постфик:
sudo apt install -y postfix
Током инсталације може се појавити екран за конфигурацију:
- Притисните TABда бисте означили
<OK>дугме на првом екрану, а затим притисните ENTER.
- Изаберите
Internet Siteи притисните ENTER.
- За
mail nameпоље, унесите ФКДН вашег сервера gitlab.example.com, и притисните ENTER.
- Ако се појаве други екрани, притисните ENTERда бисте прихватили подразумевана подешавања.
Покрените и омогућите Постфик услугу:
sudo systemctl enable postfix.service
sudo systemctl start postfix.service
Измените правила заштитног зида за Постфик:
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'
Након што је Постфик инсталиран, потребно је да конфигуришете Постфик тако што ћете уредити његову главну конфигурациону датотеку /etc/postfix/main.cfу складу са вашим стварним поставкама сервера.
Напомена: Поред горњих упутстава, потребно је да пошаљете тикет за подршку да бисте отказали Вултров подразумевани блок на СМТП порту 25.
Алтернативно, ако желите да користите друго решење за размену порука, само прескочите инсталацију Постфик-а и изаберите да користите екстерни СМТП сервер након што је ГитЛаб ЦЕ инсталиран.
Корак 3: Подесите ГитЛаб АПТ репо, а затим инсталирајте ГитЛаб ЦЕ
Подесите ГитЛаб ЦЕ АПТ спремиште на вашем систему:
cd
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Затим инсталирајте ГитЛаб ЦЕ 11.к:
sudo EXTERNAL_URL="http://gitlab.example.com" apt install -y gitlab-ce
Инсталација може потрајати.
На крају, усмерите свој омиљени веб прегледач на http://gitlab.example.com, а затим пошаљите нову лозинку како се од вас затражи да завршите инсталацију.
Од сада, користите акредитиве у наставку да бисте се пријавили као администратор:
- Корисничко име:
root
- Лозинка:
<your-new-password>
Корак 4: Омогућите ХТТПС приступ интеграцијом Лет'с Енцрипт ССЛ сертификата
За сада сте успешно инсталирали ГитЛаб ЦЕ 11.к на инстанци вашег сервера, а корисници већ могу да посете сајт користећи ХТТП протокол. Из безбедносних разлога, препоручује се да омогућите ХТТПС приступ вашем ГитЛаб серверу интеграцијом Лет'с Енцрипт ССЛ сертификата.
Користите viуређивач да отворите ГитЛаб ЦЕ конфигурациону датотеку:
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!
Поново конфигуришите ГитЛаб ЦЕ користећи ажурирана подешавања:
sudo gitlab-ctl reconfigure
Реконфигурација може потрајати.
Након што се реконфигурација заврши, сви корисници ће бити приморани да користе ХТТПС протокол када приступају ГитЛаб сајту.
Напомена: Након преласка са ХТТП-а на ХТТПС, застарели колачићи могу изазвати ГитЛаб 422 грешку. Брисање колачића решава овај проблем.