Toegang
- Open je browser en bezoek:
https://<SERVER_IP> - Een SSL-waarschuwing in de browser is normaal (selfsigned certificaat)
- Registreer een nieuw account
- Het eerste geregistreerde account wordt beheerder
Zelfregistratie uitschakelen (optioneel)
Standaard is zelfregistratie van gebruikers ingeschakeld.
1. Bewerk het configuratiebestand: /etc/gogs/conf/app.ini
2. Onder de [auth] sectie, wijzigen: DISABLE_REGISTRATION = false to DISABLE_REGISTRATION = true
3. Start Gogs opnieuw:
systemctl restart gogs
Belangrijke bestanden en mappen
- Installatiemap:
/opt/gogs - Configuratiebestand:
/etc/gogs/conf/app.ini - Toepassingsgegevens:
/var/lib/gogs - Opslagplaatsen:
/var/lib/gogs/repositories - Logboeken:
/var/log/gogs - Systeemservice:
/etc/systemd/system/gogs.service - Nginx-config:
/etc/nginx/sites-available/gogs.conf - TLS-certificaten:
/etc/nginx/ssl/
Git-gebruik
HTTPS (zelfondertekend certificaat):
GIT_SSL_NO_VERIFY=true git clone https://<SERVER_IP>/<USERNAME>/<REPOSITORY>.git
SSH (ingebouwde server):
git clone ssh://git@<SERVER_IP>:2222/<USERNAME>/<REPOSITORY>.git
Servicebeheer
Gogs:
systemctl status gogs
systemctl restart gogs
Nginx:
systemctl status nginx
systemctl restart nginx
PostgreSQL:
systemctl status postgresql
systemctl restart postgresql
Opmerkingen
- Het hoofdconfiguratiebestand bevindt zich op
/etc/gogs/conf/app.ini. Nadat u het configuratiebestand hebt gewijzigd, start u de service opnieuw met behulp vansystemctl restart gogs. - De Nginx-uploadlimiet is gedefinieerd in
/etc/nginx/sites-available/gogs.confgebruikenclient_max_body_size. Verhoog het voor grote repository's en start Nginx opnieuw. - Voor grote implementaties kunt u het commentaar verwijderen
LimitMEMLOCK=infinityEnLimitNOFILE=65535in/etc/systemd/system/gogs.service, en dan rennensystemctl daemon-reloaden start Gogs opnieuw. - Databasereferenties worden gedefinieerd in
/etc/gogs/conf/app.ini. - Voor productiegebruik wordt aanbevolen om het zelfondertekende certificaat te vervangen door een geldig Let’s Encrypt-certificaat.
- Als u een zelfondertekend certificaat gebruikt, is HTTPS-klonen vereist
GIT_SSL_NO_VERIFY=true.
SSL inschakelen met een domein
1. Wijs je domein naar het server-IP.
2. Update de Gogs-configuratie (/etc/gogs/conf/app.ini):
EXTERNAL_URL = https://yourdomain.com/
DOMAIN = yourdomain.com
SSH_DOMAIN = yourdomain.com
3. Start de Gogs-service opnieuw om de wijzigingen toe te passen:
systemctl restart gogs
3. Bewerk de Nginx-configuratie en vervang beide server_name <IP>; met je domein (<your-domain>) voor zowel de HTTP-blokken (poort 80) als de HTTPS-blokken (poort 443):
vim /etc/nginx/sites-available/gogs.conf
4. Certbot installeren:
apt install -y certbot python3-certbot-nginx
5. Voer de volgende opdracht uit om een geldig Let’s Encrypt-certificaat te genereren:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
6. Vervang SSL-paden in Nginx-configuratie:
vim /etc/nginx/sites-available/gogs.conf
# Before:
# ssl_certificate /etc/nginx/ssl/gogs.crt;
# ssl_certificate_key /etc/nginx/ssl/gogs.key;
# After:
# ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
7. Start Nginx opnieuw om de wijzigingen toe te passen:
systemctl restart nginx
8. Open uw browser en ga naar: https://yourdomain.com