Come installare Gitea su Ubuntu 20.04 con SQLite 3

Gitea è un pacchetto software forge open source per ospitare il controllo della versione dello sviluppo software utilizzando Git e altre funzionalità collaborative come il tracciamento dei bug, i wiki e la revisione del codice. Supporta l'hosting autonomo ma fornisce anche un'istanza proprietaria pubblica gratuita ospitata in Cina sul cloud di DiDi. Gitea ha anche un footprint di memoria molto più ridotto rispetto a Gitlab ed è un software altamente raccomandato per aziende e sviluppatori su sistemi a bassa potenza.

Nella seguente guida imparerai come installare e configurare Gitea su Ubuntu 20.04 utilizzando il database SQLite 3. Supponiamo che tu non abbia installato SQLite 3 prima. Sentiti libero di dare un'occhiata alla nostra guida su Installazione di SQLite 3 e SQLite 3 Browser in Ubuntu 20.04.

Prerequisiti

Controlla e aggiorna il tuo sistema Ubuntu.

sudo apt update && sudo apt upgrade -y

Installa SQLite 3, seguendo il nostro guida per dettagli migliori.

sudo apt install sqlite3

Installa Git. Segui la nostra guida su come installare l'ultima versione di Git su Ubuntu 20.04.

sudo apt install git

Infine, assicurati che curl o wget sia installato.

sudo apt install wget curl

pubblicità


Crea un utente Git per eseguire Gitea

Prima di saltare troppo avanti, il primo passo è creare un utente Git che eseguirà l'applicazione Gitea. Per creare un nuovo account utente Git, digita il seguente comando.

sudo adduser \
    --system \
    --shell /bin/bash \
    --gecos 'Git Version Control' \
    --group \
    --disabled-password \
    --home /home/git \
    git

Dovresti ottenere il seguente risultato:

~$ sudo adduser \
   --system \
      --shell /bin/bash \
      --gecos 'Git Version Control' \
      --group \
      --disabled-password \
      --home /home/git \
      git
   [sudo] password for bytesboss: 
   Adding system user git' (UID 129) ... Adding new groupgit' (GID 136) …
   Adding new user git' (UID 129) with groupgit' …
   Creating home directory `/home/git' … 

Scarica Gitea

Quindi, visita la Gitea pagina di download e trova la versione che si adatta all'architettura di Ubuntu. Attualmente, la versione 1.14.3 è l'ultima versione di Gitea. Tuttavia, questo cambierà nel tempo. Una volta trovato il collegamento aggiornato, scarica il pacchetto utilizzando il comando wget come segue.

wget https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64

Il download è di circa poco più di 100 MB. Una volta fatto, sposta il file binario nella sua posizione finale e dagli il permesso di esecuzione in modo da poter procedere alla fase di installazione.

sudo mv gitea-1.14.3-linux-amd64 /usr/local/bin \
 sudo mv gitea-1.14.3-linux-amd64 gitea \
 sudo chmod +x gitea

pubblicità


Crea directory Gitea

Dovrai creare tu stesso le directory per Gitea. Di seguito è riportata la struttura di directory consigliata che è "raccomandato” di Gitea. Inserisci quanto segue per creare le tue directory.

sudo mkdir -p /var/lib/gitea/{custom,data,log} \
 sudo chown -R git:git /var/lib/gitea/ \
 sudo chmod -R 750 /var/lib/gitea/ \
 sudo mkdir /etc/gitea \
 sudo chown root:git /etc/gitea \
 sudo chmod 770 /etc/gitea \

Nota, la directory "/etc/gitea" è attualmente con il permesso chmod 777. Questo viene fatto in modo che l'installazione possa procedere senza intoppi. Una volta fatto, dovrai cambiarlo con un permesso chmod più sicuro.

Crea il servizio Gitea Systemd

Successivamente, per installare ed eseguire Gitea, dovrai creare un file Systemd. Scaricare quello fornito da Gitea non richiede alcuna modifica inserendo il seguente comando.

wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service -P /etc/systemd/system/

Ora ricarica il tuo demone e abilita il servizio Gitea systemd.

sudo systemctl daemon-reload && sudo systemctl enable --now gitea

Quindi, verifica che Gitea sia in esecuzione e che non si siano verificati errori. Il problema più comune è che le persone dimenticano di impostare le directory. Se vedi questo, torna indietro di alcuni passaggi e ripeti il ​​processo di ricarica del demone.

L'output dovrebbe essere simile al seguente se impostato correttamente.

$ sudo systemctl status gitea
 ● gitea.service - Gitea (Git with a cup of tea)
      Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: enabled)
      Active: active (running) since Sat 2021-06-26 22:47:23 PDT; 7s ago
    Main PID: 3214 (gitea)
       Tasks: 8 (limit: 4617)
      Memory: 184.9M
      CGroup: /system.slice/gitea.service
              └─3214 /usr/local/bin/gitea web --config /etc/gitea/app.ini

pubblicità


Configura Gitea tramite l'interfaccia utente web

Una volta che il servizio Gitea funziona correttamente, il seguente processo avvia l'interfaccia utente Web per completare l'installazione. Per impostazione predefinita, Gitea ascolta la porta 3000 su tutte le interfacce di rete.

UFW

Se hai UFW, devi consentire la porta come di seguito.

sudo ufw allow 3000/tcp

Interfaccia utente Web

Apri il tuo browser Internet e digita l'indirizzo IP del server ospitato su con: 3000 come porta.

Esempio:

http://192.168.53.101:3000

Se hai impostato correttamente la regola di autorizzazione della porta, verrai visualizzato nella seguente schermata.

ubuntu 20.04 gitea web ui prima pagina di impostazione

Sarà necessario modificare le impostazioni come di seguito. Si noti che questi possono essere modificati facilmente in seguito.

Impostazioni database:

  •     Tipo di banca dati: SQLite3
  •     percorso: Usa un percorso assoluto, /var/lib/gitea/data/gitea.db

Impostazioni generali dell'applicazione:

  •     Titolo del sito: Inserisci il nome della tua organizzazione.
  •     Percorso radice repository: Lascia il valore predefinito var/lib/gitea/data/gitea-repositories.
  •     Percorso radice Git LFS: Lascia il valore predefinito /var/lib/gitea/data/lfs. 
  •     Esegui come nome utente: idiota
  •     Dominio del server SSH: Inserisci il tuo dominio o l'indirizzo IP del server.
  •     Porta SSH: 22, cambialo se SSH è in ascolto su un'altra porta
  •     Porta di ascolto HTTP Gitea: 3000
  •     URL di base di Gitea: Usa http e il tuo dominio o indirizzo IP del server.
  •     Percorso registro: Lascia il valore predefinito /var/lib/gitea/log

Una volta completato, puoi premere il pulsante "Installa Gitea” che si trova nella parte inferiore della pagina delle impostazioni.

gita installa ora ubuntu 20.04

Una volta completata l'installazione, verrai reindirizzato a una pagina di accesso. Dovrai registrare un account che verrà automaticamente effettuato la prima registrazione dell'account dell'amministratore.

ubuntu 20.04 lts account amministratore gitea

Hai creato un account amministratore sul servizio Gitea e hai tutto impostato. Sarebbe utile se ora proteggessi le tue cartelle. Come spiegato all'inizio della guida, sono stati realizzati 777 per un'installazione senza problemi. Quindi, inserisci il seguente comando per modificare le autorizzazioni sicure.

sudo chmod 750 /etc/gitea && sudo chmod 640 /etc/gitea/app.ini

Congratulazioni, hai installato con successo Gitea sul tuo sistema operativo Ubuntu 20.04 LTS.

Imposta le notifiche e-mail di Gitea

Gitea può inviare notifiche via e-mail. Puoi installare Postfix o qualsiasi altro pacchetto che utilizza i comandi di posta standard. Per abilitare le notifiche per aprire il seguente file utilizzando l'editor nano:

sudo nano /etc/gitea/app.ini

Successivamente, modifica il seguente modello di seguito con il tuo nome utente, password e dettagli del server SMTP.

[mailer]
 ENABLED = true
 HOST    = SMTP_SERVER:SMTP_PORT
 FROM    = SENDER_EMAIL
 USER    = SMTP_USER
 PASSWD  = YOUR_SMTP_PASSWORD

Una volta completato, riavvia il servizio Gitea.

sudo systemctl restart gitea

Si consiglia di accedere all'interfaccia utente Web, accedere al proprio account amministratore e inviare un'e-mail di prova per verificare che tutto funzioni correttamente. Il percorso per farlo è Amministrazione > Configurazione > Configurazione Mailer SMTP.


pubblicità


Configura Nginx come proxy SSL inverso per Gitea

Il passaggio successivo è consigliato se si serve Gitea al di fuori di una rete interna. Qualsiasi cosa con connessioni esterne in entrata dovrebbe essere impostata con SSL e protetta durante la comunicazione con il tuo backend.

Innanzitutto, crea un nuovo file di configurazione per il tuo sito Gitea o modificane uno esistente:

sudo nano /etc/nginx/sites-enabled/gitea.conf

Quindi inserisci quanto segue. Questa è solo una guida. SSL può essere fatto con servizi come Cloudflare or Let's Encrypt.

server {
   listen 80;
   server_name git.example.com;
   include snippets/letsencrypt.conf;
server {
   listen 80;
   server_name git.example.com;
   include snippets/letsencrypt.conf;
   return 301 https://git.example.com$request_uri;
 }
 server {
   listen 443 ssl http2;
   server_name git.example.com;
   proxy_read_timeout 720s;
   proxy_connect_timeout 720s;
   proxy_send_timeout 720s;
   client_max_body_size 50m;
 # Proxy headers
   proxy_set_header X-Forwarded-Host $host;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Forwarded-Proto $scheme;
   proxy_set_header X-Real-IP $remote_addr;

# SSL parameters
   ssl_certificate /etc/letsencrypt/live/git.example.com/fullchain.pem;
   ssl_certificate_key /etc/letsencrypt/live/git.example.com/privkey.pem;
   ssl_trusted_certificate /etc/letsencrypt/live/git.example.com/chain.pem;
   include snippets/letsencrypt.conf;
   include snippets/ssl.conf;

# log files
   access_log /var/log/nginx/git.example.com.access.log;
   error_log /var/log/nginx/git.example.com.error.log;

# Handle / requests
   location / {
   proxy_redirect off;
   proxy_pass http://127.0.0.1:3000;
  }
 }

Come aggiornare Gitea

Per aggiornare la tua installazione di Gitea, tutto ciò che devi fare è scaricare nuovamente il file binario più recente di Gitea, ripetere i primi passaggi all'inizio della guida. Un esempio del rundown come di seguito:

Interrompi il servizio Gitea:

sudo systemctl stop gitea

Scarica l'ultima versione di Gitea e spostala nella cartella "/ Usr / local / bin” rubrica:

VERSION=
 wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64
 sudo mv /tmp/gitea /usr/local/bin

Rendi eseguibile il file binario di Gitea come indicato all'inizio delle istruzioni di questa guida.

sudo chmod +x /usr/local/bin/gitea

Riavvia il servizio Gitea:

sudo systemctl restart gitea

pubblicità


Commenti e Conclusione

La guida ti ha mostrato come installare Gitea su Ubuntu 20.04 LTS e i requisiti di base per la configurazione. Nel complesso, Gitea è un software solido che viene sviluppato attivamente con una comunità molto attiva. Alcune delle funzionalità extra includono:

  • Repository facili da gestire.
  • Utilizza i protocolli HTTP/HTTPS, Git e SSH.
  • Aggiornato periodicamente.
  • Gestione dei problemi.
  • Traccia del tempo per il codice.
  • Visiva, semplice da usare.
  • Incoraggia la collaborazione integrando richieste pull e branch.

Se hai domande, sentiti libero di lasciare un commento qui sotto.

Lascia un tuo commento