Anonim

Per què Gitlab

Links ràpids

  • Per què Gitlab
  • Configuració
  • Instal·leu dependències
  • Instal·leu Gitlab
  • Executeu la configuració
  • Configuració inicial
  • Configura SSH
    • Per SSH regular
  • Configura UFW
  • Pensaments de cloenda

Hi ha moltes opcions fantàstiques per allotjar els vostres projectes i compartir el vostre codi. Podeu configurar un compte Github ara mateix de forma gratuïta. Aleshores, per què voldríeu passar pel problema de crear vosaltres mateixos Gitlab?

Hi ha un parell d’arguments bons per a això, en realitat, no menys important és la privadesa. Gitlab és teu. L'acull i el posseeix. Per tant, podeu controlar qui té accés als vostres dipòsits. Això també significa que teniu el control sobre la plataforma. No estàs subjecte a polítiques corporatives, canvis arbitraris en els preus o recollida de dades.

El control de versions que s’allotja a si mateix també significa que no sou depenent d’un servei per accedir al vostre codi. Per descomptat, les possibilitats de que Github o un altre servei similar no estiguin completament indisponibles a causa d'una interrupció són molt reduïdes, però preferiria que no sigui una possibilitat?

Gitlab també és molt fàcil de configurar i només requereix que tingueu un servidor Linux que executi el programari de codi obert Gitlab, la majoria dels quals estan preconfigurats i preparats per executar-los.

Configuració

Abans de començar, haureu de configurar un VPS per a hostar Gitlab, tret que tingueu previst allotjar-lo localment. Les empreses d’allotjament com DigitalOcean i Linode ofereixen opcions rendibles que permeten que el vostre servidor funcioni.

També és una bona idea comprar un nom de domini per al vostre servidor. O bé, podeu assenyalar un subdomini d'un nom de domini existent al servidor de Gitlab. De qualsevol manera, facilitarà l’accés a la interfície web.

Aquesta guia seguirà Ubuntu 16.04 LTS. És l'últim llançament de suport a llarg termini d'Ubuntu i és molt fàcil de treballar. Debian Stretch (estable) també seria una opció fantàstica, i la majoria d’aquesta guia també funcionarà. DigitalOcean i Linode configuraran el servidor amb el sistema operatiu que trieu, de manera que no cal instal·lar Ubuntu.

Instal·leu dependències

Quan inicieu per primera vegada Ubuntu, és convenient actualitzar el sistema per assegurar-vos que no hi hagi solucions de seguretat disponibles. Endavant i fes-ho primer.

Actualització $ sudo apt Actualització $ sudo apt actualització

Un cop acabi l’actualització, hi ha un parell de coses que haureu d’instal·lar per començar a Gitlab. Feu servir apt per instal·lar-los també.

$ sudo apt install install curl openssh-server ca-certificate postfix

Això és. Esteu a punt per executar la seqüència d’instal·lador de Gitlab.

Instal·leu Gitlab

Gitlab manté el seu propi dipòsit de Debian / Ubuntu. Per habilitar el dipòsit al vostre servidor, descarregueu i executeu un script adequat d’instal·lació proporcionat per l’equip de Gitlab.

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

Pot semblar molt, però només descarrega l'script i indica al shell de la línia de comandes per executar-lo. El guió trigarà uns segons a recórrer i configurar el dipòsit. Un cop ho faci, estareu a punt per instal·lar el paquet Gitlab.

$ sudo apt install gitlab-ce

Aquesta instal·lació trigarà uns minuts. Gitlab inclou un gran paquet anomenat "paquet Omnibus". Es presenta amb tot el que Gitlab necessita.

Executeu la configuració

Hi ha un script de configuració que cal executar per Gitlab per configurar-se. Va incloure el paquet que acabeu d’instal·lar, de manera que ja podeu executar-lo.

$ sudo gitlab-ctl reconfiguració

El guió trigarà uns minuts a recórrer-ho tot. Es tracta principalment de configurar el backend de bases de dades per a Gitlab. Veureu una gran quantitat de migracions de Ruby a Rails corrent per la pantalla. Pot trigar un temps, però, quan s’acabi, Gitlab estarà llest per utilitzar-lo.

Configuració inicial

Obriu el navegador web i navegueu al servidor de Gitlab. Una pàgina que us demanarà que configureu una contrasenya administrativa. Aquesta és òbviament la contrasenya del vostre compte d’administrador. De manera predeterminada, el nom del compte és "root".

Després que s'hagi creat aquest compte, podeu iniciar la sessió amb ell o registrar-vos un compte d'usuari regular i iniciar la sessió. De qualsevol manera, un cop us inicieu la sessió, tindreu accés a tot el quadre de comandament de Gitlab per crear i gestionar dipòsits.

Configura SSH

No voleu haver d’aplicar canvis als vostres projectes mitjançant contrasenyes. És un dolor i no està gaire segur. El millor que podeu fer és crear un SSH per iniciar la sessió automàticament des de qualsevol ordinador amb la clau instal·lada.

Les claus SSH són molt fàcils de crear a Linux i Mac. A Windows 10, el procés hauria de ser el mateix mitjançant l’aplicació OpenSSH disponible.

Obriu un terminal i executeu la següent comanda per crear la vostra clau. Podeu deixar fora de la part -C '' si només voleu utilitzar la informació d'inici de sessió del vostre ordinador. En cas contrari, una adreça de correu electrònic sol ser la trucada adequada.

$ ssh-keygen -b 4096 -t rsa -C ''

El procés us permetrà realitzar un parell de passos. Els valors per defecte són principalment bons i tot plegat és força explicatiu. Si escolliu associar una contrasenya amb la vostra clau, necessitareu aquesta contrasenya cada vegada que inicieu la sessió o feu un canvi. Podeu deixar la contrasenya en blanc per no utilitzar-ne una.

Per veure la vostra clau, executa la comanda següent. Sembla que és una tonteria, i en el fons, però és la vostra clau. Haureu de copiar-lo del terminal i passar-lo a Gitlab.

$ cat ~ / .ssh / id_rsa.pub

Torneu a fer clic a Gitlab, feu clic a la icona del perfil que hi ha a la part superior dreta de la pantalla. A continuació, feu clic a "Configuració" al menú resultant. Al menú de l'esquerra de la pàgina, feu clic a "Claus SSH".

Copieu la clau del vostre terminal. Comenceu després de “ssh-rsa” i atureu-vos abans de la vostra adreça de correu electrònic. Per tant, només cal que copieu la part del disbarat. Pega-la a la casella gran amb l'etiqueta "Clau". Posa-ho en nom de la clau i desa-la. A partir d’aquest moment, podreu enviar el vostre codi als dipòsits sense iniciar la sessió.

Per SSH regular

Ja teniu una clau SSH. També podeu utilitzar-lo per SSH. OpenSSH té una utilitat incorporada per empènyer la clau al vostre servidor.

$ ssh-copy-id -i ~ / .ssh / id_rsa.pub _IP

Substituïu el nom de servidor i nom de servidor SERVER_IP pel vostre nom d'usuari al servidor i l'adreça IP del servidor.

Proveu d’iniciar la sessió al vostre servidor mitjançant la nova clau.

$ ssh _IP

Us heu de connectar immediatament sense necessitat d’introduir una contrasenya.

És millor bloquejar la resta de SSH també. Probablement és un dels punts més febles d’un servidor orientat al públic. Obriu / etc / ssh / sshd_confg a l'editor de text que trieu al servidor.

Hi ha un parell de coses que cal canviar. Primer, busqueu PermitRootLogin i configureu-ho al núm.

PermitRootLogin núm

A continuació, busqueu PasswordAuthentication, descomenteu-la i configureu-la al núm.

Contrasenya: autenticació núm

A continuació, assegureu-vos que les dues línies següents estiguin configurades amb el número no. Deuen ser per defecte a Ubuntu, però és millor comprovar-ho.

PermitEmptyPasswords no HostbasedAutenticació núm

Finalment, busqueu UsePAM al final de la configuració i configureu-ho també.

UsePAM núm

Desa i abandona la configuració. A continuació, reinicieu el servei SSH.

$ sudo systemctl reinicia sshd

Configura UFW

L'última mesura de seguretat que probablement vulgueu fer és instal·lar i configurar un tallafoc. Ubuntu funciona molt bé amb el tallafoc sense complicacions (UFW). Es tracta només d’un embolcall al tallafoc del nucli iptables, però facilita el treball amb el tallafoc. Endavant i instal·leu-lo.

$ sudo apt instal·lar ufw

Un cop hàgiu instal·lat ufw, comenceu a establir les regles predeterminades per denegar-ho tot.

$ sudo ufw per defecte denegen les entrades $ sudo ufw per defecte denegen la sortida $ sudo ufw per defecte denegen la transmissió

A continuació, configura les seves regles per permetre els serveis bàsics, inclòs Git. Els comentaris només hi són per obtenir informació. No intenteu executar-les.

# SSH $ sudo ufw permeten ssh $ sudo ufw permeten ssh # HTTP i HTTPS per a web $ sudo ufw permeten a http $ sudo ufw permetre http $ sudo ufw permetre a https $ sudo ufw permetre https # NTP per mantenir el temps correcte $ sudo ufw permetre ntp $ sudo ufw permetre ntp # Port 53 per a la resolució de domini DNS $ sudo ufw permetre 53 $ sudo ufw deixar 53 # Probablement no necessitareu això # Si el servidor utilitza DHCP, desbloqueu 67 $ sudo ufw permetre 67 $ sudo ufw permet 67 # Finalment, Git $ sudo ufw permetre el 9418 $ sudo ufw allo out 9418

Assegureu-vos que tot està bé i activeu el tallafoc

$ sudo ufw habilitat

Podeu comprovar l'estat del tallafoc amb el següent:

$ sudo estat ufw

Això és! El vostre servidor de Gitlab es troba darrere d’un tallafoc.

Pensaments de cloenda

Ja teniu un servidor Gitlab que funciona. Podeu iniciar la configuració de projectes i comptes d’usuari mitjançant la interfície de Gitlab. Gitlab és ara un paquet Ubuntu regular, de manera que s'actualitzarà regularment amb apt mentre mantingueu actualitzat el vostre sistema.

Gitlab us proporcionarà tota la flexibilitat que necessitareu per gestionar els vostres propis projectes i projectes més grans en els quals pugui estar treballant amb un equip. És una plataforma totalment capaç i robusta en la qual cada vegada més equips comencen a confiar.

Allotgeu els vostres propis projectes de programari amb gitlab