GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat Gitea na CentOS 8

Gitea je samostatně hostovaný open-source git server napsaný v Go. Dodává se s editorem souborů úložiště, sledováním problémů projektu, správou uživatelů, upozorněními, vestavěnou wiki a mnohem více.

Gitea je lehká aplikace a lze ji nainstalovat na méně výkonné systémy. Pokud hledáte alternativu Gitlab s mnohem menším paměťovým prostorem a nepotřebujete všechny zvonky a píšťalky, které Gitlab nabízí, měli byste zkusit Gitea.

Tento článek ukazuje, jak nainstalovat a nakonfigurovat Gitea na CentOS 8.

Předpoklady #

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

Použijeme SQLite. Jedná se o odlehčenou databázi, která ukládá data do jednoho souboru. Pokud SQLite není na vašem počítači CentOS nainstalován, můžete jej nainstalovat spuštěním následujícího příkazu jako uživatel sudo:

sudo dnf install sqlite

Předpokládáme, že SELinux je buď deaktivován, nebo nastaven na permisivní režim.

Instalace Gitea #

Gitea lze nainstalovat ze zdroje, binárně a jako balíček. Může být také nasazen jako Docker image. Nainstalujeme Gitea pomocí binárního kódu.

Instalovat Git #

Prvním krokem je instalace Giton vašeho CentOS:

sudo dnf install git

Ověřte instalaci zobrazením verze Git:

git --version
git version 2.18.4

Vytvořit uživatele Git #

Vytvořte nového systémového uživatele pro spuštění aplikace Gitea:

sudo useradd \   --system \   --shell /bin/bash \   --comment 'Git Version Control' \   --create-home \   --home /home/git \   git

Příkaz vytvoří nového uživatele a skupinu s názvem git a domovský adresář nastavte na /home/git .

Stáhnout Gitea binární #

Nejnovější binárku Gitea lze stáhnout ze stránky stahování Gitea. Ujistěte se, že jste si stáhli správný binární soubor pro vaši architekturu.

V době psaní tohoto článku je nejnovější verze 1.12.3. 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.12.3sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64

Binární soubor můžete 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

Následující příkazy vytvoří potřebné adresáře a nastaví 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/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í soubory. 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 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-reloadsudo 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 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. Budete muset nakonfigurovat bránu firewall, abyste umožnili přístup k webovému rozhraní Gitea:

sudo firewall-cmd --permanent --zone=public --add-port=3000/tcpsudo firewall-cmd --reload

Otevřete prohlížeč, zadejte http://YOUR_DOMAIN_IR_IP:3000/install a zobrazí se úvodní konfigurační stránka:

Vyplňte požadovaná pole následovně:

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
Později můžete nastavení změnit úpravou konfiguračního souboru Gitea.

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.

Aby byla instalace bezpečnější, 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 CentOS.

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 adresu 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 CentOS 8
  • Zabezpečte Nginx pomocí Let’s Encrypt na CentOS 8

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

sudo nano /etc/nginx/conf.d/git.example.com.conf
/etc/nginx/conf.d/git.example.com.conf
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.

Po dokončení 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í #

Chcete-li zasílat e-maily s upozorněním, můžete si nainstalovat Postfix nebo použít 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 používáte správné informace o serveru SMTP.

Při každé úpravě souboru app.ini musíte restartovat službu Gitea, aby se změny projevily:

sudo systemctl restart gitea

Chcete-li ověřit nastavení a odeslat testovací 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 #

Upgrade na nejnovější verzi Gitea je přímočarý úkol. Stačí si stáhnout a nahradit binární soubor.

  1. Zastavte službu Gitea:

    sudo systemctl stop gitea
  2. Stáhněte si nejnovější binárku 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.


Cent OS
  1. Jak nainstalovat Vagrant na CentOS 7

  2. Jak nainstalovat Memcached na CentOS 8

  3. Jak nainstalovat ownCloud na CentOS 8

  1. Jak nainstalovat Nginx na CentOS 7

  2. Jak nainstalovat Apache na CentOS 7

  3. Jak nainstalovat Tomcat 8.5 na CentOS 7

  1. Jak nainstalovat Jenkins na CentOS 7

  2. Jak nainstalovat Tomcat 9 na CentOS 7

  3. Jak nainstalovat Memcached na CentOS 7