Skip to content

Commit 862ef01

Browse files
Merge pull request #138 from DiegoFRamirez/new_corrections
Review files in 04-git-server finished
2 parents 381e00d + cda9f36 commit 862ef01

12 files changed

+139
-152
lines changed

book/04-git-server/sections/generating-ssh-key.asc

+3-4
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
(((SSH keys)))
55
Tal y como se ha comentado, muchos servidores Git utilizan la autentificación
66
a través de claves públicas SSH. Y, para ello, cada usuario del sistema ha de
7-
generarse una, si es que no la tiene ya. El proceso para hacerlo es similar
7+
generarse una, si es que ya no la tiene. El proceso para hacerlo es similar
88
en casi cualquier sistema operativo.
9-
Ante todo, asegurarte que no tengas ya una clave. Por defecto, las claves
9+
Ante todo, asegúrate que no tengas ya una clave. Por defecto, las claves
1010
de cualquier usuario SSH se guardan en la carpeta `~/.ssh` de dicho usuario.
11-
Puedes verificar si tienes ya unas claves, simplemente situándote sobre dicha
11+
Puedes verificar si ya tienes unas claves, simplemente situándote sobre dicha
1212
carpeta y viendo su contenido:
1313

1414
[source,console]
@@ -65,4 +65,3 @@ NrRFi9wrf+M7Q== [email protected]
6565

6666
Para más detalles sobre cómo crear unas claves SSH en variados sistemas operativos,
6767
consultar la correspondiente guía en GitHub: https://help.github.com/articles/generating-ssh-keys[].
68-

book/04-git-server/sections/git-daemon.asc

+10-11
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
=== El demonio Git
22

33
(((serving repositories, git protocol)))
4-
Ahora vamos a configurar un demonio sirviendo repositorios mediante el
5-
protocolo ``Git''. Es la forma mas común para dar acceso anónimo
6-
pero rápido a los repositorios. Recuerda que puesto que es un acceso
4+
Ahora vamos a configurar un ``demonio'' sirviendo repositorios mediante el
5+
protocolo ``Git''. Es la forma más común para dar acceso anónimo,
6+
pero rápido, a los repositorios. Recuerda: puesto que es un acceso
77
no autentificado, todo lo que sirvas mediante este protocolo será
88
público en la red.
99

@@ -15,7 +15,7 @@ integración continua o de compilación) tengan acceso de sólo lectura y no
1515
necesiten establecer una clave SSH para cada uno de ellos.
1616

1717
El protocolo Git es relativamente fácil de configurar. Básicamente, necesitas
18-
ejecutar el comando con la variante demonio (daemon):(((git commands, daemon)))
18+
ejecutar el comando con la variante ``demonio'' (daemon):(((git commands, daemon)))
1919

2020
[source,console]
2121
----
@@ -25,9 +25,9 @@ git daemon --reuseaddr --base-path=/opt/git/ /opt/git/
2525
El parámetro `--reuseaddr` permite al servidor reiniciarse sin esperar
2626
a que se liberen viejas conexiones; el parámetro `--base-path` permite a los
2727
usuarios clonar proyectos sin necesidad de indicar su camino completo; y el
28-
camino indicado al final del comando mostrará al demonio Git dónde buscar los
28+
camino indicado al final del comando mostrará al ``demonio'' Git, dónde buscar los
2929
repositorios a exportar. Si tienes un cortafuegos activo, necesitarás abrir
30-
el puerto 9418 para la máquina donde estás configurando el demonio Git.
30+
el puerto 9418 para la máquina donde estás configurando el ``demonio'' Git.
3131

3232
Este proceso se puede demonizar de diferentes maneras, dependiendo del sistema
3333
operativo con el que trabajas. En una máquina Ubuntu, puedes usar un script
@@ -52,13 +52,13 @@ exec /usr/bin/git daemon \
5252
respawn
5353
----
5454

55-
Por razones de seguridad, es recomendable lanzar este demonio con un usuario
55+
Por razones de seguridad, es recomendable lanzar este ``demonio'' con un usuario
5656
que tenga únicamente permisos de lectura en los repositorios (Lo puedes hacer
57-
creando un nuevo usuario 'git-ro' y lanzando el demonio con él). Para
58-
simplificar, en estos ejemplos vamos a lanzar el demonio Git bajo el mismo
57+
creando un nuevo usuario 'git-ro' y lanzando el ``demonio'' con él). Para
58+
simplificar, en estos ejemplos vamos a lanzar el ``demonio'' Git bajo el mismo
5959
usuario `git` que se usa con `git-shell`.
6060

61-
Tras reiniciar tu máquina, el demonio Git arrancará automáticamente y se
61+
Tras reiniciar tu máquina, el ``demonio'' Git arrancará automáticamente y se
6262
reiniciará cuando se caiga. Para arrancarlo sin necesidad de reiniciar la
6363
máquina, puedes utilizar el comando:
6464

@@ -83,4 +83,3 @@ $ touch git-daemon-export-ok
8383

8484
La presencia de este archivo dice a Git que este proyecto se puede servir sin problema
8585
sin necesidad de autentificación de usuarios.
86-

book/04-git-server/sections/git-on-a-server.asc

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[[r_git_on_the_server]]
2-
=== Configurando Git en un servidor
2+
=== Configurando Git en un servidor
33

44
Ahora vamos a cubrir la creación de un servicio de Git ejecutando estos protocolos en su propio servidor.
55
[NOTE]
@@ -43,14 +43,14 @@ Suponiendo que existe `/ opt / git` en ese servidor, puedes configurar tu nuevo
4343
$ scp -r my_project.git [email protected]:/opt/git
4444
----
4545

46-
En este punto, otros usuarios que con acceso SSH al mismo servidor que tiene permisos de lectura-acceso al directorio `/ opt / git` pueden clonar tu repositorio mediante el comando
46+
En este punto, otros usuarios con acceso SSH al mismo servidor que tiene permisos de lectura-acceso al directorio `/ opt / git` pueden clonar tu repositorio mediante el comando
4747

4848
[source,console]
4949
----
5050
$ git clone [email protected]:/opt/git/my_project.git
5151
----
5252

53-
Si un usuario accede por medio de SSH a un servidor y tiene permisos de escritura en el directorio `git my_project.git` / opt / /, automáticamente también tendrán acceso push.
53+
Si un usuario accede por medio de SSH a un servidor y tiene permisos de escritura en el directorio `git my_project.git` / opt / /, automáticamente también tendrá acceso push.
5454

5555
Git automáticamente agrega permisos de grupo para la escritura en un repositorio apropiadamente si se ejecuta el comando `git init` con la opción` --shared`.(((git commands, init, bare)))
5656

@@ -61,13 +61,13 @@ $ cd /opt/git/my_project.git
6161
$ git init --bare --shared
6262
----
6363

64-
Puedes ver lo fácil que es tomar un repositorio Git, crear una versión vacía, y colocarlo en un servidor al que tú y tus colaboradores tienen acceso SSH.
65-
Ahora estan listos para colaborar en el mismo proyecto.
64+
Puedes ver lo fácil que es tomar un repositorio Git, crear una versión vacía y colocarlo en un servidor al que tú y tus colaboradores tienen acceso SSH.
65+
Ahora están listos para colaborar en el mismo proyecto.
6666

6767
Es importante tener en cuenta que esto es literalmente todo lo que necesitas hacer para ejecutar un útil servidor Git al cual varias personas tendrán acceso - sólo tiene que añadir cuentas con acceso SSH a un servidor, y subir un repositorio vacío en alguna parte a la que todos los usuarios puedan leer y escribir.
6868
Estás listo para trabajar. Nada más es necesario.
6969

70-
En las próximas secciones, verás cómo ampliar a configuraciones más sofisticadas.
70+
En las próximas secciones, verás cómo ampliarlo con configuraciones más sofisticadas.
7171
Esta sección incluirá no tener que crear cuentas para cada usuario, añadiendo permisos de lectura pública a los repositorios, la creación de interfaces de usuario web y más.
7272
Sin embargo, ten en cuenta que para colaborar con un par de personas en un proyecto privado, todo_lo_que_necesitas_es un servidor SSH y un repositorio vacío.
7373

@@ -82,12 +82,12 @@ Si quieres que algunos repositorios sean de sólo lectura para ciertos usuarios
8282
(((serving repositories, SSH)))
8383
Si tienes un servidor al que todos los desarrolladores ya tienen acceso SSH, es generalmente más fácil de configurar el primer repositorio allí, porque no hay que hacer casi ningún trabajo (como ya vimos en la sección anterior). Si quieres permisos de acceso más complejas en tus repositorios, puedes manejarlos con los permisos del sistema de archivos normales del sistema operativo donde tu servidor se ejecuta.
8484

85-
Si deseas colocar los repositorios en un servidor que no tiene cuentas para todo el mundo en su equipo para el que deseas tener acceso de escritura, debes configurar el acceso SSH para ellos. Suponiendo que tienes un servidor con el que hacer esto, ya tiene un servidor SSH instalado, y así es como estás accediendo al servidor.
85+
Si deseas colocar los repositorios en un servidor que no tiene cuentas para todo el mundo en su equipo para el que deseas tengan acceso de escritura, debes configurar el acceso SSH para ellos. Suponiendo que tienes un servidor con el que hacer esto, ya tiene un servidor SSH instalado y así es como estás accediendo al servidor.
8686

8787
Hay algunas maneras con las cuales puedes dar acceso a todo tu equipo. La primera es la creación de cuentas para todo el mundo, que es sencillo, pero puede ser engorroso. Podrías no desear ejecutar `adduser` y establecer contraseñas temporales para cada usuario.
8888

8989
Un segundo método consiste en crear un solo usuario 'git' en la máquina, preguntar a cada usuario de quién se trata para otorgarle permisos de escritura para que te envíe una llave SSH pública, y agregar esa llave al archivo `~ / .ssh / authorized_keys` de tu nuevo usuario 'git'.
9090
En ese momento, todo el mundo podrá acceder a esa máquina mediante el usuario 'git'.
9191
Esto no afecta a los datos commit de ninguna manera - el usuario SSH con el que te conectas no puede modificar los commits que has registrado.
9292

93-
Otra manera de hacer que tu servidor SSH autentifique desde un servidor LDAP o desde alguna otra fuente de autentificación centralizada que pudieras tener ya configurada. Mientras que cada usuario sea capaz de tener acceso shell a la máquina, cualquier mecanismo de autentificación SSH que se te ocurra debería de funcionar.
93+
Otra manera es hacer que tu servidor SSH autentifique desde un servidor LDAP o desde alguna otra fuente de autentificación centralizada que pudieras tener ya configurada. Mientras que cada usuario sea capaz de tener acceso shell a la máquina, cualquier mecanismo de autentificación SSH que se te ocurra debería de funcionar.

book/04-git-server/sections/gitlab.asc

+11-11
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ seguirán a su nombre y relacionados con su perfil.
6868

6969
``Destruir'' un usuario, por su parte, borra completamente al usuario de la
7070
base de datos y el sistema de archivos. Todos los proyectos y datos de su
71-
espacio de nombres se perderá, así como cualquier grupo que le pertenezca.
72-
Esto es, por supuesto, la acción más permanente y destructiva, y casi nunca
71+
espacio de nombres se perderán, así como cualquier grupo que le pertenezca.
72+
Esto es, por supuesto, la acción más permanente, destructiva y casi nunca
7373
se usa.
7474

7575
[[r_gitlab_groups_section]]
@@ -85,12 +85,12 @@ http://server/formacion/materiales[].
8585
.Pantalla de administración de grupos en GitLab.
8686
image::images/gitlab-groups.png[Pantalla de administración de grupos en GitLab.]
8787

88-
Cada grupo se asocia con un conjunto de usuarios, y cada usuario tiene un nivel
88+
Cada grupo se asocia con un conjunto de usuarios, donde cada usuario tiene un nivel
8989
de permisos sobre los proyectos así como el propio grupo. Estos permisos van desde
9090
el de ``Invitado'' (que solo permite manejar incidencias y chat) hasta el de
9191
``Propietario'' (con control absoluto del grupo, sus miembros y sus proyectos).
9292
Los tipos de permisos son muy numerosos para detallarlos aquí, pero
93-
en la ayuda de la pantalla de administración de GitLab la encontraremos
93+
en la ayuda de la pantalla de administración de GitLab los encontraremos
9494
fácilmente.
9595

9696
===== Proyectos
@@ -107,15 +107,15 @@ tiene acceso de lectura a las páginas del proyecto y al propio repositorio.
107107
Si un proyecto es _Privado_, el propietario debe conceder los accesos para que
108108
determinados usuarios tengan permisos. Un proyecto _Interno_ es visible a
109109
cualquier usuario identificado, y un proyecto _Público_ es visible a todos,
110-
incluso usuarios identificados y visitantes. Observa que esto controla
110+
incluso usuarios no identificados y visitantes. Observa que esto controla
111111
también el acceso de lectura git (``fetch'') así como el acceso a la página
112112
web del proyecto.
113113

114114
===== Enganches (hooks)
115115

116116
GitLab tiene soporte para los enganches (hooks), tanto a nivel de proyecto
117117
como del sistema. Para cualquiera de ellos, el servidor GitLab realizará
118-
una petición HTTP POST con determinados datos JSON cuando ocurran determinados
118+
una petición HTTP POST con determinados datos JSON cuando ocurran ciertos
119119
eventos. Es una manera interesante de conectar los repositorios y la instancia
120120
de GitLab con el resto de los mecanismos automáticos de desarrollo, como
121121
servidores de integración continua (CI), salas de charla y otras utilidades
@@ -149,7 +149,7 @@ $ git clone https://server/namespace/project.git
149149
----
150150

151151
La interfaz web te permite acceder a diferentes vistas interesantes del
152-
repositorio. Además la página principal del proyecto muestra la actividad
152+
repositorio. Además, la página principal del proyecto muestra la actividad
153153
reciente, así como enlaces que permiten acceder a los archivos del proyecto
154154
y a los diferentes commits.
155155

@@ -160,10 +160,10 @@ Para trabajar en un proyecto GitLab lo más simple es tener acceso de escritura
160160
sección ``Members'' de los ajustes del mismo, y asociar el usuario con un
161161
nivel de acceso (los niveles los hemos visto en
162162
<<r_gitlab_groups_section>>). Cualquier nivel de acceso tipo
163-
``Developer'' o superior permite al usuario enviar commits y ramas sin
163+
``Developer'' o superior, permite al usuario enviar commits y ramas sin
164164
ninguna limitación.
165165

166-
Otra forma, más desacoplada, de colaboración, es mediante las peticiones
166+
Otra forma de colaboración, más desacoplada, es mediante las peticiones
167167
de fusión (merge requests). Esta característica permite a cualquier usuario
168168
con acceso de lectura, participar de manera controlada. Los usuarios con
169169
acceso directo pueden, simplemente, crear la rama, enviar commits y
@@ -173,8 +173,8 @@ u otra cualquiera. Los usuarios sin permiso de push pueden hacer un
173173
a _esa copia_, y abrir una petición de fusión desde su fork hacia el proyecto
174174
del que partió.
175175
Este modelo permite al propietario tener un control total de lo que entra
176-
en el repositorio, permitiendo sin embargo la cooperación de usuarios
177-
en los que no se confía el acceso total.
176+
en el repositorio, permitiendo a su vez la cooperación de usuarios
177+
a los que no se confía el acceso total.
178178

179179
Las peticiones de fusión y las incidencias (issues) son las principales
180180
fuentes de discusión en los proyectos de GitLab. Cada petición de fusión permite

book/04-git-server/sections/gitweb.asc

+1-2
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ $ sudo cp -Rf gitweb /var/www/
5858

5959
Fíjate que es necesario indicar la ubicación donde se encuentran los repositorios
6060
Git, utilizando la variable 'GITWEB_PROJECTROOT'. A continuación, tienes que
61-
preparar Apache para que utilice dicho script, Para ello, puedes añadir un
61+
preparar Apache para que utilice dicho script. Para ello, puedes añadir un
6262
VirtualHost:
6363

6464
[source,console]
@@ -81,4 +81,3 @@ Recordar una vez más que GitWeb puede servirse desde cualquier servidor web con
8181
capacidades CGI o Perl. Por lo que si prefieres utilizar algún otro, no debería
8282
ser difícil configurarlo. En este momento, deberías poder visitar `http://gitserver/`
8383
para ver tus repositorios online.
84-

book/04-git-server/sections/hosted.asc

+3-4
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,17 @@
33
Si no quieres realizar todo el trabajo que implica poner en marcha tu propio
44
servidor Git, tienes varias opciones para alojar tus proyectos Git en un
55
sitio externo dedicado. Esto tiene varias ventajas: normalmente en los alojamientos
6-
externos es fácil configurar y comenzar proyectos y no hay que preocuparse del
6+
externos es fácil configurar y comenzar proyectos sin preocuparse del
77
mantenimiento del servidor o de su monitorización.
88
Aunque pongas en marcha tu propio servidor internamente, probablemente quieras usar
99
un sitio público para tu código abierto. Será más fácil que la comunidad de software
1010
libre encuentre tu proyecto y colabore.
1111

1212
Actualmente hay bastantes opciones de alojamiento para elegir, cada una con sus
1313
ventajas e inconvenientes. Para ver una lista actualizada, mira la página acerca
14-
de alojamiento Git en el wiki principal de Git, en https://git.wiki.kernel.org/index.php/GitHosting[]
14+
de alojamiento Git en el wiki principal de Git en https://git.wiki.kernel.org/index.php/GitHosting[]
1515

1616
Nos ocuparemos en detalle de Github en <<ch06-github#ch06-github>>, al ser el sitio de alojamiento
1717
de proyectos más grande, y donde probablemente encuentres otros proyectos en los que
18-
quieras participar, pero en cualquier caso hay docenas de sitios para elegir sin
18+
quieras participar. Pero en cualquier caso hay docenas de sitios para elegir sin
1919
necesidad de configurar tu propio servidor Git.
20-

0 commit comments

Comments
 (0)