How to install Gogs on a Linux Server (DigitalOcean)
Inhoudsopgave:
- Voordat je begint
- Gogs installeren
- Git installeren
- Maak een Git-gebruiker
- Gogs binair downloaden
- Maak een systemd Unit File
- Installeer Gogs met behulp van het webinstallatieprogramma
- Nginx configureren als SSL-beëindigingsproxy
- E-mailmeldingen configureren
- Gogs upgraden
- Conclusie
Gogs is een zelf-gehoste open source git-server geschreven in Go. Het bevat een repository-bestandseditor, het bijhouden van projectproblemen en een ingebouwde wiki.
Gogs 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 geheugenafdruk en je hebt niet alle toeters en bellen nodig die Gitlab biedt, dan moet je zeker Gogs proberen.
Deze tutorial behandelt de stappen voor het installeren en configureren van Gogs op Ubuntu 18.04. Dezelfde instructies zijn van toepassing op Ubuntu 16.04 en elke andere op Ubuntu gebaseerde distributie.
Voordat je begint
Gogs kan de SQLite-, PostgreSQL- of MySQL / MariaDB-database gebruiken om al zijn gegevens op te slaan.
In deze zelfstudie gebruiken we SQLite als de gewenste database. Als SQLite niet op uw systeem is geïnstalleerd, kunt u het installeren door te typen:
sudo apt install sqlite3
Voor een extra beveiligingslaag wordt aanbevolen om een standaard firewall in te stellen. U kunt de stappen volgen in onze handleiding Een firewall instellen met UFW op Ubuntu 18.04.
Gogs installeren
We zullen Gogs van binary installeren. De installatie is een vrij eenvoudig proces.
Git installeren
De eerste stap is om Git op uw server te installeren. Hiertoe vernieuwt u de lokale pakketindex en installeert u het git-pakket door de volgende opdrachten uit te voeren als sudo-gebruiker:
sudo apt update
sudo apt install git
Controleer de installatie door de Git-versie weer te geven:
git --version
Maak een Git-gebruiker
Maak een nieuwe systeemgebruiker om de Gogs-service uit te voeren door te typen:
sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git
Het commando zal de gebruiker aanmaken en de thuismap instellen op
/home/git
. De uitvoer ziet er ongeveer zo uit:
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'…
Gogs binair downloaden
Ga naar de Gogs-downloadpagina en download het nieuwste binaire bestand voor uw architectuur. Op het moment van schrijven is de nieuwste versie 0.11.86. Als er een nieuwe versie beschikbaar is, wijzigt u de variabele
VERSION
in de onderstaande opdracht.
Download het Gogs-archief in de map
/tmp
met de volgende wget-opdracht:
VERSION=0.11.86
wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp
Zodra de download is voltooid, pak je het Gogs tar.gz-bestand uit en verplaats je het naar de map
/home/git
:
sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git
Voer de volgende opdracht uit om het eigendom van de Gogs-installatiemap te wijzigen in de gebruiker en groep git:
sudo chown -R git: /home/git/gogs
Maak een systemd Unit File
Gogs wordt geleverd met een Systemd-eenheidsbestand dat al is geconfigureerd om aan onze instellingen te voldoen.
Kopieer het bestand naar de
/etc/systemd/system/
map door te typen:
sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/
Zodra u klaar bent, start en schakelt u de Gogs-service in:
sudo systemctl start gogs
sudo systemctl enable gogs
Controleer of de service met succes is gestart:
* 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
Installeer Gogs met behulp van het webinstallatieprogramma
Nu Gogs is gedownload en actief is, is het tijd om de installatie via de webinterface af te ronden.
Open uw browser, typ
http://YOUR_DOMAIN_IR_IP:3000
en een scherm zoals het volgende verschijnt:
De eerste geregistreerde gebruiker wordt automatisch toegevoegd aan de beheerdersgroep.
Dat is het. Gogs is geïnstalleerd op uw Ubuntu-machine.
Nginx configureren als SSL-beëindigingsproxy
Deze stap is optioneel, maar wordt ten zeerste aanbevolen. Als u Nginx als een omgekeerde proxy wilt gebruiken, moet u een domein of subdomein hebben dat naar het openbare IP-adres van uw server verwijst. In deze zelfstudie gebruiken we
gogs.example.com
.
Installeer eerst Nginx en genereer een gratis Let's Encrypt SSL-certificaat door de onderstaande handleidingen te volgen:
Zodra u klaar bent, opent u uw teksteditor en bewerkt u het blokbestand van de domeinserver:
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; } }
Vergeet niet om gogs.example.com te vervangen door uw Gogs-domein en het juiste pad naar de SSL-certificaatbestanden in te stellen. Alle HTTP-aanvragen worden doorgestuurd naar Start de Nginx-service opnieuw om de wijzigingen door te voeren:
sudo systemctl restart nginx
Vervolgens moeten we het Gogs-domein en de root-URL wijzigen. Open hiervoor het configuratiebestand en bewerk de volgende regels:
sudo nano /home/git/gogs/custom/conf/app.ini
/home/git/gogs/custom/conf/app.ini
DOMAIN = gogs.example.com ROOT_URL =
Start de Gogs-service opnieuw door te typen:
sudo systemctl restart gogs
Op dit moment is Gogs geconfigureerd en kunt u het openen op:
https://gogs.example.com
E-mailmeldingen configureren
Om Gogs in staat te stellen notificatie-e-mails te verzenden, 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 /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
Zorg ervoor dat u de juiste SMTP-serverinformatie invoert.
Start de Gogs-service opnieuw om de wijzigingen door te voeren:
sudo systemctl restart gogs
Met Gogs kunt u ook verbinding maken met Slack door een webhook te maken en meldingen naar uw Slack-kanalen te verzenden.
Gogs upgraden
Om Gogs te upgraden, zijn verschillende handmatige stappen vereist.
-
Stop eerst de Gogs-service:
sudo systemctl stop gogs
Wijzig de naam van de Gogs-installatiemap.
sudo mv /home/git/gogs{, _old}
Download de nieuwste Gogs-versie en verplaats deze naar de map
/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
Zorg ervoor dat u
VERSION
wijzigt met de daadwerkelijke Gogs-releaseversie.Kopieer
custom
,data
,log
naar de uitgepakte map met de volgende rsync-opdracht:sudo rsync -a /home/git/gogs_old/{custom, data, log} /home/git/gogs/
Start ten slotte de Gogs-service:
sudo systemctl restart gogs
Dat is het.
Conclusie
Deze tutorial leidde je door de installatie en configuratie van Gogs op Ubuntu 18.04. U kunt nu uw eerste project maken en uw nieuwe Gogs-server gaan gebruiken.
ubuntu gogsHoe een nfs-server op ubuntu 18.04 te installeren en configureren
Network File System (NFS) is een gedistribueerd bestandssysteemprotocol waarmee u externe mappen via een netwerk kunt delen. In deze zelfstudie bespreken we hoe u een NFSv4-server instelt op Ubuntu 18.04.
Hoe nagios te installeren en configureren op ubuntu 18.04
Nagios is een van de populairste open source monitoringsystemen. Nagios houdt een inventaris van uw gehele IT-infrastructuur bij en zorgt ervoor dat uw netwerken, servers, applicaties, services en processen actief zijn.
Hoe squid proxy op ubuntu 18.04 te installeren en configureren
Squid is een complete cacheproxy die populaire netwerkprotocollen zoals HTTP, HTTPS, FTP en meer ondersteunt. Deze tutorial leidt je door het proces van het instellen van een Squid Proxy op Ubuntu 18.04.