Gitea är en snabb och lättanvänd egenhostad git-server skriven i Go. Den innehåller en databasredigerare, spårning av projektfrågor, användarhantering, aviseringar, inbyggd wiki och mycket mer.
Gitea är en lätt applikation och kan installeras på lågeffektiva system. Om du letar efter ett alternativ till Gitlab med ett mycket mindre minnesavtryck och du inte behöver alla klockor och visselpipor som Gitlab erbjuder, bör du prova Gitea.
Den här artikeln förklarar hur du installerar och konfigurerar Gitea på Ubuntu 20.04.
Förutsättningar #
Gitea stöder SQLite, PostgreSQL och MySQL / MariaDB som databasbackends.
SQLite rekommenderas endast för små installationer. Större installationer bör använda MySQL eller PostgreSQL.
Vi använder SQLite som databas för Gitea. Om SQLite inte är installerat på ditt Ubuntu-system, installera det genom att ange följande kommandon som sudo-användare:
sudo apt uppdatering
sudo apt installera sqlite3
Installera Gitea #
Gitea tillhandahåller Docker-bilder och kan installeras från källa, binär och som ett paket. Vi installerar Gitea från binär.
Installera Git #
Det första steget är att installera Git på din server:
sudo apt uppdatering
sudo apt installera git
Verifiera installationen genom att visa Git-versionen:
git --version
git version 2.25.1
Skapa en Git-användare #
Skapa en ny systemanvändare som kör Gitea-applikationen genom att skriva:
sudo adduser \
--systemet \
--skal / bin / bash \
--gecos 'Git Version Control' \
--grupp \
--inaktiverat lösenord \
--hem / hem / git \
git
Kommandot ovan skapar en ny användare och grupp med namnet git
, och ställ hemkatalogen till / hem / git
. Utgången kommer att se ut som nedan:
Lägga till systemanvändare 'git' (UID 112) ... Lägga till ny grupp 'git' (GID 118) ... Lägga till ny användare 'git' (UID 112) med grupp 'git' ... Skapa hemkatalog '/ home / git' ..
Ladda ner Gitea binär #
Gå över till Gitea Download-sidan och ladda ner den senaste binären för din arkitektur. I skrivande stund är den senaste versionen 1.10.2. Om det finns en ny version tillgänglig, ändra VERSION
variabel i kommandot nedan.
Använda sig av wget
för att ladda ner Gitea-binären i / tmp
katalog:
VERSION = 1.14.1
sudo wget -O / tmp / gitea https: // dl.gitea.io / gitea / $ VERSION / gitea - $ VERSION -linux-amd64
Du kan köra gitea
binär från vilken plats som helst. Vi följer konventionen och flyttar binären till / usr / local / bin
katalog:
sudo mv / tmp / gitea / usr / local / bin
Gör den binära körbara:
sudo chmod + x / usr / local / bin / gitea
Kör kommandona nedan för att skapa kataloger och ställa in nödvändiga behörigheter och ägande:
sudo mkdir -p / var / lib / gitea / anpassad, data, logg
sudo chown -R git: git / var / lib / gitea /
sudo chmod -R 750 / var / lib / gitea /
sudo mkdir / etc / gitea
sudo chown rot: git / etc / gitea
sudo chmod 770 / etc / gitea
Katalogstrukturen ovan rekommenderas av den officiella Gitea-dokumentationen.
Behörigheterna för / etc / gitea
katalog är inställd på 770
så att installationsguiden kan skapa konfigurationsfilen. När installationen är klar ställer vi in mer begränsande behörigheter.
Skapa en Systemd-enhetsfil #
Vi kör Gitea som en systemd-tjänst.
Ladda ner exemplet systemd enhetsfilen till / etc / systemd / system
katalog genom att skriva:
sudo wget https: // rå.githubusercontent.com / go-gitea / gitea / main / contrib / systemd / gitea.service -P / etc / systemd / system /
Du behöver inte redigera filen, den är konfigurerad för att matcha vår inställning.
Aktivera och starta Gitea-tjänsten:
sudo systemctl daemon-reload
sudo systemctl aktivera - nu gitea
Kontrollera att Gitea kör:
sudo systemctl status gitea
● gitea.service - Gitea (Git med en kopp te) Lastad: laddad (/ etc / systemd / system / gitea.service; aktiverad; leverantörsförinställning: aktiverad) Aktiv: aktiv (igång) sedan tor 2021-05-06 05:32:04 UTC; 7s sedan Huvud-PID: 77781 (gitea) Uppgifter: 6 (gräns: 470) Minne: 130.6M CGroup: / system.skiva / gitea.service └─77781 / usr / local / bin / gitea web --config / etc / gitea / app.ini ..
Konfigurera Gitea #
Nu när Gitea laddas ner och körs kan vi slutföra installationen via webbgränssnittet.
Som standard lyssnar Gitea efter anslutningar på port 3000
på alla nätverksgränssnitt.
Om du har en UFW-brandvägg på din server måste du öppna Gitea-porten. För att tillåta trafik i hamnen 3000
, ange följande kommando:
sudo ufw tillåter 3000 / tcp
Öppna din webbläsare, skriv http: // YOUR_DOMAIN_IR_IP: 3000
, och en skärm som liknar följande visas:
Databasinställningar:
- Databastyp: SQLite3
- Sökväg: Använd en absolut sökväg,
/ var / lib / gitea / data / gitea.db
Program Allmänna inställningar:
- Webbplatsens titel: Ange ditt organisationsnamn.
- Förvarets rotväg: Lämna standard
var / lib / gitea / data / gitea-repositories
. - Git LFS Root Path: Lämna standard
/ var / lib / gitea / data / lfs
. - Kör som användarnamn: git
- SSH Server Domain: Ange din domän eller serverns IP-adress.
- SSH-port: 22, ändra den om SSH lyssnar på en annan port
- Gitea HTTP lyssnarport: 3000
- Gitea Base URL: Använd http och din domän eller serverns IP-adress.
- Loggväg: Lämna standard
/ var / lib / gitea / log
För att starta installationen, tryck på “Install Gitea” -knappen.
Installationen är omedelbar. När du är klar kommer du att omdirigeras till inloggningssidan.
Klicka på ”Behöver ett konto? Registrera nu.”Länk. Den första registrerade användaren läggs automatiskt till i administratörsgruppen.
Ändra behörigheterna för Gitea-konfigurationsfilen till skrivskyddad med:
sudo chmod 750 / etc / gitea
sudo chmod 640 / etc / gitea / app.ini
Det är allt. Gitea har installerats på din Ubuntu-maskin.
Konfigurera Nginx som SSL Termination Proxy #
Detta steg är valfritt, men det rekommenderas starkt. SSL-avslutning innebär att Nginx fungerar som en mellanhand mellan Gitea-applikationen och webbklienter så att du kan komma åt Gitea via HTTPS.
För att kunna använda Nginx som omvänd proxy måste du ha en domän eller underdomän som pekar på din servers offentliga IP. I det här exemplet kommer vi att använda git.exempel.com
.
Installera först Nginx och skapa ett gratis Let's Encrypt SSL-certifikat med hjälp av guiderna nedan:
- Så här installerar du Nginx på Ubuntu 20.04
- Säker Nginx med Let's Encrypt på Ubuntu 20.04
När du är klar öppnar du din textredigerare och redigerar domänserverns blockfil:
sudo nano / etc / nginx / sites-enabled / git.exempel.com
/ etc / nginx / sites-enabled / git.exempel.comserver lyssna 80; server_name git.exempel.com; inkluderar utdrag / letsencrypt.conf; returnera 301 https: // git.exempel.com $ request_uri; server lyssna 443 ssl http2; server_name git.exempel.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; client_max_body_size 50m; # Proxy-rubriker proxy_set_header X-Forwarded-Host $ host; proxy_set_header X-vidarebefordras-för $ proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $ -schema; proxy_set_header X-Real-IP $ remote_addr; # SSL-parametrar ssl_certificate / etc / letsencrypt / live / git.exempel.com / fullchain.pem; ssl_certificate_key / etc / letsencrypt / live / git.exempel.com / privkey.pem; ssl_trusted_certificate / etc / letsencrypt / live / git.exempel.com / kedja.pem; inkluderar utdrag / letsencrypt.conf; inkludera utdrag / ssl.conf; # loggfiler access_log / var / log / nginx / git.exempel.com.tillgång.logga; error_log / var / log / nginx / git.exempel.com.fel.logga; # Hantera / begär plats / proxy_redirect av; proxy_pass http: // 127.0.0.1: 3000;
Glöm inte att byta ut git.exempel.com med din Gitea-domän och ställ in rätt sökväg till SSL-certifikatfilerna. HTTP-trafiken omdirigeras till HTTPS
Starta om Nginx-tjänsten för att ändringar ska träda i kraft:
sudo systemctl starta om nginx
Ändra sedan Gitea-domänen och root-webbadressen. För att göra det, öppna konfigurationsfilen och redigera följande rader:
sudo nano / etc / gitea / app.ini
/ etc / gitea / app.ini[server] DOMAIN = git.exempel.com ROOT_URL = https: // git.exempel.com /
Starta om Gitea-tjänsten genom att skriva:
sudo systemctl starta om gitea
Vid den här tiden är Gitea-proxy konfigurerad och du kan komma åt den på: https: // git.exempel.com
Konfigurera e-postmeddelanden #
Om du vill att din Gitea-instans ska skicka e-postmeddelanden kan du antingen installera Postfix eller använda någon e-posttjänst som SendGrid, MailChimp, MailGun eller SES.
För att aktivera e-postmeddelanden, öppna konfigurationsfilen och redigera följande rader:
sudo nano / etc / gitea / app.ini
/ etc / gitea / app.ini[mailer] ENABLED = true HOST = SMTP_SERVER: SMTP_PORT FROM = SENDER_EMAIL USER = SMTP_USER PASSWD = DIN_SMTP_PASSWORD
Se till att du anger rätt SMTP-serverinformation.
Starta om Gitea-tjänsten för att ändringar ska träda i kraft:
sudo systemctl starta om gitea
För att verifiera inställningarna och skicka ett testmeddelande loggar du in på Gitea och går till: Platsadministration> Konfiguration> SMTP Mailer-konfiguration.
Gitea låter dig också ansluta till Slack genom att skapa en webbwebb och skicka meddelanden till dina Slack-kanaler .
Uppgradera Gitea #
För att uppgradera till den senaste Gitea-versionen, ladda bara ner och byt ut binären.
Stoppa Gitea-tjänsten:
sudo systemctl stoppa gitea
Ladda ner den senaste Gitea-versionen och flytta den till
/ usr / local / bin
katalog:VERSION =
wget -O / tmp / gitea https: // dl.gitea.io / gitea / $ VERSION / gitea - $ VERSION -linux-amd64
sudo mv / tmp / gitea / usr / local / bin
Gör den binära körbara:
sudo chmod + x / usr / local / bin / gitea
Starta om Gitea-tjänsten:
sudo systemctl starta om gitea
Det är allt.
Slutsats #
Denna handledning guidade dig genom installationen av Gitea på Ubuntu 20.04. För mer information om hur du konfigurerar din Gitea-instans och skapar ditt första projekt, besök Gitea-dokumentationssidan .
Om du har frågor, lämna gärna en kommentar nedan.