Come installare Gitea su Ubuntu 18.04

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 Ubuntu 18.04 con almeno 2 core della CPU e 1 GB di RAM
  • Utente non root con privilegi sudo.
  • nginx
  • Idiota
  • MariaDB

Passaggio 1: installare Nginx

Aggiorna l'istanza del server Vultr Ubuntu 18.04.

sudo apt update

Installa Nginx.

sudo apt -y install nginx

Una volta installato Nginx, verifica se funziona o meno sfogliando la pagina di test nginx nel browser. Apri il browser web e puntalo ahttp://example.com

I seguenti comandi possono essere utilizzati per arrestare, ricaricare, riavviare, controllare lo stato e abilitare Nginx.

sudo systemctl stop nginx.service
sudo systemctl start nginx.service
sudo systemctl restart nginx.service
sudo systemctl reload nginx.service
sudo systemctl enable nginx.service

Passaggio 2: installa Git

Installa Git.

sudo apt -y install git

Una volta installato, controlla la versione:

git --version
git version 2.17.1

Passaggio 3: installare il server di database MariaDB

Gitea supporta i seguenti database

  • MariaDB / MySQL
  • PostgreSQL
  • SQLite
  • TiDB

Per questo tutorial installeremo il server e il client MariaDB.

sudo apt -y install mariadb-server mariadb-client

Dopo aver installato MariaDB, i seguenti comandi possono essere utilizzati per arrestare, avviare, riavviare, controllare lo stato e abilitarlo.

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl restart mariadb.service
sudo systemctl status mariadb.service
sudo systemctl enable 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

Per verificare se MariaDB è installato, digitare il comando seguente per accedere al server 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';

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 nano /etc/systemd/system/gitea.service

Popolare il file con il seguente.

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
#After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=redis.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

Esegui il comando status.

sudo systemctl status gitea

● gitea.service - Gitea (Git with a cup of tea)
  Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: en
  Active: active (running) since Wed 2018-10-10 14:15:28 CDT; 19ms ago
 Main PID: 17769 (gitea)
   Tasks: 4 (limit: 2321)
  CGroup: /system.slice/gitea.service
       ├─17769 /usr/local/bin/gitea web -c /etc/gitea/app.ini
       └─17774 /usr/local/bin/gitea web -c /etc/gitea/app.ini

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 nano /etc/nginx/sites-available/git

Popolare il file con la seguente configurazione.

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

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://example.com/install

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



Leave a Comment

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.