Android

Hur man installerar och konfigurerar gogs på Ubuntu 18.04

How to install Gogs on a Linux Server (DigitalOcean)

How to install Gogs on a Linux Server (DigitalOcean)

Innehållsförteckning:

Anonim

Gogs är en självhostad open source git-server skriven i Go. Det innehåller en redigeringsfilredigerare, spårning av projektfrågor och en inbyggd wiki.

Gogs är en lätt applikation och kan installeras på lågdrivna system. Om du söker efter ett alternativ till Gitlab med mycket mindre minneavtryck och du inte behöver alla klockor och visselpipor som Gitlab erbjuder så bör du definitivt prova Gogs.

Denna handledning täcker stegen för att installera och konfigurera Gogs på Ubuntu 18.04. Samma instruktioner gäller för Ubuntu 16.04 och annan Ubuntu-baserad distribution.

Innan du börjar

Gogs kan använda SQLite, PostgreSQL eller MySQL / MariaDB-databasen för att lagra alla dess data.

I denna handledning kommer vi att använda SQLite som den databas som du väljer. Om SQLite inte är installerat på ditt system kan du installera det genom att skriva:

sudo apt install sqlite3

För ett extra lager av säkerhet rekommenderas att du installerar en grundläggande brandvägg. Du kan följa stegen i vår hur du ställer in en brandvägg med UFW i Ubuntu 18.04 guide.

Installera Gogs

Vi installerar Gogs från binär. Installationen är en ganska rak framstegsprocess.

Installera Git

Det första steget är att installera Git på din server. För att göra det, uppdatera det lokala paketindexet och installera git-paketet genom att köra följande kommandon som sudo-användare:

sudo apt update sudo apt install git

Verifiera installationen genom att visa Git-versionen:

git --version

git version 2.17.1

Skapa en Git-användare

Skapa en ny systemanvändare för att köra Gogs-tjänsten genom att skriva:

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

Kommandot skapar användaren och ställer in hemkatalogen till /home/git . Utgången ser ut så här nedan:

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

Ladda ner Gogs binärt

Besök Gogs-nedladdningssidan och ladda ner den senaste binären för din arkitektur. I skrivande stund är den senaste versionen 0.11.86, om det finns en ny version tillgänglig, ändra VERSION variabeln i kommandot nedan.

Ladda ner Gogs-arkivet i /tmp katalogen med följande wget-kommando:

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

När nedladdningen är klar, extrahera filen Gogs tar.gz och flytta den till katalogen /home/git :

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

Kör följande kommando för att ändra äganderätten till Gogs installationskatalog till användaren och gruppgit:

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

Skapa en systemd enhetsfil

Gogs kommer med en Systemd-enhetsfil som redan är konfigurerad för att matcha vår installation.

Kopiera filen till /etc/systemd/system/ katalogen genom att skriva:

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

När du är klar, starta och aktivera Gogs-tjänsten:

sudo systemctl start gogs sudo systemctl enable gogs

Kontrollera att tjänsten har startats:

* 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

Installera Gogs med webbinstallationsprogrammet

Nu när Gogs laddas ner och körs är det dags att slutföra installationen via webbgränssnittet.

Öppna din webbläsare, skriv http://YOUR_DOMAIN_IR_IP:3000 och en skärm som liknar följande visas:

Den första registrerade användaren läggs automatiskt till administratörsgruppen.

Det är allt. Gogs har installerats på din Ubuntu-maskin.

Konfigurera Nginx som SSL Termination Proxy

Detta steg är valfritt men det rekommenderas starkt. För att kunna använda Nginx som en omvänd proxy måste du ha en domän eller underdomän som pekar på din server IP-adress. I denna handledning kommer vi att använda gogs.example.com .

Först installerar Nginx och genererar ett gratis Let's Encrypt SSL-certifikat genom att följa guiderna nedan:

När du är klar öppnar du din textredigerare och redigerar domänserverens blockfil:

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

Glöm inte att ersätta gogs.example.com med din Gogs-domän och ange rätt sökväg till SSL-certifikatfilerna. Alla HTTP-förfrågningar kommer att omdirigeras till Starta om Nginx-tjänsten så att ändringar träder i kraft:

sudo systemctl restart nginx

Därefter måste vi ändra Gogs-domänen och root-url. För att göra det öppnar du konfigurationsfilen och redigerar följande rader:

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

DOMAIN = gogs.example.com ROOT_URL =

Starta om Gogs-tjänsten genom att skriva:

sudo systemctl restart gogs

Just nu konfigureras Gogs och du kan komma åt det på: https://gogs.example.com

Konfigurera e-postmeddelanden

För att Gogs ska kunna skicka e-postmeddelanden kan du antingen installera Postfix eller använda någon transaktionell posttjänst som SendGrid, MailChimp, MailGun eller SES.

För att aktivera e-postmeddelanden öppnar du konfigurationsfilen och redigerar följande rader:

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

Se till att du anger rätt SMTP-serverinformation.

Starta om Gogs-tjänsten så att ändringarna träder i kraft:

sudo systemctl restart gogs

Med Gogs kan du också ansluta till Slack genom att skapa webbhook och skicka aviseringar till dina Slack-kanaler.

Uppgradera Gogs

För att uppgradera Gogs krävs flera manuella steg.

  1. Stoppa först Gogs-tjänsten:

    sudo systemctl stop gogs

    Byt namn på Gogs installationskatalog.

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

    Ladda ner den senaste Gogs-versionen och flytta den till 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

    Se till att du ändrar VERSION med den faktiska Gogs-versionen.

    Kopiera custom , data , log kataloger till den extraherade katalogen med följande rsync-kommando:

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

    Starta slutligen Gogs-tjänsten:

    sudo systemctl restart gogs

Det är allt.

Slutsats

Denna självstudie ledde dig genom installationen och konfigurationen av Gogs på Ubuntu 18.04. Du kan nu skapa ditt första projekt och börja använda din nya Gogs-server.

ubuntu gogs