Linux

Come installare Gitea su Ubuntu 20.04

Come installare Gitea su Ubuntu 20.04

Gitea è un server git self-hosted veloce e facile da usare scritto in Go. Include un editor di file di repository, monitoraggio dei problemi del progetto, gestione degli utenti, notifiche, wiki integrato e molto altro.

Gitea è un'applicazione leggera e può essere installata su sistemi a bassa potenza. Se stai cercando un'alternativa a Gitlab con un footprint di memoria molto più piccolo e non hai bisogno di tutte le campane e i fischietti offerti da Gitlab, allora dovresti provare Gitea.

Questo articolo spiega come installare e configurare Gitea su Ubuntu 20.04.

Prerequisiti #

Gitea supporta SQLite, PostgreSQL e MySQL /MariaDB come backend di database.

SQLite è consigliato solo per piccole installazioni. Le installazioni più grandi dovrebbero usare MySQL o PostgreSQL.

Useremo SQLite come database per Gitea. Se SQLite non è installato sul tuo sistema Ubuntu, installalo inserendo i seguenti comandi come sudo user :

sudo apt updatesudo apt install sqlite3

Installazione di Gitea #

Gitea fornisce immagini Docker e può essere installato da sorgente, binario e come pacchetto. Installeremo Gitea da binario.

Installa Git #

Il primo passo è installare Git sul tuo server:

sudo apt updatesudo apt install git

Verifica l'installazione visualizzando la versione di Git:

git --version
git versione 2.25.1 

Crea un utente Git #

Crea un nuovo utente di sistema che eseguirà l'applicazione Gitea digitando:

sudo adduser \ --sistema \ --shell /bin/bash \ --gecos 'Controllo versione Git' \ --gruppo \ --password-disabilitata \ --home /home/git \ idiota

Il comando sopra crea un nuovo utente e gruppo denominato idiota, e imposta la directory home su /home/git. L'output sarà simile al seguente:

Aggiunta dell'utente di sistema 'git' (UID 112)... Aggiunta del nuovo gruppo 'git' (GID 118)... Aggiunta del nuovo utente 'git' (UID 112) con il gruppo 'git'... Creazione della home directory '/home/git'.. 

Scarica Gitea binario #

Vai alla pagina di download di Gitea e scarica l'ultimo binario per la tua architettura. Al momento della scrittura, l'ultima versione è 1.10.2. Se è disponibile una nuova versione, cambia il VERSIONE variabile nel comando sottostante.

Uso wget per scaricare il binario Gitea nel in /tmp elenco:

VERSIONE=1.14.1sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/$VERSIONE/gitea-$VERSIONE-linux-amd64

Puoi eseguire il gitea binario da qualsiasi posizione. Seguiremo la convenzione e sposteremo il binario in /usr/local/bin elenco:

sudo mv /tmp/gitea /usr/local/bin

Rendi eseguibile il binario:

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

Esegui i comandi seguenti per creare le directory e impostare le autorizzazioni e la proprietà richieste:

sudo mkdir -p /var/lib/gitea/custom,data,logsudo chown -R git:git /var/lib/gitea/sudo chmod -R 750 /var/lib/gitea/sudo mkdir /etc/giteasudo chown root:git /etc/giteasudo chmod 770 /etc/gitea

La struttura della directory sopra è raccomandata dalla documentazione ufficiale di Gitea.

I permessi del /etc/gitea directory sono impostate su 770 in modo che la procedura guidata di installazione possa creare il file di configurazione. Una volta completata l'installazione, imposteremo autorizzazioni più restrittive.

Crea un file di unità Systemd #

Eseguiremo Gitea come servizio di sistema.

Scarica il file dell'unità systemd di esempio su /etc/systemd/system directory digitando:

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

Non è necessario modificare il file, è configurato per corrispondere alla nostra configurazione.

Abilita e avvia il servizio Gitea:

sudo systemctl demone-reloadsudo systemctl enable --now gitea

Verifica che Gitea sia in esecuzione:

sudo systemctl status gitea
● gitea.servizio - Gitea (Git con una tazza di tè) Caricato: caricato (/etc/systemd/system/gitea.servizio; abilitato; preset del fornitore: abilitato) Attivo: attivo (in esecuzione) dal gio 2021-05-06 05:32:04 UTC; 7s fa PID principale: 77781 (gitea) Compiti: 6 (limite: 470) Memoria: 130.Gruppo 6M C: /sistema.fetta/gitea.servizio └─77781 /usr/local/bin/gitea web --config /etc/gitea/app.ini.. 

Configura Gitea #

Ora che Gitea è scaricato ed è in esecuzione, possiamo finalizzare l'installazione tramite l'interfaccia web.

Per impostazione predefinita, Gitea ascolta le connessioni sulla porta 3000 su tutte le interfacce di rete.

Se hai un firewall UFW in esecuzione sul tuo server, dovrai aprire la porta Gitea. Per consentire il traffico sulla porta 3000, inserisci il seguente comando:

sudo ufw allow 3000/tcp

Apri il browser, digita http://IL_TUO_DOMINIO_IR_IP:3000, e apparirà una schermata simile alla seguente:

Impostazioni banca dati:

Impostazioni generali dell'applicazione:

Puoi modificare le impostazioni in qualsiasi momento modificando il file di configurazione di Gitea.

Per avviare l'installazione, premi il pulsante "Installa Gitea".

L'installazione è istantanea. Una volta completato, verrai reindirizzato alla pagina di accesso.

Fai clic su "Hai bisogno di un account"? Iscriviti ora."collegamento". Il primo utente registrato viene automaticamente aggiunto al gruppo Admin.

Cambia i permessi del file di configurazione di Gitea in sola lettura usando:

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

Questo è tutto. Gitea è stato installato sulla tua macchina Ubuntu.

Configurazione di Nginx come proxy di terminazione SSL #

Questo passaggio è facoltativo, ma è altamente raccomandato. La terminazione SSL significa che Nginx fungerà da punto intermedio tra l'applicazione Gitea e i client Web in modo da poter accedere a Gitea tramite HTTPS.

Per utilizzare Nginx come proxy inverso, devi avere un dominio o sottodominio che punti all'IP pubblico del tuo server. In questo esempio, useremo idiota.esempio.come.

Innanzitutto, installa Nginx e genera un certificato SSL Let's Encrypt gratuito utilizzando le guide seguenti:

Al termine, apri il tuo editor di testo e modifica il file di blocco del server di dominio:

sudo nano /etc/nginx/sites-enabled/git.esempio.come
/etc/nginx/sites-enabled/git.esempio.come
server  ascolta 80; nome_server git.esempio.com; includi frammenti/letsencrypt.conf; ritorno 301 https://git.esempio.com$request_uri;  server  ascolta 443 ssl http2; nome_server git.esempio.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; cliente_max_body_size 50m; # Intestazioni proxy 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; # Parametri SSL ssl_certificate /etc/letsencrypt/live/git.esempio.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/git.esempio.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/git.esempio.com/catena.pem; includi frammenti/letsencrypt.conf; includi frammenti/ssl.conf; # file di registro access_log /var/log/nginx/git.esempio.come.accesso.registro; error_log /var/log/nginx/git.esempio.come.errore.registro; # Gestire / richiedere la posizione /  proxy_redirect off; proxy_pass http://127.0.0.1:3000;   

Non dimenticare di sostituire git.esempio.com con il tuo dominio Gitea e imposta il percorso corretto per i file del certificato SSL. Il traffico HTTP viene reindirizzato a HTTPS

Riavvia il servizio Nginx per rendere effettive le modifiche:

sudo systemctl riavvia nginx

Quindi, cambia il dominio Gitea e l'URL di root. Per fare ciò, apri il file di configurazione e modifica le seguenti righe:

sudo nano /etc/gitea/app.ini
/etc/gitea/app.ini
[server] DOMINIO = git.esempio.com ROOT_URL = https://git.esempio.com/ 

Riavvia il servizio Gitea digitando:

sudo systemctl riavvia gitea

A questo punto il proxy Gitea è configurato e puoi accedervi da: https://git.esempio.come

Configurazione delle notifiche e-mail #

Se desideri che la tua istanza Gitea invii e-mail di notifica, puoi installare Postfix o utilizzare un servizio di posta transazionale come SendGrid, MailChimp, MailGun o SES.

Per abilitare le notifiche e-mail, apri il file di configurazione e modifica le seguenti righe:

sudo nano /etc/gitea/app.ini
/etc/gitea/app.ini
[mailer] ABILITATO = true HOST = SMTP_SERVER:SMTP_PORT FROM = SENDER_EMAIL USER = SMTP_USER PASSWD = YOUR_SMTP_PASSWORD 

Assicurati di inserire le informazioni corrette sul server SMTP.

Riavvia il servizio Gitea per rendere effettive le modifiche:

sudo systemctl riavvia gitea

Per verificare le impostazioni e inviare un'e-mail di prova, accedi a Gitea e vai a: Amministrazione sito > Configurazione > Configurazione mailer SMTP.

Gitea ti permette anche di connetterti a Slack creando un webhook e inviando notifiche ai tuoi canali Slack .

Aggiornamento di Gitea #

Per aggiornare all'ultima versione di Gitea, è sufficiente scaricare e sostituire il binario.

  1. Interrompi il servizio Gitea:

    sudo systemctl stop gitea
  2. Scarica l'ultima versione di Gitea e spostala su /usr/local/bin elenco:

    VERSIONE=wget -O /tmp/gitea https://dl.gitea.io/gitea/$VERSIONE/gitea-$VERSIONE-linux-amd64sudo mv /tmp/gitea /usr/local/bin
  3. Rendi eseguibile il binario:

    sudo chmod +x /usr/local/bin/gitea
  4. Riavvia il servizio Gitea:

    sudo systemctl riavvia gitea

Questo è tutto.

Conclusione #

Questo tutorial ti ha guidato attraverso l'installazione di Gitea su Ubuntu 20.04. Per ulteriori informazioni su come configurare la tua istanza Gitea e creare il tuo primo progetto, visita la pagina della documentazione di Gitea .

Se hai domande, non esitare a lasciare un commento qui sotto.

Motori di gioco gratuiti e open source per lo sviluppo di giochi Linux
Questo articolo tratterà un elenco di motori di gioco gratuiti e open source che possono essere utilizzati per lo sviluppo di giochi 2D e 3D su Linux....
Tutorial Shadow of the Tomb Raider per Linux
Shadow of the Tomb Raider è la dodicesima aggiunta alla serie Tomb Raider, un franchise di giochi d'azione e avventura creato da Eidos Montreal. Il gi...
Come aumentare gli FPS in Linux?
FPS sta per Fotogrammi al secondo. Il compito dell'FPS è misurare il frame rate nelle riproduzioni video o nelle prestazioni di gioco game. In parole ...