GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Gitea su CentOS 8

Gitea è un server git open source self-hosted scritto in Go. Viene fornito con 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 meno potenti. 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, dovresti provare Gitea.

Questo articolo mostra come installare e configurare Gitea su CentOS 8.

Prerequisiti #

Gitea supporta i backend di database SQLite, PostgreSQL e MySQL/MariaDBas.

Useremo SQLite. È un database leggero che memorizza i dati all'interno di un singolo file. Se SQLite non è installato sul tuo computer CentOS puoi installarlo eseguendo il seguente comando come utente sudo:

sudo dnf install sqlite

Supponiamo che SELinux sia disabilitato o impostato in modalità permissiva.

Installazione di Gitea #

Gitea può essere installato da sorgente, binario e come pacchetto. Può anche essere distribuito come immagine Docker. Installeremo Gitea usando il binario.

Installa Git #

Il primo passo è installare Giton su CentOS:

sudo dnf install git

Verifica l'installazione visualizzando la versione Git:

git --version
git version 2.18.4

Crea un utente Git #

Crea un nuovo utente di sistema per eseguire l'applicazione Gitea:

sudo useradd \   --system \   --shell /bin/bash \   --comment 'Git Version Control' \   --create-home \   --home /home/git \   git

Il comando creerà un nuovo utente e gruppo denominato git e imposta la directory home su /home/git .

Scarica Gitea binario #

L'ultimo binario di Gitea può essere scaricato dalla pagina di download di Gitea. Assicurati di scaricare il binario giusto per la tua architettura.

Al momento in cui scrivo, l'ultima versione è 1.12.3. Se è disponibile una nuova versione, cambia la VERSION variabile nel comando seguente.

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

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

Puoi eseguire il file 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

I seguenti comandi creeranno le directory necessarie e imposteranno le autorizzazioni e la proprietà richieste:

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}sudo chown git: /var/lib/gitea/{data,indexers,log}sudo chmod 750 /var/lib/gitea/{data,indexers,log}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 i file di configurazione. Una volta completata l'installazione, imposteremo autorizzazioni più restrittive.

Crea un file di unità di sistema #

Gitea fornisce un file di unità Systemd configurato per corrispondere alla nostra configurazione.

Scarica il file in /etc/systemd/system/ directory digitando:

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

Una volta fatto, abilita e avvia il servizio Gitea:

sudo systemctl daemon-reloadsudo systemctl enable --now gitea

Verifica che il servizio sia stato avviato 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 2020-01-04 21:27:23 UTC; 3s ago
 Main PID: 14804 (gitea)
    Tasks: 9 (limit: 1152)
   CGroup: /system.slice/gitea.service
           └─14804 /usr/local/bin/gitea web --config /etc/gitea/app.ini
...

Configura Gitea #

Ora che Gitea è attivo e funzionante, è il momento di finalizzare l'installazione tramite l'interfaccia web.

Per impostazione predefinita, Gitea ascolta le connessioni sulla porta 3000 su tutte le interfacce di rete. Dovrai configurare il firewall per consentire l'accesso all'interfaccia web di Gitea:

sudo firewall-cmd --permanent --zone=public --add-port=3000/tcpsudo firewall-cmd --reload

Apri il browser, inserisci http://YOUR_DOMAIN_IR_IP:3000/install , e apparirà la pagina delle configurazioni iniziali:

Compila i campi richiesti come segue:

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 /home/git/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
Successivamente, puoi modificare le impostazioni modificando il file di configurazione di Gitea.

Una volta terminato, premi il pulsante "Installa Gitea". L'installazione è istantanea. Al termine verrai reindirizzato alla pagina di accesso.

Fare clic sul collegamento "Registrati ora". Il primo utente registrato viene automaticamente aggiunto al gruppo Admin.

Per rendere l'installazione più sicura, 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 CentOS.

Configurazione di Nginx come proxy di terminazione SSL #

Questo passaggio è facoltativo, ma è altamente raccomandato. Per utilizzare Nginx come proxy inverso, devi avere un dominio o un sottodominio che punta all'IP pubblico del tuo server. In questo tutorial utilizzeremo git.example.com .

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

  • Come installare Nginx su CentOS 8
  • Proteggi Nginx con Let's Encrypt su CentOS 8

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

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

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.

Al termine, 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 #

Per inviare le 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]
ENABLED = true
HOST    = SMTP_SERVER:SMTP_PORT
FROM    = SENDER_EMAIL
USER    = SMTP_USER
PASSWD  = YOUR_SMTP_PASSWORD

Assicurati di utilizzare le informazioni corrette del server SMTP.

Ogni volta che modifichi app.ini file, è necessario riavviare 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 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 #

L'aggiornamento all'ultima versione di Gitea è un compito semplice. Devi solo scaricare e sostituire il binario.

  1. Interrompi il servizio Gitea:

    sudo systemctl stop gitea
  2. Scarica l'ultimo binario di Gitea e spostalo 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.


Cent OS
  1. Come installare Vagrant su CentOS 7

  2. Come installare Memcached su CentOS 8

  3. Come installare Nginx su CentOS 7

  4. Come installare Apache su CentOS 7

  5. Come installare ownCloud su CentOS 8

Come installare Nethogs su CentOS

Come installare Yourls in CentOS 8

Come installare SuiteCRM su CentOS 8

Come installare Minikube su CentOS 8

Come installare Pure-FTPd su CentOS

Come installare Gogs su CentOS 7