GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat službu Gogs Go Git na Ubuntu 16.04

Gogs je bezplatná a open source služba Git napsaná v jazyce Go. Gogs je bezbolestná samoobslužná služba git, která vám umožňuje vytvářet a provozovat vlastní server Git na minimálním hardwarovém serveru. Webové uživatelské rozhraní Gogs je velmi podobné GitHubu a nabízí podporu pro databáze MySQL, PostgreSQL a SQLite.

V tomto tutoriálu vám krok za krokem ukážeme, jak nainstalovat a nakonfigurovat vlastní službu Git pomocí Gogs na Ubuntu 16.04. Tento tutoriál pokryje podrobnosti včetně toho, jak nainstalovat Go na systém Ubuntu, nainstalovat PostgreSQL a nainstalovat a nakonfigurovat webový server Nginx jako reverzní proxy pro aplikaci Go.

Předpoklady

  • Ubuntu 16.04
  • Oprávnění uživatele root

Co uděláme

  1. Aktualizovat a upgradovat systém
  2. Nainstalujte a nakonfigurujte PostgreSQL
  3. Nainstalujte Go a Git
  4. Nainstalujte Gogs
  5. Konfigurace Gogs
  6. Spouštění Gogs jako služby
  7. Nainstalujte a nakonfigurujte Nginx jako reverzní proxy
  8. Testování

Krok 1 – Aktualizace a upgrade systému

Než budete pokračovat, aktualizujte všechna úložiště Ubuntu a upgradujte všechny balíčky.

Spusťte níže uvedené příkazy apt.

aktualizace sudo apt
aktualizace sudo apt

Krok 2 – Instalace a konfigurace PostgreSQL

Gogs nabízí podporu pro databázové systémy MySQL, PostgreSQL, SQLite3, MSSQL a TiDB.

V této příručce budeme používat PostgreSQL jako databázi pro naše instalace Gogs.

Nainstalujte PostgreSQL pomocí příkazu apt níže.

sudo apt install -y postgresql postgresql-client libpq-dev

Po dokončení instalace spusťte službu PostgreSQL a povolte její spuštění při každém startu systému.

systemctl spustit postgresql
systemctl povolit postgresql

Databáze PostgreSQL byla nainstalována na systém Ubuntu.

Dále musíme vytvořit novou databázi a uživatele pro Gogs.

Přihlaste se jako uživatel 'postgres' a spusťte příkaz 'psql', abyste získali prostředí PostgreSQL.

su - postgres
psql

Vytvořte nového uživatele s názvem 'git' a udělte mu oprávnění pro 'CREATEDB'.

CREATE USER git CREATEDB;
\password git

Vytvořte databázi s názvem 'gogs_production' a nastavte uživatele 'git' jako vlastníka databáze.

CREATE DATABASE gogs_production OWNER git;

Byla vytvořena nová PostgreSQL databáze 'gogs_production' a uživatel 'git' pro instalaci Gogs.

Krok 3 – Instalace Go and Git

Nainstalujte Git z úložiště pomocí příkazu apt níže.

sudo apt install git

Nyní přidejte nového uživatele 'git' do systému.

sudo adduser --disabled-login --gecos 'Gogs' git

Přihlaste se jako uživatel 'git' a vytvořte nový 'místní' adresář.

su - git
mkdir -p /home/git/local

Přejděte do adresáře 'local' a stáhněte si 'Go' (nejnovější verzi) pomocí příkazu wget, jak je uvedeno níže.

cd ~/local
wget https://dl.google.com/go/go1.9.2.linux-amd64.tar.gz

Rozbalte komprimovaný soubor go a poté jej odeberte.

tar -xf go1.9.2.linux-amd64.tar.gz
rm -f go1.9.2.linux-amd64.tar.gz

Binární soubor 'Go' byl stažen do adresáře '~/local/go'. Nyní musíme nastavit prostředí – potřebujeme definovat adresáře 'GOROOT' a 'GOPATH, abychom mohli spustit příkaz 'go' v systému pod uživatelem 'git'.

Spusťte všechny následující příkazy.

cd ~/
echo 'export GOROOT=$HOME/local/go'>> $HOME/.bashrc
echo 'export GOPATH=$HOME/go'>> $HOME/.bashrc
echo 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin'>> $HOME/.bashrc

A znovu načtěte Bash spuštěním příkazu 'source ~/.bashrc', jak je ukázáno níže.

zdroj ~/.bashrc

Ujistěte se, že používáte Bash jako výchozí shell.

Nyní spusťte příkaz 'go' pro kontrolu verze.

přejít verzi

A ujistěte se, že získáte výsledek, jak je znázorněno na následujícím snímku obrazovky.

Go je nyní nainstalován v systému pod uživatelem 'git'.

Krok 4 – Instalace služby Gogs Go Git

Přihlaste se jako uživatel 'git' a stáhněte si 'Gogs' z GitHubu pomocí příkazu 'go'.

su - git
go get -u github.com/gogits/gogs

Příkaz stáhne veškerý zdrojový kód Gogs v adresáři 'GOPATH/src'.

Přejděte do adresáře '$GOPATH/src/github.com/gogits/gogs' a sestavte gogy pomocí příkazů níže.

cd $GOPATH/src/github.com/gogits/gogs
začněte stavět

A ujistěte se, že se neobjeví žádná chyba.

Nyní spusťte Gogs Go Git Service pomocí příkazu níže.

./gogs web

Příkaz spustí Gogs na výchozím portu 3000.

Otevřete webový prohlížeč a zadejte IP adresu svého serveru s portem 3000, moje je http://192.168.33.10:3000/

A měli byste získat výsledek, jak je uvedeno níže.

Gogs je nainstalován v systému Ubuntu. Nyní se vraťte do svého terminálu a stisknutím 'Ctrl + c' ukončete.

Krok 5 – Konfigurace služby Gogs Go Git

V tomto kroku vytvoříme vlastní konfiguraci pro Gogs.

Přejděte do instalačního adresáře Gogs a vytvořte nový adresář 'custom/conf'.

cd $GOPATH/src/github.com/gogits/gogs
mkdir -p custom/conf/

Zkopírujte výchozí konfiguraci do vlastního adresáře a upravte ji pomocí vim.

cp conf/app.ini custom/conf/app.ini
vim custom/conf/app.ini

Na stránce '[server] ', změňte server 'HOST_ADDR' na '127.0.0.1'.

[server]
PROTOKOL =http
DOMÉNA =localhost
ROOT_URL =%(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
HTTP_ADDR =127.0.0.1
HTTP_PORT =3000

V '[databázi] ', změňte vše pomocí vlastních informací o databázi.

[databáze]
DB_TYPE =postgres
HOST =127.0.0.1:5432
NÁZEV =gogs_production
USER =git
HESLO =[e-mail chráněno]#

Uložte a ukončete.

Nyní ověřte konfiguraci spuštěním příkazu, jak je uvedeno níže.

./gogs web

A ujistěte se, že výsledek je následující.

Gogs nyní běží s naší vlastní konfigurací pod 'localhost' s portem 3000.

Krok 6 – Provozování Gogs jako služby

V tomto kroku nakonfigurujeme Gogs jako službu v systému Ubuntu. Vytvoříme nový konfigurační soubor služby 'gogs.service' v adresáři '/etc/systemd/system'.

Přejděte do adresáře '/etc/systemd/system' a pomocí editoru vim vytvořte nový soubor služby 'gogs.service'.

cd /etc/systemd/system
vim gogs.service

Zde vložte následující konfiguraci služby gogs.

[Jednotka]
Popis=Gogs
After=syslog.target
After=network.target
After=mariadb.service mysqld.service postgresql.service memcached.service redis .service

[Service]
# Upravte tyto dvě hodnoty a odkomentujte je, pokud máte
# repozitáře se spoustou souborů a dostanete chybu HTTP 500, protože
# z toho
###
#LimitMEMLOCK=nekonečno
#LimitNOFILE=65535
Type=simple
User=git
Group=git
WorkingDirectory=/home/git/go/src/github.com/gogits/gogs
ExecStart=/home/git/go/src/github.com/gogits/gogs/gogs web
Restart=always
Environment=USER=git HOME=/home/git

[Install]
WantedBy=multi-user.target

Uložte a ukončete.

Nyní znovu načtěte služby systemd.

systemctl daemon-reload

Spusťte službu gogs a povolte její spuštění při každém spuštění systému pomocí příkazu systemctl.

systemctl start gogs
systemctl povolit gogs

Gogs nyní běží jako služba na systému Ubuntu.

Zkontrolujte to pomocí příkazů níže.

netstat -plntu
systemctl status gogs

A měli byste získat výsledek, jak je uvedeno níže.

Krok 7 – Konfigurace Nginx jako reverzního proxy pro Gogs

V tomto kroku nakonfigurujeme Nginx jako reverzní proxy pro Gogs. Budeme používat balíčky Nginx z jeho vlastního úložiště.

Přidejte úložiště Nginx pomocí příkazu add-apt.

sudo add-apt-repository -y ppa:nginx/stable

Nyní aktualizujte všechna úložiště Ubuntu a nainstalujte Nginx pomocí příkazu apt níže.

aktualizace sudo apt
instalace sudo apt nginx -y

Dále přejděte do adresáře '/etc/nginx/sites-available' a vytvořte nový soubor virtuálního hostitele 'gogs'.

cd /etc/nginx/sites-available
vim gogs

Zde vložte následující konfiguraci.

server {
    listen 80;
    název_serveru git.hakase-labs.co;

    umístění / {
        proxy_pass http://localhost:3000;
    }
}

Uložte a ukončete.

Poznámka:

Změňte řádek 'server_name' za svůj vlastní název domény.

Nyní aktivujte nového virtuálního hostitele a otestujte konfiguraci nginx.

ln -s /etc/nginx/sites-available/gogs /etc/nginx/sites-enabled/
nginx -t

Ujistěte se, že nedošlo k žádné chybě, a poté restartujte službu Nginx.

systemctl restart nginx

Krok 8 – Testování

Otevřete webový prohlížeč a zadejte adresu URL svého gogs, moje je http://git.hakase-labs.co

Nyní získáte instalační stránku. V horní části stránky zadejte všechny informace o databázi PostgreSQL.

Nyní přejděte dolů a klikněte na rozbalovací nabídku 'Nastavení účtu správce'.

Zadejte svého administrátora, heslo a e-mail.

Poté klikněte na tlačítko 'Instalovat Gogs'.

A budete přesměrováni na uživatelský panel Gogs, jak je znázorněno níže.

Níže je Gogs 'Admin Dashboard'.

Gogs je nyní nainstalován s databází PostgreSQL a webovým serverem Nginx na serveru Ubuntu 16.04


Ubuntu
  1. Jak nainstalovat Git na Ubuntu 18.04 / 20.04

  2. Jak nainstalovat PostgreSQL 9.6 na Ubuntu 20.04

  3. Jak nainstalovat git na ubuntu 16.04

  1. Jak nainstalovat PostgreSQL na Ubuntu 18.04

  2. Jak nainstalovat Nginx na Ubuntu 18.04

  3. Jak nainstalovat Git na Ubuntu 18.04

  1. Jak nainstalovat a nakonfigurovat Gogs na Ubuntu 18.04

  2. Jak nainstalovat Git na Ubuntu 20.04

  3. Jak nainstalovat PostgreSQL na Ubuntu 20.04