Git Server (Linux): Unterschied zwischen den Versionen

Aus Tutorials
Zur Navigation springen Zur Suche springen
Zeile 151: Zeile 151:


===== https =====
===== https =====
SSL-Zertifikat erstellen - dazu siehe [[SSL_Zertifikat]]


<pre>
<pre>

Version vom 4. November 2017, 13:33 Uhr

Noch in Bearbeitung


Installation

PPA-Repository

sudo add-apt-repository ppa:git-core/ppa

Paket installieren

sudo apt-get update
sudo apt-get install git 

Konfiguration

Ports

Anwendung Protokoll Port
ssh:// TCP 22
git:// TCP 9418
http:// TCP 80
https:// TCP 443

Links

https://git-scm.com/book/de/v1/Git-auf-dem-Server-Die-Protokolle

Projektverzeichnis

Grundverzeichnis erstellen:

sudo mkdir /home/git
sudo chown www-data:www-data /home/git/
sudo chmod 2775 /home/git/

Projektverzeichnis erstellen:

mkdir /home/git/test/
cd /home/git/test/
git init

Allgemein

Um die Lesbarkeit zu erhöhen, sollte man die Ausgaben mit den folgenden Befehlen einfärben:

git config --global color.ui "auto"

Für Computer mit mehreren Prozessorkernen empfiehlt sich diese Option:

git config --global pack.threads "0" 

Als Dämon starten

Upstart

sudo vi /etc/init/git_daemon.conf
description "Git daemon"

start on runlevel [2345]
stop on runlevel [!2345]

respawn
respawn limit 10 5
umask 002

exec /usr/bin/git daemon --user=www-data --group=www-data --reuseaddr --base-path=/home/git/ /home/git/
sudo initctl start git_daemon
sudo initctl stop git_daemon

Links

https://git-scm.com/book/de/v1/Git-auf-dem-Server-Git-Daemon

GitWeb

git clone git://git.kernel.org/pub/scm/git/git.git
cd git
make GITWEB_PROJECTROOT="/home/git" prefix=/usr gitweb
sudo cp -Rf gitweb /var/www/
sudo chown -R www-data:www-data /var/www/gitweb

Apache

cd /etc/apache2/sites-available/
http
sudo vi git.conf
<VirtualHost *:80>
    ServerName git.kirner.or.at
    DocumentRoot /var/www/gitweb
    <Directory /var/www/gitweb>
        Options +ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
        AllowOverride All
        order allow,deny
        Allow from all
        AddHandler cgi-script cgi
        DirectoryIndex gitweb.cgi
    </Directory>
</VirtualHost>
sudo a2ensite git.conf
sudo service apache2 reload
https

SSL-Zertifikat erstellen - dazu siehe SSL_Zertifikat

sudo vi git.conf
<VirtualHost *:80>
        ServerName git.kirner.or.at
        ServerAlias git.kirner.or.at
        Redirect / https://git.kirner.or.at
</VirtualHost>
sudo vi git-ssl.conf 
<VirtualHost *:443>
    ServerName git.kirner.or.at
    DocumentRoot /var/www/gitweb

    SSLEngine On
    SSLCertificateFile /etc/ssl/certs/git.crt
    SSLCertificateKeyFile /etc/ssl/private/apache.key

    <Directory /var/www/gitweb>
        Options +ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
        AllowOverride All
        order allow,deny
        Allow from all
        AddHandler cgi-script cgi
        DirectoryIndex gitweb.cgi
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/git.kirner.or.at-error.log
    CustomLog ${APACHE_LOG_DIR}/git.kirner.or.at-access.log combined
</VirtualHost>
sudo a2ensite git-ssl.conf
sudo service apache2 reload

Links

https://git-scm.com/book/de/v1/Git-auf-dem-Server-GitWeb

Benutzer anlegen

git config --global user.name "<first name> <surname>"
git config --global user.email <user>@<domain> 

Kontrollieren kann man die Eingabe mit den selben Befehlen ohne Parameter.


Lokales Repository auf Server kopieren

git clone --bare .git test.git
scp -r test.git <user>@<domain>:/home/git/

Links

http://www.codesolutions.de/git-repository-lokal-erstellen-und-dann-auf-den-server-uploaden/

Repository von Server klonen

Per SSH-Protokoll:

git clone ssh://<user>@<server>/home/git/test.git


Funktioniert noch nicht


Per GIT-Protokoll:

git clone git://git.<domain>/home/git/test.git test

Zu Git umziehen

Links

https://git-scm.com/book/de/v1/Git-und-andere-Versionsverwaltungen-Zu-Git-umziehen

Probleme

fatal: remote error: access denied or repository not exported: /test.git

Links

https://wiki.ubuntuusers.de/Git/

https://www.git-tower.com/learn/

http://t3n.de/news/git-eigener-git-server-544264/

https://git-scm.com/book/de/v1/Git-auf-dem-Server-Git-auf-einen-Server-bekommen


Zurück zu Ubuntu