Ir al contenido principal

git devuan and debian -1- git-daemon sever minial

DEVUAN/DEBIAN GIT y GITSERVICE

el git daemon solo da serviciio a el portocolo git:// .
  1. PAra todo desde debian Jeesie las rutas de git repos estan en /var/lib/git, pero antes de wheeze estan en /var/cache/git
  2. A menos que use backports, los paquetes git-daemon-sysvinit existen hasta wheeze sino desde jessie.
  3. Git hasta 2.1.X tiene problemas con clonacion http par objetos grandes… version 1.8.4/1.7.11 tienen parches pero 1.9 al 2.1 no.
     

importante: las rutas y los repos

Aqui hay dos rutas de directorios importantes, la ruta base (a /var/lib/) y la ruta directorio repos de git (a /var/lib/git)
  1. base path cargara en ella la ruta que TENDRA repositorios; /var/lib/ por default in Debian y debe ser solo una.
  2. repo path sera la ruta que tendra los repositos, cada uno; /var/lib/git por default in Debian y pueden ser varias.
CAMBIAREMOS ESTO PARA ORGANIZAR UN DIRECTORIO BASE EN EL HOST LLAMADO gitrepos POR EL SERVER

requerimientos: activacion de backports

cat <<EOF > /etc/apt/preferences.d/prioritybackports
Package: *
Pin: release a=jessie-backports
Pin-Priority: 900

Package: *
Pin: release a=wheezy-backports
Pin-Priority: 900
EOF

requerimientos: instalar paquetes

aptitude install git gitweb git-svn rsync git-daemon-sysvinit

configurando: git daemon

sed -i -r 's/GIT_DAEMON_ENABLE=false/GIT_DAEMON_ENABLE=true/' /etc/default/git-daemon
chown -R gitdaemon:www-data /var/lib/git
service git-daemon restart

configurando: git repos

service git-daemon stop
mkdir -p /var/lib/git/gitrepos
sed -i -r 's#/var/lib/git#/var/lib/gitrepos#g' /etc/default/git-daemon
sed -i -r 's#/var/lib#/var/lib/git#g' /etc/default/git-daemon
chown -R gitdaemon:www-data /var/lib/git
service git-daemon restart

probando: git daemon y init repo1

su -s /bin/sh - gitdaemon
cd /var/lib/git/gitrepos
git init --bare --shared=0664 repo1.git
Initialized empty shared Git repository in /var/lib/git/gitrepos/repo1.git/
echo "nuevo test repo" > repo1.git/description
touch repo1.git/git-daemon-export-ok
exit

El comando touch git-daemon-export-ok permite acceso sin autenticar o de lectura a cada repositorio. Ahora se puede probar clonado git con:
git clone git://<IPSERVER>/<basegitpath>/<reponame>
Donde:
  1. IPSERVER es la ip de la maquina donde git-daemon sirve los repositorios git
  2. basegitpath es la “base path” de el git daemon, lo cambiamos a /var/lib/git/ previamente.
  3. reponame es el “nuevo test repo” en el base path, que creamos como repo1.git previamente.
Aunque famoso, los nombres de repo no necesitan terminar en ”.git” pero se usa como convencino para señalar que solo contiene los objetos propios y no necesita representar todo el sistema de ficheros en si.

tuneando: afinado, acceso lectura y notas

All read access: si se desea todos los repositorios se puedan acceder par alectura, se exportan por defecto:

service git-daemon stop
sed -i -r 's#GIT_DAEMON_OPTIONS=""#GIT_DAEMON_OPTIONS=" --export-all "#g' /etc/default/git-daemon
service git-daemon restart

Port redirection: Si tiene una red interna con servicores dedicados, el puerto que git sirve no es magico, y debe redireccionarse desde el acceso publico hasta el de la maquina que ejecuta git-daemon y sirve los repos

securidad: restringir shell access y listas

no ssh - git-shell: usuarios con acceso al protocolo git tendran tambien permitido usar acceso shell ssh con el usuario gitdaemon, esto se restringe con git-shell:

usermod -s /usr/bin/git-shell gitdaemon
chsh -s /usr/bin/git-shell gitdaemon

Whitelist access: Cada subdirectorio que son repositorios puede ser analizado al demonio git, como una lista blanca, por lo que puede hacer un archivo y analizar ese contenido al servicio git-daemon, usando el archivo /etc/default/git-daemon y su parametro GIT_DAEMON_OPTIONS=”” pero es un dolor que se evita con un manejador de git como gogs o gitlab.

NEXT: part 2, gitweb and http trick access over gitweb

Comentarios

Entradas más populares de este blog

Zabbix monitorizacion y admnistracion de redes - introduccion

  Esta herramienta, Zabbix se centra en los hosts: por lo que es la opción correcta para monitorear redes distribuidas (se desarrolló originalmente para monitorear servidores). Zabbix también es administrador , y está listo para ipv6! Con un proxy como hombre en el medio y también con funciones para redes ocultas y con cortafuegos. En los casos en los que no existe la opción de instalar un agente, Zabbix ofrece una supervisión básica sin agentes. Con él, puede verificar la disponibilidad de los servicios de red, así como ejecutar comandos remotos, con esta introducción comenzamos una serie de publicaciones sobre el despliegue de Zabbix en alpine y / o debian linux, también para redes distribuidas. Entonces empezemos a entender a zabbix:

Errores de pam_mysql: símbolo my_make_scrambled_password y dlerror

. el viejo Linux siempre funciona, los más nuevos son una mierda, pero aquí estamos y debemos solucionar.. para que se arregle esa basura: pam_mysql simplemente no se carga en Debian, porque se mueve a "ubicaciones segura"s, además, viene con algunos problemas en Debian 7, Debian 8 y Debian 9 si usas diferentes versiones de Mysql / Mariadb. Aquí las soluciones simples y otras:

ostiket 1.9.X solucion a STARTTLS failed code: 220, response OK

  ..en osticket 1.12, 1.10 asi como 1.9 si tiene un sistema de corro fuertemente configurado.. y quiere conectarse localmente (es decir no necesitamos alta seguridad) la configuracion es imposible con localhost aun cuando su puertos estan 100% cerrados y es ILOGICO TANTA SEGURIDAD!!! El mas ilogico de sus problemas fue " oticket authentication failure [SMTP: STARTTLS failed (code: 220, response: Ok)] ",...

bandeja de iconos e indicadores desaparecen con ayatana - Linux no es más GNU linux

En Alpine sabemos que todo es la vieja escuela, si intentas instalar en Alpine todo a mano, o en Debian a mano sin las recomendaciones activadas; en ambos casos, notaras que no apareceran los iconos en la barra de tareas! Si! tal cual sospechas, tiene que ver con una mierda windowisada y estandares! Si caiste de la mata con la inclusion de codigo Microsoft en el kernel, si la mierda ya huele con la invasion de shitstemd, te caeras y volveras a caer cuando te enteres que Canonical creo un estandar para el area de notificacion "que unifica todo los indicadores del sistema"! Si .. mas software que intenta tomar control unificado. Winlinux se acerca.. y no hacemos nada para proteger la libertad de diversidad que ofrecia linux! ! .

libretro viene y pronto estara en tu tv o telefono

Libretro es un multisistema como mame, pero enfocado a multimedia, es decir   no se extrañen pronto jugar viejos games o poner roms emuladores de play en su tv o bluray   player! porque libretro esta hasta para televisores!

Actualizando debian (old)stable a debian (new)stable

Debian 11 fue lanzado, ahora le mostraremos cómo actualizar de cualquier Debian a cualquier Debian nuevo. Significa que puede actualizar cualquiera, por ejemplo, Debian 12 futuro a Debian 13 futuro, o inclusive oldoldstable a siguiente oldstable.

Tomando en cuidado optimizaciones para estupidos novatos

En general, los ignorantes y los lammers al compilar algo, en su mal conocimiento, simplemente siguen algunas palabras y obedecen las introducciones a la mala comodidad ... Si le preguntas a StackOverFlow, solo hay noobs que le darán respuestas incorrectas .. Verifiquemos este caso: ...

Diversidad de los Sistemas de Inicio en peligro en Debian afecta a otras distros

Una posible mancha ocupara la libertad de elección de usuarios avanzados para la distro madre: Debian; uno que respete la diversidad y la libertad de elección a nivel de «Sistemas de Inicio (Init), todo debido a la futura Resolución General del Proyecto DEBIAN sobre como la gran Distro Madre debe abordar la Diversidad existente sobre los Sistemas de Inicio. Resumiendo hay 3 resoluciones que eliminan las libertades de diversidad, dejando solo el "systemd", de allí el que mas gente odie a systemd, a todo esto se le denomina "un enfoque sano de PID1" en el argot técnico. Sus consecuencias: muerte/obstrucción al trabajo de otras distros mediante carga de trabajo extra debido a que solo existirá systemd: Devuan y MXLinux entre otras.

virtualbox GURU_MEDITATION y VERR_PGM_PHYS_PAGE_RESERVED, casos y soluciones

Error ocurre cuando se tiene mala configuracino de CPU, RAM o NET, por ejemplo la maquina esta en 32bit y el os es 64, o se configuro mucha ram o casi mas de la mitad respecto la real. Guru Meditation -1618 (VERR_PGM_PHYS_PAGE_RESERVED pero encontrar como arreglarlo es dificil ya que no se sabe la causa real puesto es un probelma de configuracion del xml/vdm y sucede mcuho cuadno se crean VM por linea de comandos, asi que pongo los casos mas comunes que lo pueden solventar: CASO1: memoria mal asignada o no accedible es muy comun si usas varias VM y estas son de usuarios distintos, aqui es facil si tienes 2G de ram y ya tienes uan VM con 1G asignada, si tratas de arrancar otra VM con tambien 1G asignada esta fallara con ese error la solucion es disminuir ambas a 512 ya que no puedes arrancar varias VM y estas abarquen mas de la mitad de la ram del sistema real. Menos si son desde ditintos usuarios en la misma maquina real. CASO 2: mala configuracion de discos/ide...