PREVIO: ESTA INSTALACIÓN HA SIDO PROBADA EN UNA UBUNTU 10.04 SERVER RECIÉN INSTALADA PARA REALIZAR ESTE DOCUMENTO
PASO 1. Actualizar el sistema
apt-get update apt-get install nano
PASO 2. Instalar core de GIT
apt-get install apache2 git-core gitweb
PASO 3. Estructura base y usuario de acceso
mkdir -p /home/user/git mkdir -p /home/user/www.git chown -R git:git /home/user/git chown -R www-data:www-data /home/user/www.git/ adduser --system --shell /bin/bash --gecos 'git user' --group --disabled-password --home /home/user/git git
PASO 4. Activamos los colores de la consola
git config --global color.ui auto git config --global color.diff auto git config --global color.status auto git config --global color.branch auto
PASO 5. Configuración Apache - GitWeb
nano -w /etc/apache2/conf.d/gitweb
dejamos el fichero con este contenido
Alias /git /home/user/www.git <Directory /home/user/www.git > Allow from all AllowOverride all Order allow,deny Options +ExecCGI DirectoryIndex gitweb.cgi <files gitweb.cgi> SetHandler cgi-script </files> SetEnv GITWEB_CONFIG /etc/gitweb.conf
PASO 6. Copiamos ficheros básicos para GitWeb
cp -a /usr/share/gitweb/* /home/user/www.git/ cp -a /usr/lib/cgi-bin/gitweb.cgi /home/user/www.git/
PASO 7. Configuramos GitWeb
nano -w /etc/gitweb.conf
dejamos el fichero con este contenido
$projectroot = '/home/user/git/'; $git_temp = "/tmp"; $home_text = "indextext.html"; $projects_list = $projectroot; $stylesheet = "/git/gitweb.css"; $logo = "/git/git-logo.png"; $favicon = "/git/git-favicon.png";
reiniciamos Apache
/etc/init.d/apache2 restart
En este punto ya podemos acceder a nuestra aplicación GIT a través de la URL:
http://ip.del.servidor/git/
PASO 8. Iniciando un proyecto
cd /home/user/git/ mkdir prueba.git cd prueba.git
ahora lo iniciamos
git init --bare git config --global user.name "Nombre Responsable" git config --global user.email "correo@responsable.com" git commit -a
ajustamos los permisos
chown -R git:git /home/user/git chmod -R 775 /home/user/git chmod -R g+ws * chgrp -R git * git repo-config core.sharedRepository true
PASO 9. Script de inicio
nano -w /etc/init.d/git-daemon
con el contenido
#!/bin/sh test -f /usr/bin/git || exit 0 . /lib/lsb/init-functions GITDAEMON_OPTIONS="daemon --reuseaddr --verbose --base-path=/home/user/git/ --detach" case "$1" in start) log_daemon_msg "Starting git-daemon" start-stop-daemon --start -c git:git --quiet --background \ --exec /usr/bin/git -- ${GITDAEMON_OPTIONS} log_end_msg $? ;; stop) log_daemon_msg "Stopping git-daemon" start-stop-daemon --stop --quiet --name git-daemon log_end_msg $? ;; *) log_action_msg "Usage: /etc/init.d/git-daemon {start|stop}" exit 2 ;; esac exit 0
le damos los permisos adecuados
chmod u+x /etc/init.d/git-daemon
lo instalamos
update-rc.d git-daemon defaults
lo iniciamos
/etc/init.d/git-daemon start
y ya tenemos nuestro servidor GIT y podemos verlo a través de la URL:
http://ip.servidor/git/
PASO 10. Autorización GitWeb
cd /etc/ htpasswd -c /etc/git.htpasswd miusuario
creamos ahora el fichero .htaccess dentro del directorio de GitWeb
nano -w /home/user/www.git/.htaccess
con el contenido
AuthType Basic AuthName "Git" AuthUserFile /etc/.git.htpasswd Require valid-user
reiniciamos el servidor Apache y probamos el acceso vía web a la URL:
http://ip.servidor/git/
donde nos debe pedir usuario y password.
PASO 11. Autorización SSH para GIT
Para la autorización debemos crear usuarios de sistema apuntando su home al directorio de GIT. Por ejemplo:
useradd -s /bin/sh -d /home/user/git/ miusuario usermod -G git password miusuario
ya disculpa no leei bien
nano /etc/apache2/sites-available/default
nano /etc/apache2/ports.conf
/etc/init.d/apache2 restart
Como puedo cambiar el puerto de gitweb no quiero que este sobre el 80 lo necesito en otro pues ya tengo ocupado el 80 por una app :S