GNU/Linux >> Linux Esercitazione >  >> Panels >> Panels

Come installare Gitea con NGINX e Free Let's Encrypt SSL su Ubuntu 20.04

In questo tutorial, ti mostreremo come installare il software Gitea sul tuo VPS insieme a Nginx come server web e certificato Let's Encrypt gratuito, usando Ubuntu 20.04.

Gitea è un software scritto nel linguaggio di programmazione "Go" ed è simile a Bitbucket, GitHub e Gitlab. Il software viene utilizzato per il servizio Git self-hosted ed è compatibile con più sistemi operativi come Linux, Windows, macOS e ARM.

L'installazione non richiederà più di 10 minuti e ti divertirai durante l'installazione. Iniziamo!

Prerequisiti

  • Nuova installazione di Ubuntu 20.04
  • Privilegi utente:utente root o non root con privilegi sudo

Fase 1. Aggiorna il sistema

Una nuova installazione di Ubuntu 20.04 necessita di un aggiornamento del sistema ed è per questo che dobbiamo eseguire i seguenti comandi.

sudo apt update -y && sudo apt upgrade -y

Passaggio 2. Installa le dipendenze richieste

Questi pacchetti devono essere installati prima di procedere con l'installazione.

apt install gnupg2 git unzip -y

Passaggio 3. Installa il server web Nginx

Il server web Nginx può essere installato con il seguente comando:

sudo apt install nginx -y

Una volta completata l'installazione, puoi controllare lo stato del servizio Nginx:

sudo systemctl status nginx

Passaggio 4. Installa il server del database MariaDB

MariaDB è utilizzato come database backend per Gitea e può essere installato con il comando seguente:

sudo apt-get install mariadb-server -y

Passaggio 5. Configura il server del database MariaDB

Una volta installato correttamente il server del database, è necessario configurarlo.

Accedi alla shell MariaDB con "mysql ” e abilita la tabella Innodb:

MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;

Esci dalla shell MariaDB con "exit ” e apri il file di configurazione MariaDB predefinito:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Aggiungi le seguenti righe di codice sotto "mysqld sezione ”

innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_default_row_format = dynamic

Una volta apportate le modifiche, riavviare il servizio MariaDB affinché le modifiche abbiano effetto.

sudo systemctl restart mariadb

Passaggio 6. Crea database e utente database

Il software Gitea richiede database e utente per funzionare correttamente. Per crearli e concedere i privilegi appropriati, accedi nuovamente alla shell di MariaDB ed esegui i seguenti comandi:

MariaDB [(none)]>CREATE DATABASE gitea;
MariaDB [(none)]>CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'strongpasswordhere';
MariaDB [(none)]>GRANT ALL ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY 'strongpasswordhere' WITH GRANT OPTION;
MariaDB [(none)]>ALTER DATABASE gitea CHARACTER SET = utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]>FLUSH PRIVILEGES;
MariaDB [(none)]>exit;

Passaggio 7. Installa Gitea

Questo è il passaggio che stavamo aspettando da tanto tempo e cioè l'installazione del software Gitea. Prima di installarlo, dobbiamo creare un utente di sistema per eseguire Gitea con il seguente comando:

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

Il prossimo passo è scaricare l'ultima versione di Gitea sul tuo server.

sudo wget https://dl.gitea.io/gitea/1.14.6/gitea-1.14.6-linux-amd64

Una volta scaricato Gitea, dobbiamo copiare il binario nel percorso di sistema e impostare i permessi corretti :

sudo cp gitea-1.14.6-linux-amd64 /usr/bin/gitea && chmod 755 /usr/bin/gitea

Successivamente, il passaggio consiste nel creare la directory Gitea per archiviare i dati e i registri insieme ai relativi permessi:

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

Fase 8. Crea il servizio Gitea

Crea un file vuoto:

sudo nano /etc/systemd/system/gitea.service

E importa le seguenti righe di codice:

[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=mysql.service
[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target

Dopo aver creato il file con il contenuto, ricaricare il file di configurazione, abilitare e avviare il servizio Gitea.

sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

Per verificare se Gitea funziona correttamente, esegui il seguente comando:

sudo systemctl status gitea

L'output dovrebbe essere simile a questo:

# sudo systemctl status gitea
● gitea.service - Gitea

Caricato:caricato (/etc/systemd/system/gitea.service; abilitato; preimpostazione del fornitore:abilitato)
Attivo:attivo (in esecuzione) da Mon 2021-08-09 23:36:36 CEST; 8 minuti fa
PID principale:42187 (gitea)
Compiti:6 (limite:4652)
Memoria:111,8 milioni
CGroup:/system.slice/gitea.service
└─42187 /usr/bin/gitea web -c /etc/gitea/app.ini

Fase 9. Nginx come proxy inverso per Gitea

Innanzitutto, crea un nuovo file di configurazione Nginx:

sudo nano /etc/nginx/conf.d/gitea.conf

Aggiungi le seguenti righe di codice:

upstream gitea {
server 127.0.0.1:3000;
}
server {
listen 80;
server_name gitea.yourdomain.com;
root /var/lib/gitea/public;
access_log off;
error_log off;
location / {
try_files maintain.html $uri $uri/index.html @node;
}
location @node {
client_max_body_size 0;
proxy_pass http://localhost:3000;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_max_temp_file_size 0;
proxy_redirect off;
proxy_read_timeout 120;
}
}

Una volta creato il file salvalo, chiudilo e controlla la configurazione di Nginx con il seguente comando:

nginx -t

L'output dovrebbe essere:

#nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Se la configurazione è OK, riavvia il servizio Nginx per ottenere le ultime modifiche.

systemctl restart nginx

Passaggio 10. Installa il certificato SSL Let's Encrypt gratuito

Successivamente, dovrai installare un certificato SSL gratuito "Let's Encrypt". "Let's Encrypt" è attualmente uno dei provider di crittografia TLS più popolari negli ultimi anni. È la più grande autorità di certificazione del mondo, altrimenti utilizzata da oltre 250 milioni di siti Web.

Innanzitutto, devi installare il software Certbot sul server con il seguente comando:

sudo apt install certbot python3-certbot-nginx -y

Una volta installato il Certbot siamo pronti per installare il certificato per il dominio:

sudo certbot --nginx -d gitea.example.com

Durante l'installazione puoi scegliere l'opzione di reindirizzamento e tutte le richieste da HTTP verranno reindirizzate a HTTPS.

Dopo la corretta installazione verrà ricevuto il seguente messaggio simile:

- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/gitea.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/gitea.example.com/privkey.pem

11. Accedi al sito Gitea in sicurezza

Ora, quando ogni passaggio è completato, possiamo accedere al nostro sito Web Gitea all'indirizzo https://gitea.example.com Inserisci la password utente MySQL che hai utilizzato per creare nel passaggio 6. Scorri verso il basso nella parte inferiore della pagina e premi su "Installa Gitea “.

Congratulazioni! Hai installato con successo il software Gitea e ora puoi divertirti a usarlo. Naturalmente, puoi semplicemente iscriverti a uno qualsiasi dei nostri piani di hosting VPS Linux e lasciare che i nostri esperti configurino tutto in pochi minuti, in modo completamente gratuito.

PS. Se ti è piaciuto questo post su come installare Gitea su Nginx con Free Lets Encrypt SSL su Ubuntu 20.04, condividilo con i tuoi amici sui social network usando i pulsanti a sinistra o lascia semplicemente una risposta qui sotto. Grazie.


Panels
  1. Come installare Nextcloud con Nginx e Lets Encrypt SSL su Ubuntu 20.04 LTS

  2. Come installare Elgg con Nginx su Ubuntu 14.04

  3. Come installare Let's Encrypt SSL su Ubuntu 18.04 con Nginx

  4. Come installare Joomla con Nginx su Ubuntu 18.04

  5. Come proteggere Nginx con Let's Encrypt su Ubuntu 20.04

Come installare MediaWiki con Nginx e Lets Encrypt SSL su Ubuntu 20.04

Come installare Gitea con Nginx e Lets Encrypt SSL gratuito su Ubuntu 20.04

Come installare Let's Encrypt SSL con Nginx su CentOS 7

Come installare Let's Encrypt SSL con Nginx su Ubuntu 16.04 LTS

Come installare Nginx con Let's Encrypt SSL su Ubuntu 20.04 LTS

Come proteggere il server LEMP con Let's Encrypt Free SSL su Ubuntu 18.04 VPS