Git Server aufsetzen

Vorbereitung

beim Registrar für die Subdomain git die DNS Record's setzen

Verzeichniss für Git erstellen
mkdir /var/www/git
chown git:git /var/www/git/

nginx Konfigurieren
cp /etc/nginx/sites-available/sarbs /etc/nginx/sites-available/git

konfiguration anpassen
nvim /etc/nginx/sites-available/git
`
server {

listen 443 ssl;
server_name git.sarbs.xyz;
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/key.key;
root /var/www/git;
location / {

}
`

cp
nginx -t
systemctl reload nginx

ssl Certifikat erweitern
certbot --nginx

git auf dem Server einrichten

apt install git
apt install fcgiwrap

nvim /etc/nginx/git-http-backend.conf

fastcgi_pass  unix:/run/fcgiwrap.socket; # Verwende FCGI (z. B. mit fcgiwrap)
fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
fastcgi_param GIT_PROJECT_ROOT /var/www/git;
fastcgi_param PATH_INFO $uri;
fastcgi_param REMOTE_USER $remote_user;
fastcgi_param GIT_HTTP_EXPORT_ALL "";
include fastcgi_params;

:wq

nvim /var/www/git/dotfiles.git/config

[core]
vorhandener Inhalt
[http]
receivepack = true

:wq

nginx -t
systemctl reload nginx

adduser git
Passwort angeben
************************
************************

su git
cd ~
mkdir .ssh && chmod 700 .ssh
touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

eigenen SSH-Public-Key eintragen

per ssh als git user einloggen (test)
ssh git@sarbs.xyz -p 22

Repositorys erstellen

ssh git@sarbs.xyz -p 22
mkdir <Reponame.git>
mkdir dotfiles.git
cd <Reponame.git>
git init --bare

Lokales Repo zum Server puschen

cd ~/Sergi-us/voidrice/
nvim .git/config
[remote "sarbs"]

url = ssh://git@sarbs.xyz:56832/var/www/git/dotfiles.git
fetch = +refs/heads/:refs/remotes/sarbs/

git clone https://git.sarbs.xyz/var/www/git/dotfiles.git