GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Gitea na Ubuntu 20.04

Gitea je rychlý a snadno použitelný git server s vlastním hostitelem napsaný v Go. Zahrnuje editor souborů úložiště, sledování problémů projektu, správu uživatelů, upozornění, vestavěnou wiki a mnoho dalšího.

Gitea je lehká aplikace a lze ji nainstalovat na systémy s nízkou spotřebou. Pokud hledáte alternativu ke Gitlabu s mnohem menší paměťovou stopou a nepotřebujete všechny zvonky a píšťalky, které Gitlabo nabízí, měli byste zkusit Gitea.

Tento článek vysvětluje, jak nainstalovat a nakonfigurovat Gitea na Ubuntu 20.04.

Předpoklady #

Gitea podporuje databázové backendy SQLite, PostgreSQL a MySQL/MariaDBas.

SQLite se doporučuje pouze pro malé instalace. Větší instalace by měly používat MySQL nebo PostgreSQL.

Jako databázi pro Gitea použijeme SQLite. Pokud SQLite není na vašem systému Ubuntu nainstalován, nainstalujte jej zadáním následujících příkazů jako uživatel sudo:

sudo apt updatesudo apt install sqlite3

Instalace Gitea #

Gitea poskytuje obrazy Docker a lze je nainstalovat ze zdrojového, binárního a jako balíčku. Nainstalujeme Gitea z binárního kódu.

Instalovat Git #

Prvním krokem je instalace Giton na váš server:

sudo apt updatesudo apt install git

Ověřte instalaci zobrazením verze Git:

git --version
git version 2.25.1

Vytvořit uživatele Git #

Vytvořte nového uživatele systému, který bude spouštět aplikaci Gitea, zadáním:

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

Výše uvedený příkaz vytvoří nového uživatele a skupinu s názvem git a domovský adresář nastavte na /home/git . Výstup bude vypadat nějak takto:

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' ...

Stáhnout Gitea binární #

Přejděte na stránku stahování Gitea a stáhněte si nejnovější binární soubor pro vaši architekturu. V době psaní tohoto článku je nejnovější verze 1.10.2. Pokud je k dispozici nová verze, změňte VERSION proměnnou v příkazu níže.

Použijte wget ke stažení binárky Gitea v /tmp adresář:

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

Můžete spustit gitea binární z libovolného místa. Budeme postupovat podle konvence a přesuneme binární soubor do /usr/local/bin adresář:

sudo mv /tmp/gitea /usr/local/bin

Vytvořte binární spustitelný soubor:

sudo chmod +x /usr/local/bin/gitea

Spuštěním níže uvedených příkazů vytvořte adresáře a nastavte požadovaná oprávnění a vlastnictví:

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

Výše uvedená adresářová struktura je doporučena oficiální dokumentací Gitea.

Oprávnění /etc/gitea adresář jsou nastaveny na 770 aby průvodce instalací mohl vytvořit konfigurační soubor. Po dokončení instalace nastavíme přísnější oprávnění.

Vytvořit soubor systémové jednotky #

Gitea budeme provozovat jako systémovou službu.

Stáhněte si ukázkový soubor systemd unit do /etc/systemd/system adresář zadáním:

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

Soubor nemusíte upravovat, je nakonfigurován tak, aby odpovídal našemu nastavení.

Povolte a spusťte službu Gitea:

sudo systemctl daemon-reloadsudo systemctl enable --now gitea

Ověřte, že Gitea běží:

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
...

Konfigurovat Gitea #

Nyní, když je Gitea stažena a spuštěna, můžeme dokončit instalaci prostřednictvím webového rozhraní.

Ve výchozím nastavení Gitea naslouchá připojení na portu 3000 na všech síťových rozhraních.

Pokud máte na svém serveru firewall UFW, budete muset otevřít port Gitea. Chcete-li povolit provoz na portu 3000 , zadejte následující příkaz:

sudo ufw allow 3000/tcp

Otevřete prohlížeč, zadejte http://YOUR_DOMAIN_IR_IP:3000 a zobrazí se obrazovka podobná následující:

Nastavení databáze:

  • Typ databáze:SQLite3
  • Cesta:Použijte absolutní cestu, /var/lib/gitea/data/gitea.db

Obecná nastavení aplikace:

  • Název webu:Zadejte název vaší organizace.
  • Kořenová cesta úložiště:Ponechte výchozí var/lib/gitea/data/gitea-repositories .
  • Kořenová cesta Git LFS:Ponechte výchozí /var/lib/gitea/data/lfs .
  • Spustit jako uživatelské jméno:git
  • Doména serveru SSH:Zadejte svou doménu nebo IP adresu serveru.
  • Port SSH:22, změňte jej, pokud SSH naslouchá na jiném portu
  • Gitea HTTP Listen Port:3000
  • Gitea Base URL:Použijte http a IP adresu vaší domény nebo serveru.
  • Cesta protokolu:Ponechte výchozí /var/lib/gitea/log
Nastavení můžete kdykoli změnit úpravou konfiguračního souboru Gitea.

Chcete-li zahájit instalaci, stiskněte tlačítko „Instalovat Gitea“.

Instalace je okamžitá. Po dokončení budete přesměrováni na přihlašovací stránku.

Klikněte na „Potřebujete účet? Zaregistrujte se nyní." odkaz. První registrovaný uživatel je automaticky přidán do skupiny Admin.

Změňte oprávnění konfiguračního souboru Gitea na pouze pro čtení pomocí:

sudo chmod 750 /etc/giteasudo chmod 640 /etc/gitea/app.ini

A je to. Gitea byla nainstalována na vašem počítači Ubuntu.

Konfigurace Nginx jako proxy pro ukončení SSL #

Tento krok je volitelný, ale důrazně se doporučuje. Ukončení SSL znamená, že Nginx bude fungovat jako prostředník mezi aplikací Gitea a webovými klienty, takže k Gitea můžete přistupovat přes HTTPS.

Chcete-li použít Nginx jako reverzní proxy, musíte mít doménu nebo subdoménu směřující na veřejnou IP vašeho serveru. V tomto příkladu použijeme git.example.com .

Nejprve nainstalujte Nginx a vygenerujte bezplatný certifikát Let’s Encrypt SSL pomocí níže uvedených průvodců:

  • Jak nainstalovat Nginx na Ubuntu 20.04
  • Zabezpečte Nginx pomocí Let’s Encrypt na Ubuntu 20.04

Po dokončení otevřete textový editor a upravte blockfile doménového serveru:

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;
    }
}

Nezapomeňte nahradit git.example.com svou doménou Gitea a nastavit správnou cestu k souborům certifikátu SSL. Provoz HTTP je přesměrován na HTTPS

Restartujte službu Nginx, aby se změny projevily:

sudo systemctl restart nginx

Dále změňte doménu Gitea a kořenovou adresu URL. Chcete-li tak učinit, otevřete konfigurační soubor a upravte následující řádky:

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

Restartujte službu Gitea zadáním:

sudo systemctl restart gitea

V tomto okamžiku je Gitea proxy nakonfigurován a můžete k němu přistupovat na:https://git.example.com

Konfigurace e-mailových upozornění #

Pokud chcete, aby vaše instance Gitea zasílala e-maily s upozorněním, můžete si nainstalovat Postfix nebo použít nějakou transakční poštovní službu, jako je SendGrid, MailChimp, MailGun nebo SES.

Chcete-li povolit e-mailová upozornění, otevřete konfigurační soubor a upravte následující řádky:

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

Ujistěte se, že jste zadali správné informace o serveru SMTP.

Restartujte službu Gitea, aby se změny projevily:

sudo systemctl restart gitea

Chcete-li ověřit nastavení a odeslat zkušební e-mail, přihlaste se do Gitea a přejděte na:Správa webu> Konfigurace> Konfigurace poštovního serveru SMTP.

Gitea vám také umožňuje připojit se ke Slacku vytvořením webového webhooku a zasílat upozornění na vaše kanály Slack.

Upgrade Gitea #

Chcete-li upgradovat na nejnovější verzi Gitea, jednoduše si stáhněte a nahraďte binární soubor.

  1. Zastavte službu Gitea:

    sudo systemctl stop gitea
  2. Stáhněte si nejnovější verzi Gitea a přesuňte ji do /usr/local/bin adresář:

    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. Vytvořte binární spustitelný soubor:

    sudo chmod +x /usr/local/bin/gitea
  4. Restartujte službu Gitea:

    sudo systemctl restart gitea

To je ono.


Ubuntu
  1. Jak nainstalovat Docker na Ubuntu 18.04

  2. Jak nainstalovat Apache na Ubuntu 18.04

  3. Jak nainstalovat MariaDB 10.4 na Ubuntu 18.04

  1. Jak nainstalovat MongoDB na Ubuntu 18.04

  2. Jak nainstalovat Jenkins na Ubuntu 18.04

  3. Jak nainstalovat ClickHouse na Ubuntu 20.04

  1. Jak nainstalovat KVM na Ubuntu 20.04

  2. Jak nainstalovat Webmin na Ubuntu

  3. Jak nainstalovat Puppet na Ubuntu 20.04