Parakushtet
Hapi 1: Kryeni detyrat bazë për pritjen e GitLab CE
Hapi 2: Instaloni varësitë e nevojshme
Hapi 3: Vendosni repon e GitLab APT dhe më pas instaloni GitLab CE
Hapi 4: Aktivizo qasjen HTTPS duke integruar një certifikatë Let's Encrypt SSL
Që kur GitHub u ble nga Microsoft, shumë zhvillues kanë planifikuar të migrojnë depot e tyre të kodit nga github.com në një zgjidhje alternative të vetë-strehuar. GitLab Community Edition (CE) është zgjedhja më e zakonshme.
Si një zgjidhje e sofistikuar dhe fleksibël, GitLab CE mund të vendoset duke përdorur metoda të ndryshme, por vetëm metoda e rekomanduar zyrtarisht, instalimi i paketës Omnibus, do të trajtohet këtu.
Parakushtet
- Një shembull i ri i serverit Vultr Debian 9 x64 me të paktën 4 GB memorie. 8 GB ose më shumë rekomandohet për të shërbyer deri në 100 përdorues. Thuaj se adresa e tij IPv4 është
203.0.113.1
.
- Një përdorues sudo .
- Një domen i
gitlab.example.com
drejtuar drejt shembullit të përmendur më sipër.
Shënim: Kur vendosni në shembullin e serverit tuaj, sigurohuni që të zëvendësoni të gjitha vlerat e shembullit me ato aktuale.
Ndizni një terminal SSH dhe identifikohuni në shembullin e serverit tuaj Debian 9 x64 si përdorues sudo.
Shtoni një ndarje shkëmbimi dhe ndryshoni cilësimin e shkëmbimit
Kur vendosni GitLab CE 11.x në një makinë me 4 GB memorie, kërkohet të konfiguroni një ndarje shkëmbimi 4 GB për funksionim të qetë.
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
Shënim: Nëse jeni duke përdorur një madhësi të ndryshme të serverit, madhësia e ndarjes së shkëmbimit mund të ndryshojë.
Për qëllime të performancës së sistemit, rekomandohet të konfiguroni cilësimin e shkëmbimit të kernelit në një vlerë të ulët si 10
:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness
Prodhimi i cat
komandës do të jetë 10
.
Konfiguro emrin e hostit të makinës dhe emrin e domain-it plotësisht të kualifikuar (FQDN)
Përdorni komandat e mëposhtme për të vendosur një emër hosti, gitlab
, dhe një FQDN, gitlab.example.com
, për makinën:
sudo hostnamectl set-hostname gitlab
sudo sed -i "1 i\203.0.113.1 gitlab.example.com gitlab" /etc/hosts
Ju mund të konfirmoni rezultatet:
hostname
hostname -f
Rregullat e konfigurimit të murit të zjarrit
Vendosni rregulla të arsyeshme të murit të zjarrit për drejtimin e një faqe interneti:
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
Të gjitha cilësimet e mësipërme do të hyjnë në fuqi menjëherë. Përdorni komandën e mëposhtme për t'i renditur ato për rishikim:
sudo iptables -L -n
Përdorni iptable-persistent
mjetin për të ruajtur të gjitha rregullat ekzistuese iptables në një skedar /etc/iptables/rules.v4
, duke i bërë të qëndrueshme të gjitha rregullat iptables:
sudo apt install -y iptables-persistent
Gjatë instalimit, do të pyeteni nëse dëshironi të ruani rregullat aktuale IPv4/IPv6. Shtypni ENTERdy herë për të ruajtur rregullat aktuale IPv4 dhe IPv6 në /etc/iptables/rules.v4
dhe /etc/iptables/rules.v6
.
Nëse përpiqeni të përditësoni rregullat IPv4 më vonë, përdorni sa vijon për të ruajtur përditësimin tuaj:
sudo bash -c 'iptables-save > /etc/iptables/rules.v4'
Përditëso sistemin
sudo apt update
sudo apt upgrade -y && sudo shutdown -r now
Kur sistemi të aktivizohet dhe të funksionojë përsëri, identifikohuni përsëri si i njëjti përdorues sudo për të vazhduar më tej.
Hapi 2: Instaloni varësitë e nevojshme
Përpara se të instaloni GitLab CE, duhet të instaloni varësitë e kërkuara:
sudo apt install -y curl openssh-server ca-certificates
Gjithashtu, nëse dëshironi të përdorni Postfix për të dërguar mesazhe njoftimi, duhet të instaloni Postfix:
sudo apt install -y postfix
Gjatë instalimit, mund të shfaqet një ekran konfigurimi:
- Shtypni TABpër të theksuar
<OK>
butonin në ekranin e parë dhe më pas shtypni ENTER.
- Zgjidhni
Internet Site
dhe shtypni ENTER.
- Për këtë
mail name
fushë, futni FQDN të serverit tuaj gitlab.example.com
, dhe shtypni ENTER.
- Nëse shfaqen ekrane të tjera, shtypni ENTERpër të pranuar cilësimet e paracaktuara.
Filloni dhe aktivizoni shërbimin Postfix:
sudo systemctl enable postfix.service
sudo systemctl start postfix.service
Ndryshoni rregullat e murit të zjarrit për 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'
Pasi të keni instaluar Postfix, ju duhet të konfiguroni Postfix duke redaktuar skedarin e tij kryesor të konfigurimit /etc/postfix/main.cf
në përputhje me cilësimet aktuale të serverit tuaj.
Shënim: Përveç udhëzimeve të mësipërme, duhet të paraqisni një biletë mbështetëse për të anuluar bllokimin e paracaktuar të Vultr në portën SMTP 25.
Përndryshe, nëse dëshironi të përdorni një zgjidhje tjetër të mesazheve, thjesht kaloni instalimin e Postfix dhe zgjidhni të përdorni një server të jashtëm SMTP pasi të jetë instaluar GitLab CE.
Hapi 3: Vendosni repon e GitLab APT dhe më pas instaloni GitLab CE
Vendosni depon e GitLab CE APT në sistemin tuaj:
cd
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Më pas, instaloni GitLab CE 11.x:
sudo EXTERNAL_URL="http://gitlab.example.com" apt install -y gitlab-ce
Instalimi mund të zgjasë pak.
Më në fund, drejtojeni shfletuesin tuaj të preferuar të internetit në http://gitlab.example.com
, dhe më pas dërgoni një fjalëkalim të ri siç kërkohet për të përfunduar instalimin.
Që tani e tutje, përdorni kredencialet më poshtë për t'u identifikuar si administrator:
- Emri i përdoruesit:
root
- Fjalëkalimi:
<your-new-password>
Hapi 4: Aktivizo qasjen HTTPS duke integruar një certifikatë Let's Encrypt SSL
Tani për tani, ju keni instaluar me sukses GitLab CE 11.x në shembullin e serverit tuaj dhe përdoruesit tashmë mund të vizitojnë sajtin duke përdorur protokollin HTTP. Për qëllime sigurie, rekomandohet të mundësohet aksesi HTTPS në serverin tuaj GitLab duke integruar një certifikatë Let's Encrypt SSL.
Përdorni vi
redaktorin për të hapur skedarin e konfigurimit GitLab CE:
sudo vi /etc/gitlab/gitlab.rb
Gjeni dy rreshtat e mëposhtëm:
external_url 'http://gitlab.example.com'
# letsencrypt['contact_emails'] = [] # This should be an array of email addresses to add as contacts
Zëvendësoni ato në përputhje me rrethanat:
external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['[email protected]']
Ruani dhe hiqni dorë:
:wq!
Rikonfiguroni GitLab CE duke përdorur cilësimet e përditësuara:
sudo gitlab-ctl reconfigure
Rikonfigurimi mund të zgjasë pak.
Pasi të kryhet rikonfigurimi, të gjithë përdoruesit do të detyrohen të përdorin protokollin HTTPS kur të hyjnë në faqen e GitLab.
Shënim: Pas kalimit nga HTTP në HTTPS, kukit e vjetër mund të shkaktojnë një gabim GitLab 422. Pastrimi i kukive e rregullon këtë problem.