How to install Gogs on a Linux Server (DigitalOcean)
Innehållsförteckning:
- Innan du börjar
- Installera Gogs
- Installera Git
- Skapa en Git-användare
- Ladda ner Gogs binärt
- Skapa en systemd enhetsfil
- Installera Gogs med webbinstallationsprogrammet
- Konfigurera Nginx som SSL Termination Proxy
- Konfigurera e-postmeddelanden
- Uppgradera Gogs
- Slutsats
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
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.
-
Stoppa först Gogs-tjänsten:
sudo systemctl stop gogsByt 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 /tmpsudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/gitSe till att du ändrar
VERSIONmed den faktiska Gogs-versionen.Kopiera
custom,data,logkataloger 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 gogsLedamöter av Europaparlamentet kommer att avgöra om en rad frågor, bland annat hur man reglerar telekomföretag i EU, hur man straffar företag som snedvrider konkurrensen, hur man delar radiofrekvenser som släpps av TV: s migrering till digital sändning och hur man skyddar medborgarnas data i den digitala tiden.
Men de är delade om huruvida IP-adresser ska ses som personuppgifter. "Vi kommer att be kommissionen att formellt lägga fram en rapport om detta", säger Malcolm Harbour, en brittisk konservativ parlamentsledamot som spelar en central roll för att hylla den så kallade telekomrevisionen genom parlamentet.
Hur man installerar och konfigurerar en nfs-server på ubuntu 18.04
Network File System (NFS) är ett distribuerat filsystemprotokoll som låter dig dela fjärrkataloger över ett nätverk. I den här tutorialen går vi igenom hur man ställer in en NFSv4-server på Ubuntu 18.04.
Hur man installerar och konfigurerar redis på ubuntu 18.04
Redis är ett datakonstruktionslager med öppen källkod. Den kan användas som en databas, cache och meddelandemäklare och stöder olika datastrukturer som strängar, hasar, listor, uppsättningar, etc. I denna handledning beskrivs hur du installerar och konfigurerar Redis på en Ubuntu 18.04-server.







