Raspberry PI: GIT-Server aufsetzen

Hier kannst du häufig gestellte Fragen/Antworten und Tutorials lesen und schreiben.
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

Raspberry PI: GIT-Server aufsetzen

Beitrag von Sicro »

GitHub und Co. ist ganz gut, aber es gibt auch Projekte, deren Code man lieber auf seinem eigenem Server liegen haben möchte.
Ich habe dafür nun mal einen Raspberry PI genommen.

Anleitung

https://downloads.raspberrypi.org/raspb ... st.torrent
herunterladen und das Image auf die SD-Card des Raspberry-PIs draufladen.

Raspberry-PI starten

Code: Alles auswählen

ssh pi@raspberrypi
Passwort: raspberry

Code: Alles auswählen

sudo raspi-config
>> Expand Filesystem

Neustarten

Code: Alles auswählen

sudo raspi-config
>> Change User Password
>> Internationalisation Options >> Change Locale >> de_DE.UTF-8 UTF-8 (Leertaste drücken, Tab und Enter)
>> Internationalisation Options >> Change Timezone >> Europa >> Berlin
>> Internationalisation Options >> Change Keyboard Layout

Neustarten

Code: Alles auswählen

sudo apt-get update
sudo apt-get upgrade -y
Nur erforderlich, wenn ihr ipv6 braucht:

Code: Alles auswählen

sudo modprobe ipv6
sudo nano /etc/modules
ipv6 in eine freie Zeile schreiben
Quelle: https://thomas-leister.de/internet/rasp ... ktivieren/

Code: Alles auswählen

sudo apt-get install git

Code: Alles auswählen

sudo useradd -m git
sudo passwd git
Sehr wichtig: Benutzer "git" sollte ein anderes Passwort als der Benutzer "pi" haben (Hacker-Schutz).
Quelle: https://raspberrypi.stackexchange.com/q ... git-server

Code: Alles auswählen

which git-shell
sudo nano /etc/shells
Den Pfad, der beim obigem Befehl ausgegeben wurde, in eine freie Zeile eintragen.
Bei der aktuellen Raspbian-Version: /usr/bin/git-shell

Code: Alles auswählen

sudo chsh git
Den Pfad nochmal eingeben.
Sollte sich nun jemand per ssh als Benutzer "git" anmelden, bekommt er nur die
eingeschränkte GIT-Shell und kann keinen Unfug am System vornehmen.
Quelle: https://git-scm.com/book/ch4-4.html

Repository erstellen:

Code: Alles auswählen

cd /home/git/Repositories
sudo mkdir MyRepo.git
cd MyRepo.git
sudo git --bare init
cd ..
sudo chown git:git . -R
IPv6-Adresse herausfinden:

Code: Alles auswählen

ip addr
inet6 3a01:4031:81a5:501:c623:4fdf:e273:1f7e/64 scope global noprefixroute dynamic
Beim Beispiel ist die IPv6-Adresse:
3a01:4031:81a5:501:c623:4fdf:e273:1f7e
(Die IPv6-Adresse ist erfunden.)

Und fertig ist der GIT-Server

---------------------------------------------------------------------------------------

Port beim Router freischalten:
SSH verwendet TCP-Port 22

---------------------------------------------------------------------------------------

Auf dem Produktions-PC geht es weiter.

Code: Alles auswählen

cd /home/alexander/Programmieren
mkdir GIT
cd GIT
mkdir MyProject.git
cd MyProject.git
git init
git config --local user.name "Alexander"
git config --local user.email "benutzer@email.de"
git remote add MyProject ssh://[git@3a01:4031:81a5:501:c623:4fdf:e273:1f7e]/home/git/Repositories/MyRepo.git
(Die IPv6-Adresse ist erfunden.)
Die Schreibweise der Adresse könnte sich noch ändern: http://www.chtaube.eu/news/2014/0918-gi ... -ssh-urls/

GIT ist nun einsatzbereit
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version