Introduzione
Gitea è un server git self-hosted veloce e facile da usare scritto in Go. Include un editor di file del 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 features offerte da Gitlab, dovresti provare Gitea.
Questo articolo spiega come installare e configurare Gitea su Ubuntu 20.04 LTS Focal Fossa
Prerequisiti
Gitea supporta SQLite, PostgreSQL e MySQL/MariaDB come backend del database.
SQLite è consigliato solo per piccole installazioni. Le installazioni più grandi dovrebbero utilizzare MySQL o PostgreSQL.
Useremo SQLite come database per Gitea. Se SQLite non è installato sul tuo sistema Ubuntu, installalo immettendo i seguenti comandi come utente sudo:
sudo apt update
sudo apt install sqlite3
Installare Gitea
Gitea fornisce immagini Docker e può essere installato da codice sorgente, binario e come pacchetto. Installeremo Gitea da binario.
Installare Git
Il primo passo è installare Git sul tuo server:
sudo apt update
sudo apt install git
Verifica l'installazione visualizzando la versione di Git:
git --version
git version 2.25.1
Creare un utente Git
Crea un nuovo utente di sistema che eseguirà l'applicazione Gitea digitando:
sudo adduser \
--system \
--shell /bin/bash \
--gecos 'Git Version Control' \
--group \
--disabled-password \
--home /home/git \
git
Il comando precedente crea un nuovo utente e gruppo denominato git
e imposta la directory home su /home/git
. L'output sarà simile al seguente:
Adding system user `git' (UID 112) ...
Adding new group `git' (GID 118) ...
Adding new user `git' (UID 112) with group `git' ...
Creating home directory `/home/git' ...
Scaricare il file binario Gitea
Andate alla pagina di Download Gitea e scaricare l'ultima binario per la propria architettura. Al momento della scrittura, l'ultima versione è 1.10.2. Se è disponibile una nuova versione, modificare la variabile VERSION
nel comando sottostante.
Utilizzare wget
per scaricare il binario Gitea nella directory /tmp
:
VERSION=1.14.1
sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64
Puoi eseguire il binario gitea
da qualsiasi posizione. Seguiremo la convenzione e sposteremo il binario nella directory /usr/local/bin
:
sudo mv /tmp/gitea /usr/local/bin
Rendi eseguibile il binario:
sudo chmod +x /usr/local/bin/gitea
Eseguire i comandi seguenti per creare le directory e impostare le autorizzazioni e la proprietà richieste:
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
La struttura delle directory sopra è consigliata dalla documentazione ufficiale di Gitea.
Le autorizzazioni della directory /etc/gitea
vengono impostate 770
in modo che la procedura guidata di installazione possa creare il file di configurazione. Una volta completata l'installazione, imposteremo autorizzazioni più restrittive.
Creare un file di unità Systemd
Eseguiremo Gitea come servizio di sistema.
Scarica il file di unità systemd di esempio nella directory /etc/systemd/system
digitando:
sudo wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service -P /etc/systemd/system/
Non è necessario modificare il file, è configurato per corrispondere alla nostra configurazione.
Abilita e avvia il servizio Gitea:
sudo systemctl daemon-reload
sudo systemctl enable --now gitea
Verifica che Gitea sia in esecuzione:
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 Thu 2021-05-06 05:32:04 UTC; 7s ago
Main PID: 77781 (gitea)
Tasks: 6 (limit: 470)
Memory: 130.6M
CGroup: /system.slice/gitea.service
└─77781 /usr/local/bin/gitea web --config /etc/gitea/app.ini
...
Configurare Gitea
Ora che Gitea è stato scaricato e 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://YOUR_DOMAIN_IR_IP:3000
e apparirà una schermata simile alla seguente:
Impostazioni database:
- Tipo di database: SQLite3
- Percorso: utilizza un percorso assoluto,
/var/lib/gitea/data/gitea.db
Impostazioni generali dell'applicazione:
- Titolo del sito: inserisci il nome della tua organizzazione.
- Percorso radice del repository: lasciare il valore predefinito
var/lib/gitea/data/gitea-repositories
. - Git LFS Root Path: lascia il valore predefinito
/var/lib/gitea/data/lfs
. - Esegui come nome utente: git
- Dominio server SSH: immettere il dominio o l'indirizzo IP del server.
- Porta SSH: 22, modificala se SSH è in ascolto su un'altra porta
- Porta di ascolto HTTP Gitea: 3000
- URL di base Gitea: utilizza http e il tuo dominio o indirizzo IP del server.
- Log Path: lascia il valore predefinito
/var/lib/gitea/log
Puoi cambiare 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.
Fare clic sul collegamento "Hai bisogno di un account? Iscriviti ora." . Il primo utente registrato viene automaticamente aggiunto al gruppo Admin.
Modificare le autorizzazioni del file di configurazione di Gitea in sola lettura utilizzando:
sudo chmod 750 /etc/gitea
sudo chmod 640 /etc/gitea/app.ini
Questo è tutto. Gitea è stato installato sulla tua macchina Ubuntu.
Configurare Nginx come proxy di terminazione SSL
Questo passaggio è facoltativo, ma è altamente consigliato. 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 un sottodominio che punta all'IP pubblico del tuo server. In questo esempio, useremo git.example.com
.
Innanzitutto, installa Nginx e genera un certificato SSL Let's Encrypt gratuito utilizzando le guide seguenti:
Una volta terminato, apri il tuo editor di testo e modifica il file di dominio e configura il server block di nginx:
sudo nano /etc/nginx/sites-enabled/git.example.com
Non dimenticare di sostituire git.example.com con il tuo dominio Gitea e di impostare il percorso corretto per i file del certificato SSL. Il traffico HTTP viene reindirizzato a HTTPS
Riavvia il servizio Nginx affinché le modifiche abbiano effetto:
sudo systemctl restart nginx
Successivamente, 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
Riavvia il servizio Gitea digitando:
sudo systemctl restart gitea
A questo punto, il proxy Gitea è configurato e puoi accedervi da: https://git.example.com
Configurare le notifiche e-mail
Se desideri che la tua istanza Gitea invii email di notifica, puoi installare Postfix o utilizzare alcuni servizi 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
Assicurati di inserire le informazioni corrette sul server SMTP.
Riavvia il servizio Gitea affinché le modifiche abbiano effetto:
sudo systemctl restart 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 consente anche di connetterti a Slack creando un webhook e inviare notifiche ai tuoi canali Slack.
Aggiornare Gitea
Per eseguire l'aggiornamento all'ultima versione di Gitea, è sufficiente scaricare e sostituire il file binario.
Interrompi il servizio Gitea:
sudo systemctl stop gitea
Scarica l'ultima versione di Gitea e spostala nella directory /usr/local/bin
:
VERSION=<THE_LATEST_GITEA_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 binario:
sudo chmod +x /usr/local/bin/gitea
Riavvia il servizio Gitea:
sudo systemctl restart gitea
Questo è tutto.
Conclusione
Questo tutorial ti ha guidato attraverso l'installazione di Gitea su Ubuntu 20.04 LTS Focal Fossa. Per ulteriori informazioni su come configurare la tua istanza Gitea e creare il tuo primo progetto, visita la pagina della documentazione di Gitea.