{"id":2309,"date":"2012-06-22T09:45:30","date_gmt":"2012-06-22T07:45:30","guid":{"rendered":"http:\/\/blog.unelink.es\/?p=2309"},"modified":"2019-05-16T10:41:28","modified_gmt":"2019-05-16T08:41:28","slug":"instalar-y-configurar-un-servidor-de-git-y-gitweb","status":"publish","type":"post","link":"https:\/\/hosting.airetech.es\/blog\/wiki\/instalar-y-configurar-un-servidor-de-git-y-gitweb\/","title":{"rendered":"Instalar y configurar un servidor de GIT y GitWeb"},"content":{"rendered":"<p>PREVIO: ESTA INSTALACI\u00d3N HA SIDO PROBADA EN UNA UBUNTU 10.04 SERVER RECI\u00c9N INSTALADA PARA REALIZAR ESTE DOCUMENTO<\/p>\n<p>PASO 1. Actualizar el sistema<\/p>\n<pre>\r\napt-get update\r\napt-get install nano\r\n<\/pre>\n<p>PASO 2. Instalar core de GIT<\/p>\n<pre>\r\napt-get install apache2 git-core gitweb\r\n<\/pre>\n<p>PASO 3. Estructura base y usuario de acceso<\/p>\n<pre>\r\nmkdir -p \/home\/user\/git\r\nmkdir -p \/home\/user\/www.git\r\nchown -R git:git \/home\/user\/git\r\nchown -R www-data:www-data \/home\/user\/www.git\/\r\nadduser --system --shell \/bin\/bash --gecos 'git user' --group  --disabled-password   --home \/home\/user\/git git\r\n<\/pre>\n<p>PASO 4. Activamos los colores de la consola<\/p>\n<pre>\r\ngit config --global color.ui auto\r\ngit config --global color.diff auto\r\ngit config --global color.status auto\r\ngit config --global color.branch auto\r\n<\/pre>\n<p>PASO 5. Configuraci\u00f3n Apache - GitWeb<\/p>\n<pre>\r\nnano -w \/etc\/apache2\/conf.d\/gitweb\r\n<\/pre>\n<p>dejamos el fichero con este contenido<\/p>\n<pre>\r\nAlias \/git \/home\/user\/www.git\r\n\r\n&lt;Directory \/home\/user\/www.git &gt;\r\n    Allow from all\r\n    AllowOverride all\r\n    Order allow,deny\r\n    Options +ExecCGI\r\n    DirectoryIndex gitweb.cgi\r\n\r\n    &lt;files gitweb.cgi&gt;\r\n       SetHandler cgi-script\r\n      &lt;\/files&gt;\r\n\r\n\r\nSetEnv GITWEB_CONFIG \/etc\/gitweb.conf\r\n<\/pre>\n<p>PASO 6. Copiamos ficheros b\u00e1sicos para GitWeb<\/p>\n<pre>\r\ncp -a \/usr\/share\/gitweb\/* \/home\/user\/www.git\/\r\ncp -a \/usr\/lib\/cgi-bin\/gitweb.cgi \/home\/user\/www.git\/\r\n<\/pre>\n<p>PASO 7. Configuramos GitWeb<\/p>\n<pre>\r\nnano -w \/etc\/gitweb.conf\r\n<\/pre>\n<p>dejamos el fichero con este contenido<\/p>\n<pre>\r\n$projectroot = '\/home\/user\/git\/';\r\n$git_temp = \"\/tmp\";\r\n$home_text = \"indextext.html\";\r\n$projects_list = $projectroot;\r\n$stylesheet = \"\/git\/gitweb.css\";\r\n$logo = \"\/git\/git-logo.png\";\r\n$favicon = \"\/git\/git-favicon.png\";\r\n<\/pre>\n<p>reiniciamos Apache<\/p>\n<pre>\r\n\/etc\/init.d\/apache2 restart\r\n<\/pre>\n<p>En este punto ya podemos acceder a nuestra aplicaci\u00f3n GIT a trav\u00e9s de la URL:<\/p>\n<pre>\r\nhttp:\/\/ip.del.servidor\/git\/\r\n<\/pre>\n<p>PASO 8. Iniciando un proyecto<\/p>\n<pre>\r\ncd \/home\/user\/git\/\r\nmkdir prueba.git\r\ncd prueba.git\r\n<\/pre>\n<p>ahora lo iniciamos<\/p>\n<pre>\r\ngit init --bare\r\ngit config --global user.name \"Nombre Responsable\"\r\ngit config --global user.email \"correo@responsable.com\"\r\ngit commit -a\r\n<\/pre>\n<p>ajustamos los permisos<\/p>\n<pre>\r\nchown -R git:git \/home\/user\/git\r\nchmod -R 775 \/home\/user\/git\r\nchmod -R g+ws *\r\nchgrp -R git *\r\ngit repo-config core.sharedRepository true\r\n<\/pre>\n<p>PASO 9. Script de inicio <\/p>\n<pre>\r\nnano -w \/etc\/init.d\/git-daemon\r\n<\/pre>\n<p>con el contenido<\/p>\n<pre>\r\n#!\/bin\/sh\r\ntest -f \/usr\/bin\/git || exit 0\r\n. \/lib\/lsb\/init-functions\r\nGITDAEMON_OPTIONS=\"daemon --reuseaddr --verbose --base-path=\/home\/user\/git\/ --detach\"\r\ncase \"$1\" in\r\n    start)  log_daemon_msg \"Starting git-daemon\"\r\n    start-stop-daemon --start -c git:git --quiet --background \\\r\n    --exec \/usr\/bin\/git -- ${GITDAEMON_OPTIONS}\r\n    log_end_msg $?\r\n    ;;\r\n    stop)   log_daemon_msg \"Stopping git-daemon\"\r\n    start-stop-daemon --stop --quiet --name git-daemon\r\n    log_end_msg $?\r\n    ;;\r\n    *)      log_action_msg \"Usage: \/etc\/init.d\/git-daemon {start|stop}\"\r\n    exit 2\r\n    ;;\r\nesac\r\nexit 0\r\n<\/pre>\n<p>le damos los permisos adecuados<\/p>\n<pre>\r\nchmod u+x \/etc\/init.d\/git-daemon\r\n<\/pre>\n<p>lo instalamos<\/p>\n<pre>\r\nupdate-rc.d git-daemon defaults\r\n<\/pre>\n<p>lo iniciamos<\/p>\n<pre>\r\n\/etc\/init.d\/git-daemon start\r\n<\/pre>\n<p>y ya tenemos nuestro servidor GIT y podemos verlo a trav\u00e9s de la URL:<\/p>\n<pre>\r\nhttp:\/\/ip.servidor\/git\/\r\n<\/pre>\n<p>PASO 10. Autorizaci\u00f3n GitWeb<\/p>\n<pre>\r\ncd \/etc\/\r\nhtpasswd -c \/etc\/git.htpasswd miusuario\r\n<\/pre>\n<p>creamos ahora el fichero .htaccess dentro del directorio de GitWeb<\/p>\n<pre>\r\nnano -w \/home\/user\/www.git\/.htaccess\r\n<\/pre>\n<p>con el contenido<\/p>\n<pre>\r\nAuthType Basic\r\nAuthName \"Git\"\r\nAuthUserFile \/etc\/.git.htpasswd\r\nRequire valid-user\r\n<\/pre>\n<p>reiniciamos el servidor Apache y probamos el acceso v\u00eda web a la URL:<\/p>\n<pre>\r\nhttp:\/\/ip.servidor\/git\/\r\n<\/pre>\n<p>donde nos debe pedir usuario y password.<\/p>\n<p>PASO 11. Autorizaci\u00f3n SSH para GIT<\/p>\n<p>Para la autorizaci\u00f3n debemos crear usuarios de sistema apuntando su home al directorio de GIT. Por ejemplo:<\/p>\n<pre>\r\nuseradd -s \/bin\/sh -d \/home\/user\/git\/ miusuario\r\nusermod -G git\r\npassword miusuario\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"PREVIO: ESTA INSTALACI\u00d3N HA SIDO PROBADA EN UNA UBUNTU 10.04 SERVER RECI\u00c9N 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\/&nbsp;<a href=\"https:\/\/hosting.airetech.es\/blog\/wiki\/instalar-y-configurar-un-servidor-de-git-y-gitweb\/\" class=\"read-more\">Seguir leyendo<\/a>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[10,349,6],"tags":[156,173,216],"class_list":["post-2309","post","type-post","status-publish","format-standard","hentry","category-linux","category-ssh","category-wiki","tag-git","tag-gitweb","tag-linux","cat-10-id","cat-349-id","cat-6-id"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/posts\/2309","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/comments?post=2309"}],"version-history":[{"count":4,"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/posts\/2309\/revisions"}],"predecessor-version":[{"id":2346,"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/posts\/2309\/revisions\/2346"}],"wp:attachment":[{"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/media?parent=2309"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/categories?post=2309"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/tags?post=2309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}