
Gitea je samostatně hostovaný open-source git server napsaný v Go. Je to rozcestí Gogs. Gitea obsahuje 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ším paměťovým prostorem a nepotřebujete všechny zvonky a píšťalky, které Gitlabo nabízí, pak byste měli Gitea určitě vyzkoušet.
Tento tutoriál vysvětluje, jak nainstalovat a nakonfigurovat Gitea na Ubuntu 18.04. Stejné pokyny platí pro Ubuntu 16.04 a jakoukoli jinou distribuci založenou na Debianu.
Předpoklady #
Gitea podporuje databázové backendy SQLite, PostgreSQL a MySQL/MariaDBas.
Jako databázi pro Gitea použijeme SQLite. Pokud SQLite není na vašem systému Ubuntu nainstalován, můžete jej nainstalovat zadáním následujících příkazů jako uživatel sudo:
sudo apt update
sudo 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 update
sudo apt install git
Ověřte instalaci zobrazením verze Git:
git --version
git version 2.17.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 --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git
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 111) ...
Adding new group `git' (GID 116) ...
Adding new user `git' (UID 111) with group `git' ...
Creating home directory `/home/git' ...
Stáhnout Gitea binární #
Navštivte 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.
Stáhněte si binární soubor Gitea v /tmp
adresář pomocí následujícího wget
příkaz:
VERSION=1.10.2
sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64
gitea
binární lze spustit 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,indexers,public,log}
sudo chown 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
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 poskytuje soubor jednotky Systemd, který je již nakonfigurován tak, aby odpovídal našemu nastavení.
Stáhněte soubor do /etc/systemd/system/
adresář zadáním:
sudo wget https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service -P /etc/systemd/system/
Po dokončení povolte a spusťte službu Gitea:
sudo systemctl daemon-reload
sudo systemctl enable --now gitea
Ověřte, zda je služba úspěšně spuštěna:
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
...
Konfigurovat Gitea #
Nyní, když je Gitea stažena a spuštěna, je čas 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í
/home/git/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
Po dokončení 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 odkaz „Zaregistrovat se nyní“. 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/gitea
sudo 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. 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 tutoriálu budeme používat 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 18.04
- Zabezpečte Nginx pomocí Let’s Encrypt na Ubuntu 18.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.comserver {
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í #
Aby Gitea mohla posílat 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 SMTP maileru.
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.
-
Zastavte službu Gitea:
sudo systemctl stop gitea
-
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-amd64
sudo mv /tmp/gitea /usr/local/bin
-
Vytvořte binární spustitelný soubor:
sudo chmod +x /usr/local/bin/gitea
-
Restartujte službu Gitea:
sudo systemctl restart gitea
To je ono.