Requisits previs
Pas 1: realitzeu tasques bàsiques per allotjar GitLab CE
Pas 2: instal·leu les dependències necessàries
Pas 3: configureu el repositori GitLab APT i, a continuació, instal·leu GitLab CE
Pas 4: habiliteu l'accés HTTPS integrant un certificat SSL Let's Encrypt
Des que Microsoft va adquirir GitHub, molts desenvolupadors han planejat migrar els seus propis dipòsits de codi des de github.com a una solució alternativa autoallotjada. GitLab Community Edition (CE) és l'opció més habitual.
Com a solució sofisticada i flexible, GitLab CE es pot desplegar mitjançant diversos mètodes, però aquí només es tractarà el mètode recomanat oficialment, la instal·lació del paquet Omnibus.
Requisits previs
- Una nova instància del servidor Vultr Ubuntu 18.04 LTS x64 amb almenys 4 GB de memòria. Es recomana 8 GB o més per atendre fins a 100 usuaris. Diguem que la seva adreça IPv4 és
203.0.113.1.
- Un usuari de sudo .
- Un domini
gitlab.example.comque s'adreça a la instància esmentada anteriorment.
Nota: quan desplegueu a la vostra pròpia instància de servidor, assegureu-vos de substituir tots els valors d'exemple per valors reals.
Enceneu un terminal SSH i inicieu sessió a la vostra instància del servidor Ubuntu 18.04 LTS x64 com a usuari sudo.
Afegiu una partició d'intercanvi i ajusteu la configuració d'intercanvi
Quan es desplega GitLab CE 11.x en una màquina amb 4 GB de memòria, cal configurar una partició d'intercanvi de 4 GB per a un bon funcionament:
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
Nota: si utilitzeu una mida de servidor diferent, la mida de la partició d'intercanvi pot variar.
Per a finalitats de rendiment del sistema, es recomana configurar la configuració d'intercanvi del nucli amb un valor baix com 10:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness
La sortida de l' catordre serà 10.
Configura el nom d'amfitrió de la màquina i el nom de domini complet (FQDN)
Utilitzeu les ordres següents per configurar un nom d'amfitrió, gitlab, i un FQDN, gitlab.example.com, per a la màquina:
sudo hostnamectl set-hostname gitlab
sudo sed -i "1 i\203.0.113.1 gitlab.example.com gitlab" /etc/hosts
Podeu confirmar els resultats:
hostname
hostname -f
Modificar les regles del tallafoc
Permet el trànsit entrant SSH, HTTP i HTTPS
sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
Actualitzar el sistema
sudo apt update
sudo apt upgrade -y && sudo shutdown -r now
Durant l'actualització, és possible que se us informe que la versió instal·lada actualment del fitxer de configuració de grub s'ha modificat localment. Com que en realitat no som responsables de la modificació, utilitzeu la UPfletxa per ressaltar l' install the package maintainer's versionopció i, a continuació, premeu ENTER.
Quan el sistema torni a estar en funcionament, torneu a iniciar sessió amb el mateix usuari de sudo per continuar.
Pas 2: instal·leu les dependències necessàries
Abans d'instal·lar GitLab CE, heu d'instal·lar les dependències necessàries:
sudo apt install -y curl openssh-server ca-certificates
A més, si voleu utilitzar Postfix per enviar missatges de notificació, heu d'instal·lar Postfix:
sudo apt install -y postfix
Durant la instal·lació, pot aparèixer una pantalla de configuració:
- Premeu TABper ressaltar el
<OK>botó a la primera pantalla i, a continuació, premeu ENTER.
- Seleccioneu
Internet Sitei premeu ENTER.
- Per al
mail namecamp, introduïu el FQDN del vostre servidor gitlab.example.comi premeu ENTER.
- Si apareixen altres pantalles, premeu ENTERper acceptar la configuració predeterminada.
Inicieu i activeu el servei Postfix:
sudo systemctl enable postfix.service
sudo systemctl start postfix.service
Modifiqueu les regles del tallafoc per a Postfix:
sudo ufw allow Postfix
sudo ufw allow 'Postfix SMTPS'
sudo ufw allow 'Postfix Submission'
Tenint instal·lat Postfix, heu de configurar Postfix editant el seu fitxer de configuració principal /etc/postfix/main.cfd'acord amb la configuració real del vostre servidor.
Nota: A més de les instruccions anteriors, heu d'enviar un bitllet d'assistència per cancel·lar el bloc predeterminat de Vultr al port SMTP 25.
Alternativament, si voleu utilitzar una altra solució de missatgeria, només cal que ometeu la instal·lació de Postfix i trieu utilitzar un servidor SMTP extern després d'haver instal·lat GitLab CE.
Pas 3: configureu el repositori GitLab APT i, a continuació, instal·leu GitLab CE
Configureu el dipòsit GitLab CE APT al vostre sistema:
cd
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
A continuació, instal·leu GitLab CE 11.x:
sudo EXTERNAL_URL="http://gitlab.example.com" apt install -y gitlab-ce
La instal·lació pot trigar una estona.
Finalment, apunteu el vostre navegador web preferit a http://gitlab.example.com, i després envieu una nova contrasenya tal com se us demani per acabar la instal·lació.
A partir d'ara, utilitzeu les credencials següents per iniciar sessió com a administrador:
- Nom d'usuari:
root
- Contrasenya:
<your-new-password>
Pas 4: habiliteu l'accés HTTPS integrant un certificat SSL Let's Encrypt
De moment, heu instal·lat correctament GitLab CE 11.x a la vostra instància de servidor i els usuaris ja poden visitar el lloc mitjançant el protocol HTTP. Per motius de seguretat, es recomana habilitar l'accés HTTPS al vostre servidor GitLab integrant un certificat SSL Let's Encrypt.
Utilitzeu l' vieditor per obrir el fitxer de configuració de GitLab CE:
sudo vi /etc/gitlab/gitlab.rb
Troba les dues línies següents:
external_url 'http://gitlab.example.com'
# letsencrypt['contact_emails'] = [] # This should be an array of email addresses to add as contacts
Substituïu-los en conseqüència:
external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['admin@example.com']
Desa i surt:
:wq!
Torneu a configurar GitLab CE mitjançant la configuració actualitzada:
sudo gitlab-ctl reconfigure
La reconfiguració pot trigar una estona.
Un cop feta la reconfiguració, tots els usuaris es veuran obligats a utilitzar el protocol HTTPS en accedir al lloc de GitLab.
Nota: després de canviar d'HTTP a HTTPS, les galetes heretades poden provocar un error de GitLab 422. L'eliminació de galetes soluciona aquest problema.