GNU/Linux >> Linux Esercitazione >  >> Ubuntu

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.

Gite è 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 tutti i campanelli 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 i backend di database SQLite, PostgreSQL e MySQL/MariaDBas.

SQLite è consigliato solo per piccole installazioni. Installazioni più grandi dovrebbero utilizzare MySQL o PostgreSQL.

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

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 Giton sul tuo server:

sudo apt updatesudo apt install git

Verifica l'installazione visualizzando la versione Git:

git --version
git version 2.25.1

Crea 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 sopra crea un nuovo utente e gruppo chiamato 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' ...

Scarica Gitea binario #

Vai alla pagina di download di Gitea e scarica l'ultimo binario per la tua architettura. Al momento in cui scrivo, l'ultima versione è 1.10.2. Se è disponibile una nuova versione, cambia la VERSION variabile nel comando seguente.

Usa wget per scaricare il binario Gitea nel /tmp directory:

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

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

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,log}sudo 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 è consigliata 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à di sistema #

Eseguiremo Gitea come servizio di sistema.

Scarica il file dell'unità systemd di esempio in /etc/systemd/system directory 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-reloadsudo 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
...

Configura Gitea #

Ora che Gitea è scaricato e funzionante, 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: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 del repository:lascia il var/lib/gitea/data/gitea-repositories predefinito .
  • Git LFS Root Path:lascia il /var/lib/gitea/data/lfs predefinito .
  • Esegui come nome utente:git
  • Dominio server SSH:inserisci il tuo dominio o l'indirizzo IP del server.
  • Porta SSH:22, cambiala se SSH è in ascolto su un'altra porta
  • Porta di ascolto HTTP Gitea:3000
  • URL di Gitea Base:utilizza http e l'indirizzo IP del tuo dominio o server.
  • Percorso registro:lascia il /var/lib/gitea/log predefinito
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.

Modifica i permessi del file di configurazione Gitea in sola lettura utilizzando:

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 che tu possa 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:

  • Come installare Nginx su Ubuntu 20.04
  • Proteggi Nginx con Let's Encrypt su Ubuntu 20.04

Una volta terminato, apri il tuo editor di testo e modifica il file di blocco del server di dominio:

sudo nano /etc/nginx/sites-enabled/git.example.com
/etc/nginx/sites-enabled/git.example.com
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;
    }
}

Non dimenticare di sostituire git.example.com con il tuo dominio Gitea e impostare 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 restart nginx

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

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

Riavvia il servizio Gitea digitando:

sudo systemctl restart gitea

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

Configurazione delle notifiche e-mail #

Se desideri che la tua istanza Gitea invii e-mail 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
/etc/gitea/app.ini
[mailer]
ENABLED = 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 restart gitea

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

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

Aggiornamento Gitea #

Per eseguire l'aggiornamento 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 in /usr/local/bin directory:

    VERSION=<THE_LATEST_GITEA_VERSION>wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-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 restart gitea

Questo è tutto.


Ubuntu
  1. Come installare Docker su Ubuntu 18.04

  2. Come installare Apache su Ubuntu 18.04

  3. Come installare MariaDB 10.4 su Ubuntu 18.04

  4. Come installare MongoDB su Ubuntu 18.04

  5. Come installare Jenkins su Ubuntu 18.04

Come installare Asterisk su Ubuntu 18.04

Come installare Tomcat 9 su Ubuntu 18.04

Come installare Webmin su Ubuntu 18.04

Come installare Gitea su Ubuntu 18.04

Come installare Gitea su Ubuntu 18.04 LTS

Come installare Gitea su Ubuntu 20.04 LTS