Android

Sådan installeres og konfigureres gogs på ubuntu 18.04

Week 1

Week 1

Indholdsfortegnelse:

Anonim

Gogs er en self-host open source git-server skrevet i Go. Det inkluderer en redigeringsfileditor, sporing af projektproblemer og en indbygget wiki.

Gogs er en let applikation og kan installeres på lavdrevne systemer. Hvis du søger efter et alternativ til Gitlab med meget mindre hukommelsesfodaftryk, og du ikke har brug for alle de klokker og fløjter, som Gitlab tilbyder, bør du bestemt prøve Gogs.

Denne tutorial dækker trinene til installation og konfiguration af Gogs på Ubuntu 18.04. De samme instruktioner gælder for Ubuntu 16.04 og enhver anden Ubuntu-baseret distribution.

Før du begynder

Gogs kan bruge SQLite, PostgreSQL eller MySQL / MariaDB-database til at gemme alle dens data.

I denne tutorial vil vi bruge SQLite som den valgte database. Hvis SQLite ikke er installeret på dit system, kan du installere det ved at skrive:

sudo apt install sqlite3

For et yderligere lag af sikkerhed anbefales det at opsætte en grundlæggende firewall. Du kan følge trinnene i vores Sådan konfigureres en firewall med UFW i Ubuntu 18.04-guide.

Installation af Gogs

Vi installerer Gogs fra binært. Installationen er en temmelig ligefrem proces.

Installer Git

Det første trin er at installere Git på din server. Dette gøres ved at opdatere det lokale pakkeindeks og installere git-pakken ved at køre følgende kommandoer som sudo-bruger:

sudo apt update sudo apt install git

Bekræft installationen ved at vise Git-versionen:

git --version

git version 2.17.1

Opret en Git-bruger

Opret en ny systembruger til at køre Gogs-tjenesten ved at skrive:

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

Kommandoen opretter brugeren og indstiller hjemmekataloget til /home/git . Outputet ser sådan ud som 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'…

Download Gogs binært

Besøg siden Gogs Download og download den nyeste binære til din arkitektur. I skrivende stund er den seneste version 0.11.86, hvis der er en ny version tilgængelig, skal du ændre VERSION variablen i kommandoen herunder.

Download Gogs-arkivet i /tmp biblioteket ved hjælp af følgende wget-kommando:

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

Når downloaden er afsluttet, skal du pakke Gogs tar.gz-filen og flytte den til /home/git biblioteket:

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

Kør følgende kommando for at ændre ejerskabet af Gogs-installationsmappen til bruger- og gruppegit:

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

Opret en systemd Enhedsfil

Gogs leveres med en Systemd-enhedsfil, der allerede er konfigureret til at matche vores opsætning.

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

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

Når det er gjort, skal du starte og aktivere Gogs-tjenesten:

sudo systemctl start gogs sudo systemctl enable gogs

Kontroller, at tjenesten startes med succes:

* 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 hjælp af webinstallationsprogrammet

Nu hvor Gogs er downloadet og kører, er det tid til at færdiggøre installationen via webgrænsefladen.

Åbn din browser, skriv http://YOUR_DOMAIN_IR_IP:3000 og der vises en skærm, der ligner følgende:

Den første registrerede bruger tilføjes automatisk til administratorgruppen.

Det er det. Gogs er installeret på din Ubuntu-maskine.

Konfiguration af Nginx som SSL-termineringsproxy

Dette trin er valgfri, men det anbefales stærkt. For at bruge Nginx som en omvendt proxy skal du have et domæne eller underdomæne, der peger på din server-offentlige IP. I denne tutorial vil vi bruge gogs.example.com .

Først skal du installere Nginx og generere et gratis Let's Encrypt SSL-certifikat ved at følge vejledningerne nedenfor:

Når det er gjort, skal du åbne din teksteditor og redigere domæneserverblokfil:

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

Glem ikke at erstatte gogs.example.com med dit Gogs-domæne og indstille den rigtige sti til SSL-certifikatfiler. Alle HTTP-anmodninger vil blive omdirigeret til Genstart Nginx-tjenesten, så ændringerne træder i kraft:

sudo systemctl restart nginx

Derefter skal vi ændre Gogs-domænet og root-url. For at gøre dette skal du åbne konfigurationsfilen og redigere 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 =

Genstart Gogs-tjenesten ved at skrive:

sudo systemctl restart gogs

På dette tidspunkt er Gogs konfigureret, og du kan få adgang til det på: https://gogs.example.com

Konfiguration af e-mail-meddelelser

For at Gogs skal kunne sende meddelelses-e-mails, kan du enten installere Postfix eller bruge en eller anden transaktionsposttjeneste, såsom SendGrid, MailChimp, MailGun eller SES.

For at aktivere e-mail-meddelelser skal du åbne konfigurationsfilen og redigere 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

Sørg for, at du lægger de korrekte SMTP-serveroplysninger.

Genstart Gogs-tjenesten for at ændringerne får virkning:

sudo systemctl restart gogs

Gogs giver dig også mulighed for at oprette forbindelse til Slack ved at oprette web-webhook og sende meddelelser til dine Slack-kanaler.

Opgradering af Gogs

For at opgradere Gogs er flere manuelle trin påkrævet.

  1. Stop først Gogs-tjenesten:

    sudo systemctl stop gogs

    Omdøb navn til Gogs installationsmappe.

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

    Download den seneste Gogs-version, og flyt den til biblioteket /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

    Sørg for at ændre VERSION med den aktuelle version af Gogs.

    Kopier custom data , log kataloger til det udpakkede bibliotek ved hjælp af følgende rsync-kommando:

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

    Endelig skal du starte Gogs-tjenesten:

    sudo systemctl restart gogs

Det er det.

Konklusion

Denne tutorial ledte dig gennem installationen og konfigurationen af ​​Gogs på Ubuntu 18.04. Du kan nu oprette dit første projekt og begynde at bruge din nye Gogs-server.

ubuntu gogs