Gitea is een snelle en gebruiksvriendelijke zelf-gehoste git-server geschreven in Go. Het bevat een repository-bestandseditor, het volgen van projectproblemen, gebruikersbeheer, meldingen, ingebouwde wiki en nog veel meer.
Gitea is een lichtgewicht applicatie en kan worden geïnstalleerd op systemen met een laag vermogen. Als je op zoek bent naar een alternatief voor Gitlab met een veel kleinere geheugenvoetafdruk en je niet alle toeters en bellen nodig hebt die Gitlab biedt, dan moet je Gitea proberen.
In dit artikel wordt uitgelegd hoe u Gitea installeert en configureert op Ubuntu 20.04.
Vereisten #
Gitea ondersteunt SQLite, PostgreSQL en MySQL /MariaDB als database-backends.
SQLite wordt alleen aanbevolen voor kleine installaties. Grotere installaties zouden MySQL of PostgreSQL moeten gebruiken.
We gebruiken SQLite als de database voor Gitea. Als SQLite niet op uw Ubuntu-systeem is geïnstalleerd, installeer het dan door de volgende opdrachten in te voeren als sudo-gebruiker:
sudo apt update
sudo apt install sqlite3
Gitea installeren #
Gitea biedt Docker-images en kan worden geïnstalleerd vanaf de broncode, binair en als pakket. We installeren Gitea vanuit binair.
Git # installeren
De eerste stap is om Git op je server te installeren:
sudo apt update
sudo apt install git
Controleer de installatie door de Git-versie weer te geven:
git --versie
git-versie 2.25.1
Maak een Git-gebruiker #
Maak een nieuwe systeemgebruiker aan die de Gitea-toepassing zal uitvoeren door te typen:
sudo adduser \
--systeem \
--shell /bin/bash \
--gecos 'Git-versiebeheer' \
--groep \
--uitgeschakeld-wachtwoord \
--thuis /thuis/git \
git
Het bovenstaande commando maakt een nieuwe gebruiker en groep aan met de naam git
, en zet de homedirectory op /home/git
. De uitvoer ziet er ongeveer als volgt uit:
Systeemgebruiker 'git' (UID 112) toevoegen... Nieuwe groep 'git' (GID 118) toevoegen... Nieuwe gebruiker 'git' (UID 112) toevoegen met groep 'git'... Thuismap maken '/home/git'..
Gitea binair downloaden #
Ga naar de Gitea Download-pagina en download het nieuwste binaire bestand voor uw architectuur. Op het moment van schrijven is de nieuwste versie 1.10.2. Als er een nieuwe versie beschikbaar is, wijzigt u de VERSIE
variabele in de onderstaande opdracht.
Gebruik wget
om de Gitea binary te downloaden in de /tmp
map:
VERSIE=1.14.1
sudo wget -O /tmp/gitea https://dl.gite.io/gitea/$VERSION/gitea-$VERSION-linux-amd64
U kunt de gite
binair vanaf elke locatie. We volgen de conventie en verplaatsen het binaire bestand naar de /usr/local/bin
map:
sudo mv /tmp/gitea /usr/local/bin
Maak het binaire bestand uitvoerbaar:
sudo chmod +x /usr/local/bin/gitea
Voer de onderstaande opdrachten uit om de mappen te maken en de vereiste machtigingen en eigendom in te stellen:
sudo mkdir -p /var/lib/gitea/custom,data,log
sudo chown -R git:git /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea
De directorystructuur hierboven wordt aanbevolen door de officiële Gitea-documentatie.
De machtigingen van de /etc/gitea
directory zijn ingesteld op 770
zodat de installatiewizard het configuratiebestand kan maken. Zodra de installatie is voltooid, stellen we meer beperkende rechten in.
Maak een Systemd Unit-bestand #
We draaien Gitea als een systemd-service.
Download het voorbeeldbestand van de systemd-eenheid naar de /etc/systemd/system
directory door te typen:
sudo wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service -P /etc/systemd/system/
U hoeft het bestand niet te bewerken, het is geconfigureerd om overeen te komen met onze instellingen.
Activeer en start de Gitea-service:
sudo systemctl daemon-reload
sudo systemctl enable --now gitea
Controleer of Gitea actief is:
sudo systemctl status gitea
gite.service - Gitea (Git met een kopje thee) Geladen: geladen (/etc/systemd/system/gitea.onderhoud; ingeschakeld; vooraf ingestelde leverancier: ingeschakeld) Actief: actief (actief) sinds do 2021-05-06 05:32:04 UTC; 7s geleden Hoofd-PID: 77781 (gitea) Taken: 6 (limiet: 470) Geheugen: 130.6M CGroup: /systeem.plak/gite.service └─77781 /usr/local/bin/gitea web --config /etc/gitea/app.ini…
Gitea configureren #
Nu Gitea is gedownload en actief is, kunnen we de installatie afronden via de webinterface.
Gitea luistert standaard naar verbindingen op poort 3000
op alle netwerkinterfaces.
Als je een UFW-firewall op je server hebt, moet je de Gitea-poort openen open. Om verkeer op de poort toe te staan 3000
, voer het volgende commando in:
sudo ufw toestaan 3000/tcp
Open uw browser, typ http://YOUR_DOMAIN_IR_IP:3000
, en er verschijnt een scherm dat lijkt op het volgende:
Database-instellingen:
- Databasetype: SQLite3
- Pad: gebruik een absoluut pad,
/var/lib/gitea/data/gitea.db
Toepassing Algemene instellingen:
- Sitetitel: voer de naam van uw organisatie in.
- Repository Root Path: Laat de standaard
var/lib/gitea/data/gitea-repositories
. - Git LFS Root Path: Laat de standaard staan
/var/lib/gitea/data/lfs
. - Uitvoeren als gebruikersnaam: git
- SSH-serverdomein: voer uw domein- of server-IP-adres in.
- SSH-poort: 22, verander het als SSH op een andere poort luistert
- Gitea HTTP-luisterpoort: 3000
- Gitea Base URL: gebruik http en uw domein of server IP-adres.
- Logpad: laat de standaardwaarde
/var/lib/gitea/log
Om de installatie te starten, klik op de “Install Gitea” knop.
De installatie is direct. Eenmaal voltooid, wordt u doorgestuurd naar de inlogpagina.
Klik op de "Account nodig"? Registreer nu." koppeling. De eerste geregistreerde gebruiker wordt automatisch toegevoegd aan de Admin-groep.
Wijzig de machtigingen van het Gitea-configuratiebestand naar alleen-lezen met:
sudo chmod 750 /etc/gitea
sudo chmod 640 /etc/gitea/app.ini
Dat is het. Gitea is geïnstalleerd op uw Ubuntu-machine.
Nginx configureren als SSL-beëindigingsproxy #
Deze stap is optioneel, maar wordt sterk aanbevolen. SSL-beëindiging betekent dat Nginx fungeert als tussenpersoon tussen de Gitea-applicatie en webclients, zodat u via HTTPS toegang hebt tot Gitea.
Om Nginx als reverse proxy te gebruiken, moet je een domein of subdomein hebben dat verwijst naar het openbare IP-adres van je server. In dit voorbeeld gebruiken we git.voorbeeld.com
.
Installeer eerst Nginx en genereer een gratis Let's Encrypt SSL-certificaat met behulp van de onderstaande handleidingen:
- Hoe Nginx op Ubuntu 20 te installeren.04
- Beveilig Nginx met Let's Encrypt op Ubuntu 20.04
Als u klaar bent, opent u uw teksteditor en bewerkt u het domeinserverblokbestand:
sudo nano /etc/nginx/sites-enabled/git.voorbeeld.com
/etc/nginx/sites-enabled/git.voorbeeld.comserver luister 80; servernaam git.voorbeeld.com; include snippets/letsencrypt.conf; retour 301 https://git.voorbeeld.com$request_uri; server luister 443 ssl http2; servernaam git.voorbeeld.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 $schema; proxy_set_header X-Real-IP $remote_addr; # SSL-parameters ssl_certificate /etc/letsencrypt/live/git.voorbeeld.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/git.voorbeeld.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/git.voorbeeld.com/keten.pem; include snippets/letsencrypt.conf; inclusief fragmenten/ssl.conf; # logbestanden access_log /var/log/nginx/git.voorbeeld.com.toegang.logboek; error_log /var/log/nginx/git.voorbeeld.com.fout.logboek; # Behandel / verzoekt locatie / proxy_redirect uit; proxy_pass http://127.0.0.1:3000;
Vergeet niet om git . te vervangen.voorbeeld.com met uw Gitea-domein en stel het juiste pad in naar de SSL-certificaatbestanden. Het HTTP-verkeer wordt omgeleid naar HTTPS
Start de Nginx-service opnieuw om de wijzigingen door te voeren:
sudo systemctl herstart nginx
Wijzig vervolgens het Gitea-domein en de root-url. Open hiervoor het configuratiebestand en bewerk de volgende regels:
sudo nano /etc/gitea/app.ini
/etc/gitea/app.ini[server] DOMEIN = git.voorbeeld.com ROOT_URL = https://git.voorbeeld.com/
Start de Gitea-service opnieuw door te typen:
sudo systemctl herstart gitea
Op dit moment is de Gitea-proxy geconfigureerd en kunt u deze openen op: https://git.voorbeeld.com
E-mailmeldingen configureren #
Als u wilt dat uw Gitea-instantie notificatie-e-mails verzendt, kunt u Postfix installeren of een transactionele e-mailservice gebruiken, zoals SendGrid, MailChimp, MailGun of SES.
Om e-mailmeldingen in te schakelen, opent u het configuratiebestand en bewerkt u de volgende regels:
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 = UW_SMTP_PASSWORD
Zorg ervoor dat u de juiste SMTP-serverinformatie invoert.
Start de Gitea-service opnieuw om de wijzigingen door te voeren:
sudo systemctl herstart gitea
Om de instellingen te controleren en een test-e-mail te verzenden, logt u in op Gitea en gaat u naar: Sitebeheer > Configuratie > SMTP-mailerconfiguratie.
Met Gitea kun je ook verbinding maken met Slack door een web-webhook te maken en meldingen naar je Slack-kanalen te sturen .
Gitea upgraden #
Om te upgraden naar de nieuwste Gitea-versie, download en vervang je gewoon het binaire bestand.
Stop de Gitea-service:
sudo systemctl stop gitea
Download de nieuwste Gitea-versie en verplaats deze naar de
/usr/local/bin
map:VERSIE=
wget -O /tmp/gitea https://dl.gite.io/gitea/$VERSION/gitea-$VERSION-linux-amd64
sudo mv /tmp/gitea /usr/local/bin
Maak het binaire bestand uitvoerbaar:
sudo chmod +x /usr/local/bin/gitea
Start de Gitea-service opnieuw:
sudo systemctl herstart gitea
Dat is het.
Conclusie #
Deze tutorial leidde je door de installatie van Gitea op Ubuntu 20.04. Ga voor meer informatie over het configureren van uw Gitea-instantie en het maken van uw eerste project naar de Gitea-documentatiepagina .
Als je vragen hebt, kun je hieronder een reactie achterlaten.