Come installare Gitea su Debian 9

Gitea è un sistema alternativo di controllo della versione self-hosted open source basato su Git. Gitea è scritto in Golang ed è una soluzione leggera per essere ospitato su qualsiasi piattaforma.

Prerequisiti

  • Nuova istanza di Vultr Debian 9.
  • Utente non root con sudoprivilegi.
  • nginx
  • Idiota
  • MariaDB

Passaggio 1: installare Nginx

Aggiorna l'elenco dei pacchetti.

sudo apt update

Installa Nginx.

sudo apt -y install nginx

Una volta completata l'installazione, eseguire i seguenti comandi per avviare e abilitare il servizio Nginx.

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

Passaggio 2: installa Git

Questo può essere fatto con il seguente comando.

sudo apt -y install git

Passaggio 3: installare il server di database MariaDB

Gitea supporta i seguenti server di database.

  • MariaDB / MySQL
  • PostgreSQL
  • SQLite
  • TiDB

Per questo tutorial useremo il server e il client MariaDB.

sudo apt -y install mariadb-server mariadb-client

Una volta completato, assicurarsi che MariaDB sia abilitato e in esecuzione.

sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service

Successivamente, esegui il comando seguente per proteggere il server MariaDB creando una password di root e impedendo l'accesso root remoto.

sudo mysql_secure_installation

Quando richiesto, rispondi alle seguenti domande seguendo la guida.

Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y

Riavvia MariaDB.

sudo systemctl restart mariadb.service

Digita il comando seguente per accedere alla console MariaDB.

sudo mysql -u root -p

Quindi digitare la password creata sopra per accedere. Vedrai il messaggio di benvenuto di MariaDB.

Crea un database chiamato gitea.

CREATE DATABASE gitea;

Creare un utente del database chiamato giteausercon una nuova password.

CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'new_password_here';

Assicurati di sostituire new_password_herecon una password complessa e sicura .

Quindi concedere all'utente l'accesso completo al database.

GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;

Infine, salva le modifiche ed esci.

FLUSH PRIVILEGES;
EXIT;

Passaggio 4: preparare l'ambiente Gitea

Crea un utente per eseguire Gitea.

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

Creare la struttura di directory richiesta.

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

Passaggio 5: installa Gitea

Il binario Gitea può essere scaricato eseguendo i seguenti comandi.

sudo wget -O gitea https://dl.gitea.io/gitea/1.5.0/gitea-1.5.0-linux-amd64 
sudo chmod +x gitea

Copia il binario in una posizione globale.

sudo cp gitea /usr/local/bin/gitea

Passaggio 6: creare un file di servizio per avviare automaticamente Gitea

Crea un file di servizio linux.

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

Utilizzando un editor di testo a tua scelta, apri questo file appena creato e popola se con quanto segue.

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
After=mariadb.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
# If you want to bind Gitea to a port below 1024 uncomment
# the two values below
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

Abilita e avvia Gitea all'avvio.

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

Assicurarsi che Gitea sia in esecuzione.

sudo systemctl status gitea

Passaggio 7: configurare Nginx come proxy inverso

Elimina il file di configurazione nginx predefinito.

sudo rm /etc/nginx/sites-enabled/default

Crea una configurazione proxy inversa per Gitea.

sudo touch /etc/nginx/sites-available/git

Popolare il file con la seguente configurazione, assicurati di sostituirlo example.comcon il tuo nome di dominio o indirizzo IP.

upstream gitea {
    server 127.0.0.1:3000;
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name example.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;
    }
}

Abilita la configurazione del proxy inverso Gitea Nginx.

sudo ln -s /etc/nginx/sites-available/git /etc/nginx/sites-enabled/git

Quindi ricaricare il servizio Nginx.

sudo systemctl reload nginx.service

Quindi, apri il browser e cerca il nome host o l'indirizzo IP del server.

http://YOUR_SERVER_IP/install

Segui le istruzioni sullo schermo per completare la configurazione di Gitea.

Lascia un commento

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.