GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat a nakonfigurovat Gogs na Ubuntu 18.04

Gogs je samostatně hostovaný git server s otevřeným zdrojovým kódem napsaný v Go. Zahrnuje editor souborů úložiště, sledování problémů projektu a vestavěnou wiki.

Gogsis 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í, měli byste určitě vyzkoušet Gogs.

Tento tutoriál popisuje kroky k instalaci a konfiguraci Gogs na Ubuntu 18.04. Stejné pokyny platí pro Ubuntu 16.04 a jakoukoli jinou distribuci založenou na Ubuntu.

Než začnete #

Gogs může k ukládání všech svých dat používat SQLite, PostgreSQL nebo MySQL/MariaDBdatabase.

V tomto tutoriálu použijeme jako databázi SQLite. Pokud SQLite není na vašem systému nainstalován, můžete jej nainstalovat zadáním:

sudo apt install sqlite3

Pro další vrstvu zabezpečení se doporučuje nastavit základní firewall. Můžete postupovat podle kroků v naší příručce Jak nastavit bránu firewall s UFW na Ubuntu 18.04.

Instalace Gogs #

Nainstalujeme Gogs z binárního kódu. Instalace je docela přímočarý proces.

Instalovat Git #

Prvním krokem je instalace Giton na váš server. Chcete-li tak učinit, obnovte místní index balíčku a nainstalujte balíček git spuštěním následujících příkazů jako uživatel sudo:

sudo apt updatesudo 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 systémového uživatele pro spuštění služby Gogs zadáním:

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

Příkaz vytvoří uživatele a nastaví domovský adresář 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 Gogs binární #

Navštivte stránku Gogs Download a stáhněte si nejnovější binární soubor pro vaši architekturu. V době psaní tohoto článku je nejnovější verze 0.11.86, pokud je k dispozici nová verze, změňte VERSION proměnnou v příkazu níže.

Stáhněte si archiv Gogs v /tmp adresář pomocí následujícího příkazu wget:

VERSION=0.11.86wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp

Po dokončení stahování rozbalte soubor Gogs tar.gz a přesuňte jej do /home/git adresář:

sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git

Chcete-li změnit vlastnictví instalačního adresáře Gogs na git uživatele a skupiny, spusťte následující příkaz:

sudo chown -R git: /home/git/gogs

Vytvořte soubor systemd Unit #

Gogs se dodává se souborem jednotky Systemd, který je již nakonfigurován tak, aby odpovídal našemu nastavení.

Zkopírujte soubor do /etc/systemd/system/ adresář zadáním:

sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/

Po dokončení spusťte a povolte službu Gogs:

sudo systemctl start gogssudo systemctl enable gogs

Ověřte, zda je služba úspěšně spuštěna:

* gogs.service - Gogs
   Loaded: loaded (/etc/systemd/system/gogs.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-04-25 04:13:44 PDT; 9s ago
 Main PID: 14376 (gogs)
    Tasks: 8 (limit: 2319)
   CGroup: /system.slice/gogs.service
           `-14376 /home/git/gogs/gogs web

Nainstalujte Gogs pomocí webového instalačního programu #

Nyní, když je Gogs stažen a spuštěn, je čas dokončit instalaci prostřednictvím webového rozhraní.

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

Nastavení databáze:

  • Typ databáze:SQLite3
  • Cesta:Použijte absolutní cestu, /home/git/gogs/gogs.db

Obecná nastavení aplikace

  • Název aplikace:Zadejte název vaší organizace
  • Kořenová cesta úložiště:Ponechte výchozí /home/git/gogs-repositories
  • Spustit uživatele:git
  • Doména:Zadejte svou doménu nebo IP adresu serveru.
  • Port SSH:22, změňte jej, pokud SSH naslouchá na jiném portu
  • Port HTTP:3000
  • Adresa URL aplikace:Použijte http a adresu IP vaší domény nebo serveru.
  • Cesta protokolu:Ponechte výchozí /home/git/gogs/log
Později můžete nastavení změnit úpravou konfiguračního souboru Gogs.

Po dokončení stiskněte tlačítko „Instalovat Gogs“. Instalace je okamžitá a 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.

A je to. Gogs byl nainstalován 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 gogs.example.com .

Nejprve nainstalujte Nginx a vygenerujte bezplatný certifikát Let’s Encrypt SSL podle následujících pokynů:

  • 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/gogs.example.com
/etc/nginx/sites-enabled/gogs.example.com
server {
    listen 80;
    server_name gogs.example.com;

    include snippets/letsencrypt.conf;
    return 301 https://gogs.example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name gogs.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/gogs.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/gogs.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/gogs.example.com/chain.pem;
    include snippets/letsencrypt.conf;
    include snippets/ssl.conf;

    # log files
    access_log /var/log/nginx/gogs.example.com.access.log;
    error_log /var/log/nginx/gogs.example.com.error.log;

    # Handle / requests
    location / {
       proxy_redirect off;
       proxy_pass http://127.0.0.1:3000;
    }
}
Nezapomeňte nahradit gogs.example.com svou doménou Gogs a nastavit správnou cestu k souborům certifikátu SSL. Všechny požadavky HTTP budou přesměrovány na HTTPS

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

sudo systemctl restart nginx

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

sudo nano /home/git/gogs/custom/conf/app.ini
/home/git/gogs/custom/conf/app.ini
[server]
DOMAIN           = gogs.example.com
ROOT_URL         = https://gogs.example.com/

Restartujte službu Gogs zadáním:

sudo systemctl restart gogs

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

Konfigurace e-mailových upozornění #

Aby mohl Gogs 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 /home/git/gogs/custom/conf/app.ini
/home/git/gogs/custom/conf/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 Gogs, aby se změny projevily:

sudo systemctl restart gogs

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

Upgrade Gogs #

Upgrade Gogs vyžaduje několik ručních kroků.

  1. Nejprve zastavte službu Gogs:

    sudo systemctl stop gogs
  2. Přejmenujte instalační adresář Gogs.

    sudo mv /home/git/gogs{,_old}
  3. Stáhněte si nejnovější verzi Gogs a přesuňte ji do /home/git adresář:

    VERSION=<THE_LATEST_GOGS_VERSION>wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmpsudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git

    Ujistěte se, že jste změnili VERSION se skutečnou verzí vydání Gogs.

  4. Zkopírujte custom , data , log adresářů do extrahovaného adresáře pomocí následujícího příkazu rsync:

    sudo rsync -a /home/git/gogs_old/{custom,data,log,gogs.db} /home/git/gogs/
  5. Nakonec spusťte službu Gogs:

    sudo systemctl restart gogs

To je ono.


Ubuntu
  1. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Redmine na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat Sambu na Ubuntu 18.04

  1. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat Jenkins na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat Askbot na Ubuntu 16.04

  1. Jak nainstalovat a nakonfigurovat MongoDB na Ubuntu 14.04

  2. Jak nainstalovat a nakonfigurovat Solr 6 na Ubuntu 16.04

  3. Jak nainstalovat a nakonfigurovat GitLab na Ubuntu 16.04