Android

Hvordan installere og konfigurere gogs på ubuntu 18.04

How to Install and Configure Git and GitHub on Ubuntu 18.04/ Ubuntu 20.04(Linux)

How to Install and Configure Git and GitHub on Ubuntu 18.04/ Ubuntu 20.04(Linux)

Innholdsfortegnelse:

Anonim

Gogs er en self-host open source git-server skrevet i Go. Det inkluderer en redigeringsfilredigerer, sporing av prosjektproblemer og en innebygd wiki.

Gogs er en lett applikasjon og kan installeres på lavdrevne systemer. Hvis du søker etter et alternativ til Gitlab med mye mindre minneavtrykk og ikke trenger alle klokkene og fløytene som Gitlab tilbyr, bør du absolutt prøve Gogs.

Denne opplæringen dekker trinnene for å installere og konfigurere Gogs på Ubuntu 18.04. De samme instruksjonene gjelder for Ubuntu 16.04 og all annen Ubuntu-basert distribusjon.

Før du begynner

Gogs kan bruke SQLite, PostgreSQL eller MySQL / MariaDB-databasen til å lagre alle dataene.

I denne opplæringen vil vi bruke SQLite som den valgte databasen. Hvis SQLite ikke er installert på systemet ditt, kan du installere det ved å skrive:

sudo apt install sqlite3

For et ekstra lag med sikkerhet, anbefales det å sette opp en grunnleggende brannmur. Du kan følge trinnene i hvordan du konfigurerer en brannmur med UFW i Ubuntu 18.04-guiden.

Installere Gogs

Vi installerer Gogs fra binær. Installasjonen er en ganske rett frem prosess.

Installer Git

Det første trinnet er å installere Git på serveren din. For å gjøre dette, oppdater den lokale pakkeindeksen og installer git-pakken ved å kjøre følgende kommandoer som sudo-bruker:

sudo apt update sudo apt install git

Bekreft installasjonen ved å vise Git-versjonen:

git --version

git version 2.17.1

Opprett en Git-bruker

Opprett en ny systembruker for å kjøre Gogs-tjenesten ved å skrive:

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

Kommandoen vil opprette brukeren og sette hjemmekatalogen til /home/git . Utgangen vil se noe slik ut nedenfor:

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

Last ned Gogs binær

Besøk Gogs Last ned-siden og last ned den nyeste binære for din arkitektur. I skrivende stund er den siste versjonen 0.11.86, hvis det er en ny versjon tilgjengelig, endre VERSION variabelen i kommandoen nedenfor.

Last ned Gogs-arkivet i /tmp katalogen ved hjelp av følgende wget-kommando:

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

Når nedlastingen er fullført, trekker du ut Gogs tar.gz-filen og flytter den til /home/git katalogen:

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

Kjør følgende kommando for å endre eierskapet til Gogs installasjonskatalog til bruker- og gruppegit:

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

Opprett en systemd enhetsfil

Gogs kommer med en Systemd enhetsfil som allerede er konfigurert for å samsvare med oppsettet vårt.

Kopier filen til /etc/systemd/system/ directory ved å skrive:

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

Når du er ferdig, start og aktiver Gogs-tjenesten:

sudo systemctl start gogs sudo systemctl enable gogs

Kontroller at tjenesten er startet vellykket:

* 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

Installer Gogs ved hjelp av nettinstallasjonsprogrammet

Nå som Gogs er lastet ned og kjører, er det på tide å fullføre installasjonen gjennom webgrensesnittet.

Åpne nettleseren din, skriv http://YOUR_DOMAIN_IR_IP:3000 og et skjermbilde som ligner på følgende vises:

Den første registrerte brukeren legges automatisk til administrasjonsgruppen.

Det er det. Gogs er installert på Ubuntu-maskinen din.

Konfigurere Nginx som SSL-termineringsproxy

Dette trinnet er valgfritt, men det anbefales på det sterkeste. For å bruke Nginx som en omvendt proxy må du ha et domene eller et underdomener som peker til serverens offentlige IP. I denne opplæringen vil vi bruke gogs.example.com .

Først installerer Nginx og genererer et gratis Let's Encrypt SSL-sertifikat ved å følge veiledningene nedenfor:

Når du er ferdig, åpner du tekstredigereren og redigerer domeneserverblokkfilen:

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

Ikke glem å erstatte gogs.example.com med ditt Gogs-domene og angi riktig vei til SSL-sertifikatfilene. Alle HTTP-forespørsler blir omdirigert til Start Nginx-tjenesten på nytt for at endringene skal tre i kraft:

sudo systemctl restart nginx

Deretter må vi endre Gogs-domenet og root-url. Åpne konfigurasjonsfilen og rediger følgende linjer:

sudo nano /home/git/gogs/custom/conf/app.ini /home/git/gogs/custom/conf/app.ini

DOMAIN = gogs.example.com ROOT_URL =

Start Gogs-tjenesten på nytt ved å skrive:

sudo systemctl restart gogs

På dette tidspunktet er Gogs konfigurert, og du kan få tilgang til det på: https://gogs.example.com

Konfigurere e-postvarsler

For at Gogs skal kunne sende varslings-e-postmeldinger, kan du enten installere Postfix eller bruke noen transaksjonelle posttjenester som SendGrid, MailChimp, MailGun eller SES.

For å aktivere e-postvarsler, åpner du konfigurasjonsfilen og rediger følgende linjer:

sudo nano /home/git/gogs/custom/conf/app.ini /home/git/gogs/custom/conf/app.ini

ENABLED = true HOST = SMTP_SERVER:SMTP_PORT FROM = SENDER_EMAIL USER = SMTP_USER PASSWD = YOUR_SMTP_PASSWORD

Forsikre deg om at du legger inn riktig SMTP-serverinformasjon.

Start Gogs-tjenesten på nytt for at endringene skal tre i kraft:

sudo systemctl restart gogs

Med Gogs kan du også koble til Slack ved å opprette webhook og sende varsler til Slack-kanalene dine.

Oppgradering av Gogs

For å oppgradere Gogs, kreves det flere manuelle trinn.

  1. Stopp først Gogs-tjenesten:

    sudo systemctl stop gogs

    Gi nytt navn til Gogs installasjonskatalog.

    sudo mv /home/git/gogs{, _old}

    Last ned den siste Gogs-versjonen og flytt den til katalogen /home/git :

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

    Forsikre deg om at du endrer VERSION med den faktiske utgaven av Gogs.

    Kopier custom data , log til den utpakkede katalogen ved hjelp av følgende rsync-kommando:

    sudo rsync -a /home/git/gogs_old/{custom, data, log} /home/git/gogs/

    Endelig, start Gogs-tjenesten:

    sudo systemctl restart gogs

Det er det.

Konklusjon

Denne opplæringen ledet deg gjennom installasjonen og konfigurasjonen av Gogs på Ubuntu 18.04. Du kan nå opprette ditt første prosjekt og begynne å bruke den nye Gogs-serveren.

ubuntu gogs