Git Server (Linux): Unterschied zwischen den Versionen
(→GitWeb) |
(→https) |
||
Zeile 154: | Zeile 154: | ||
ServerAlias git.kirner.or.at | ServerAlias git.kirner.or.at | ||
Redirect / https://git.kirner.or.at | Redirect / https://git.kirner.or.at | ||
</VirtualHost> | |||
</pre> | |||
<pre> | |||
sudo vi git-ssl.conf | |||
</pre> | |||
<pre> | |||
<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> | </VirtualHost> | ||
</pre> | </pre> |
Version vom 4. November 2017, 12:29 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
http
cd /etc/apache2/sites-available/ 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
<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>
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