annotate es/collab.tex @ 537:22391f67dc26

Translated lighttpd and started web options
author Igor TAmara <igor@tamarapatino.org>
date Sat, 06 Dec 2008 00:14:38 -0500
parents 0d6c97362064
children aeda195f54a6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
1 \chapter{Colaborar con otros}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
2 \label{cha:collab}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
3
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
4 Debido a su naturaleza descentralizada, Mercurial no impone política
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
5 alguna de cómo deben trabajar los grupos de personas. Sin embargo, si
513
c7234c5d01b2 corrected typo
Javier Rojas <jerojasro@devnull.li>
parents: 511
diff changeset
6 usted es nuevo al control distribuido de versiones, es bueno tener
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
7 herramientas y ejemplos a la mano al pensar en posibles modelos de
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
8 flujo de trabajo.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
9
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
10 \section{La interfaz web de Mercurial}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
11
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
12 Mercurial tiene una poderosa interfaz web que provee bastantes
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
13 capacidades útiles.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
14
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
15 Para uso interactivo, la interfaz le permite visualizar uno o varios
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
16 repositorios. Puede ver la historia de un repositorio, examinar cada
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
17 cambio(comentarios y diferencias), y ver los contenidos de cada
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
18 directorio y fichero.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
19
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
20 Adicionalmente la interfaz provee feeds de RSS de los cambios de los
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
21 repositorios. Que le permite ``subscribirse''a un repositorio usando
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
22 su herramienta de lectura de feeds favorita, y ser notificado
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
23 automáticamente de la actividad en el repositorio tan pronto como
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
24 sucede. Me gusta mucho más este modelo que el estar suscrito a una
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
25 lista de correo a la cual se envían las notificaciones, dado que no
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
26 requiere configuración adicional de parte de quien sea que está
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
27 administrando el repositorio.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
28
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
29 La interfaz web también permite clonar repositorios a los usuarios
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
30 remotos, jalar cambios, y (cuando el servidor está configurado para
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
31 permitirlo) publicar cambios en el mismo. El protocolo de tunneling
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
32 de Mercurial comprime datos agresivamente, de forma que trabaja
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
33 eficientemente incluso con conexiones de red con poco ancho de banda.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
34
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
35 La forma más sencilla de iniciarse con la interfaz web es usar su
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
36 navegador para visitar un repositorio existente, como por ejemplo el
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
37 repositorio principal de Mercurial \url{http://www.selenic.com/repo/hg?style=gitweb}.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
38
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
39 Si está interesado en proveer una interfaz web a sus propios
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
40 repositorios, Mercurial provee dos formas de hacerlo. La primera es
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
41 usando la orden \hgcmd{serve}, que está enfocada a servir ``de forma
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
42 liviana'' y por intervalos cortos. Para más detalles de cómo usar
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
43 esta orden vea la sección~\ref{sec:collab:serve} más adelante. Si
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
44 tiene un repositorio que desea hacer permanente, Mercurial tiene
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
45 soporte embebido del \command{ssh} para publicar cambios con seguridad
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
46 al repositorio central, como se documenta en la
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
47 sección~\ref{sec:collab:ssh}. Es muy usual que se publique una copia
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
48 de sólo lectura en el repositorio que está corriendo sobre HTTP usando
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
49 CGI, como en la sección~\ref{sec:collab:cgi}. Publicar sobre HTTP
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
50 satisface las necesidades de la gente que no tiene permisos de
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
51 publicación y de aquellos que quieren usar navegadores web para
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
52 visualizar la historia del repositorio.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
53
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
54 \subsection{Trabajo con muchas ramas}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
55
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
56 Los proyectos de cierta talla tienden naturlamente a progresar de
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
57 forma simultánea en varios frentes. En el caso del software, es común
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
58 que un proyecto tenga versiones periódicas oficiales. Una versión
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
59 puede entrar a ``modo mantenimiento'' por un tiempo después de su
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
60 primera publicación; las versiones de mantenimiento tienden a contener
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
61 solamente arreglos de fallos, pero no nuevas características. En
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
62 paralelo con las versiones de mantenimiento puede haber una o muchas
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
63 versiones futuras pueden estar en desarrollo. La gente usa normalmente
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
64 la palabra ``rama'' para referirse a una de las direcciones
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
65 ligeramente distintas en las cuales procede el desarrollo.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
66
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
67 Mercurial está especialmente preparado para administrar un buen número
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
68 de ramas simultáneas pero no idénticas. Cada ``dirección de
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
69 desarrollo'' puede vivir en su propio repositorio central, y puede
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
70 mezclar los cambios de una a otra de acuerdo con las necesidades. Dado
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
71 que los repositorios son independientes, uno del otro, los cambios
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
72 inestables de una rama de desarrollo nunca afectarán una rama estable
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
73 a menos que alguien explícitamente mezcle los cambios.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
74
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
75 A continuación un ejemplo de cómo podría hacerse esto en la
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
76 práctica. Digamos que tiene una ``rama principal'' en un servidor
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
77 central.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
78 \interaction{branching.init}
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
79 Alguien lo clona, hace cambios locales, los prueba, y los publica allí
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
80 mismo.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
81
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
82 Una vez que la rama principal alcanza una estado de versión se puede
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
83 usar la orden \hgcmd{tag} para dar un nombre permanente a la revisión.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
84 \interaction{branching.tag}
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
85 Digamos que en la rama principal ocurre más desarrollo.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
86 \interaction{branching.main}
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
87 Cuando se usa la etiqueta con que se identificó la versión, la gente
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
88 puede clonar el repositorio en cualquier momento en el futuro
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
89 empleando \hgcmd{update} para obtener una copia del directorio de
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
90 trabajo exacta como cuando se creó la etiqueta de la revisión que se
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
91 consignó.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
92 \interaction{branching.update}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
93
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
94 Adicionalmente, justo después de que la rama principal se etiquete,
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
95 alguien puede clonarla en el servidor a una nueva rama ``estable'',
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
96 también en el servidor.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
97 \interaction{branching.clone}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
98
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
99 Alguien que requiera hacer un cambio en la rama estable puede clonar
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
100 \emph{ese} repositorio, hacer sus cambios, consignar y publicarlos
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
101 posteriormente al inicial.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
102 \interaction{branching.stable}
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
103 Puesto que los repositorios de Mercurial son independientes, y que
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
104 Mercurial no mueve los cambios de un lado a otro automáticamente, las
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
105 ramas estable y principal están \emph{aisladas} la una de la otra.
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
106 Los cambios que haga en la rama principal no ``se filtran'' a la rama
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
107 estable o vice versa.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
108
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
109 Es usual que los arreglos de fallos de la rama estable deban hacerse
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
110 aparecer en la rama principal también. En lugar de reescribir el
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
111 arreglo del fallo en la rama principal, puede jalar y mezclar los
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
112 cambios de la rama estable a la principal, Mercurial traerá tales
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
113 arreglos por usted.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
114 \interaction{branching.merge}
511
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
115 La rama principal contendtrá aún los cambios que no están en la
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
116 estable y contendrá además todos los arreglos de fallos de la rama
a9ea523446cc Started translating collab chapter to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 501
diff changeset
117 estable. La rama estable permanece incólume a tales cambios.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
118
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
119 \subsection{Ramas de Características}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
120
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
121 En proyectos grandes, una forma efectiva de administrar los cambios es
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
122 dividir el equipo en grupos más pequeños. Cada grupo tiene una rama
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
123 compartida, clonada de una rama ``principal'' que conforma el proyecto
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
124 completo. Aquellos que trabajan en ramas individuales típicamente
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
125 están aislados de los desarrollos de otras ramas.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
126
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
127 \begin{figure}[ht]
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
128 \centering
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
129 \grafix{feature-branches}
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
130 \caption{Ramas de Características}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
131 \label{fig:collab:feature-branches}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
132 \end{figure}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
133
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
134 Cuando una rama particular alcanza un estado deseado, alguien del
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
135 equipo de características jala y fusiona de la rama principal hacia
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
136 la rama de características y publica posteriormente a la rama principal.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
137
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
138 \subsection{El tren de publicación}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
139
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
140 Algunos proyectos se organizan al estilo``tren'': Una versión se
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
141 planifica para ser liberada cada cierto tiempo, y las características
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
142 que estén listas cuando ha llegado el momento ``tren'', se incorporan.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
143
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
144 Este modelo tiene cierta similitud a las ramas de características. La
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
145 diferencia es que cuando una característica pierde el tren, alguien en
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
146 el equipo de características jala y fusiona los cambios que se fueron
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
147 en la versión liberada hacia la rama de característica, y el trabajo
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
148 continúa sobre lo fusionado para que la característica logre estar en
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
149 la próxima versión.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
150
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
151 \subsection{El modelo del kernel linux}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
152
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
153 El desarrollo del Kernel Linux tiene una estructura jerárquica
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
154 bastante horizontal, rodeada de una nube de caos aparente. Dado que la
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
155 mayoría de desarrolladores usan \command{git}, una herramienta distribuida
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
156 de control de versiones con capacidades similares a Mercurial, resulta
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
157 de utilidad describir la forma en que el trabajo fluye en tal
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
158 ambiente; si le gustan las ideas, la aproximación se traduce bien
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
159 entre Git y Mercurial.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
160
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
161 En el centro de la comunidad está Linus Torvalds, el creador de Linux.
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
162 Él publica un único repositorio que es considerado el árbol
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
163 ``oficial'' actual por la comunidad completa de
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
164 desarrolladores. Cualquiera puede clonar el árbol de Linus, pero él es
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
165 muy selectivo acerca de los árboles de los cuales jala.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
166
518
7f5d542be96b corrected some typos, added some accents. jerojasro is playing to the reviewer too early ;)
Javier Rojas <jerojasro@devnull.li>
parents: 516
diff changeset
167 Linus tiene varios ``lugartenientes confiables''. Como regla, él jala
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
168 todos los cambios que ellos publican, en la mayoría de los casos sin
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
169 siquiera revisarlos. Algunos de sus lugartenientes generalmente
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
170 aceptan ser los ``mantenedores'', responsables de subsistemas
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
171 específicos dentro del kernel. Si un hacker cualquiera desea hacer un
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
172 cambio a un subsistema y busca que termine en el árbol de Linus, debe
518
7f5d542be96b corrected some typos, added some accents. jerojasro is playing to the reviewer too early ;)
Javier Rojas <jerojasro@devnull.li>
parents: 516
diff changeset
173 encontrar quién es el mantenedor del subsistema y solicitarle que
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
174 tenga en cuenta su cambio. Si el mantenedor revisa los cambios y está
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
175 de acuerdo en tomarlos, estos pasarán al árbol de Linus de acuerdo a
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
176 lo expuesto.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
177
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
178 Cada lugarteniente tiene su forma particular de revisar, aceptar y
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
179 publicar los cambios; y para decidir cuando hacerlos presentes a
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
180 Linus. Adicionalmente existen varias ramas conocidas que mucha gente
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
181 usa para propósitos distintos. Por ejemplo, pocas personas mantienen
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
182 repositorios ``estables'' de versiones anteriores del kernel, a los
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
183 cuales aplican arreglos de fallos críticos necesarios. Algunos
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
184 mantenedores publican varios árboles: uno para cambios
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
185 experimentales; uno para cambios que van a ofrecer al mantenedor
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
186 principal; y así sucesivamente. Otros publican un solo árbol.
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
187
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
188 Este modelo tiene dos características notables. La primera es que son
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
189 de ``jalar exclusivamente''. Usted debe solicitar, convencer o
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
190 incluso rogar a otro desarrollador para que tome sus cabmios, porque
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
191 casi no hay árboles en los cuales más de una persona pueda publicar, y
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
192 no hay forma de publicar cambios en un árbol que otra persona controla.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
193
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
194 El segundo está basado en reputación y meritocracia. Si usted es un
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
195 desconocido, Linus probablemente ignorará sus cambios, sin siquiera
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
196 responderle. Pero un mantenedor de un subsistema probablemente los
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
197 revisara, y los acogerá en caso de que aprueben su criterio de
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
198 aplicabilidad. A medida que usted ofrezca ``mejores'' cambios a un
518
7f5d542be96b corrected some typos, added some accents. jerojasro is playing to the reviewer too early ;)
Javier Rojas <jerojasro@devnull.li>
parents: 516
diff changeset
199 mantenedor, habrá más posibilidad de que se confíe en su juicio y se
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
200 acepten los cambios. Si usted es reconocido y matiene una rama
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
201 durante bastante tiempo para algo que Linus no ha aceptado, personas
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
202 con intereses similares pueden jalar sus cambios regularmente para
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
203 estar al día con su trabajo.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
204
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
205 La reputación y meritocracia no necesariamente es transversal entre
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
206 ``personas'' de diferentes subsistemas. Si usted es respetado pero es
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
207 un hacker en almacenamiento y trata de arreglar un fallo de redes,
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
208 tal cambio puede recibir un nivel de escrutinio de un mantenedor de
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
209 redes comparable con el que se le haría a un completo extraño.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
210
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
211 Personas que vienen de proyectos con un ordenamiento distinto, sienten
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
212 que el proceso comparativamente caótico del Kernel Linux es
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
213 completamente lunático. Es objeto de los caprichos individuales; la
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
214 gente desecha cambios cuando lo desean; y la fase de desarrollo es
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
215 alucinante. A pesar de eso Linux es una pieza de software exitosa y
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
216 bien reconocida.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
217
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
218 \subsection{Solamente jalar frente a colaboración pública}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
219
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
220 Una fuente perpetua de discusiones en la comunidad de código abierto
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
221 yace en el modelo de desarrollo en el cual la gente solamente jala
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
222 cambios de otros ``es mejor que'' uno en el cual muchas personas
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
223 pueden publicar cambios a un repositorio compartido.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
224
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
225 Tícamente los partidarios del modelo de publicar usan las herramientas
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
226 que se apegan a este modelo. Si usted usa una herramienta
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
227 centralizada de control de versiones como Subversion, no hay forma de
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
228 elegir qué modelo va a usar: La herramienta le ofrece publicación
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
229 compartida, y si desea hacer cualquier otra cosa, va a tener que
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
230 aplicar una aproximación artificial (tal como aplicar parches a mano).
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
231
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
232 Una buena herramienta distribuida de control de versiones, tal como
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
233 Mercurial soportará los dos modelos. Usted y sus colaboradores
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
234 pueden estructurar cómo trabajarán juntos basados en sus propias
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
235 necesidades y preferencias, sin depender de las peripecias que la
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
236 herramienta les obligue a hacer.
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
237
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
238 \subsection{Cuando la colaboración encuentra la administración ramificada}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
239
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
240 Una vez que usted y su equipo configurar algunos repositorios
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
241 compartidos y comienzan a propagar cambios entre sus repositorios
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
242 locales y compartidos, comenzará a encarar un reto relacionado, pero
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
243 un poco distinto: Administrar las direcciones en las cuales su equipo
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
244 puede moverse. A pesar de que está intimamente ligado acerca de cómo
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
245 interactúa su equipo, es lo suficientemente denso para ameritar un
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
246 tratamiento en el capítulo~\ref{chap:branch}.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
247
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
248 \section{Aspectos técnicos de la colaboración}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
249
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
250 Lo que resta del capítulo lo dedicamos a las cuestiones de servir
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
251 datos a sus colaboradores.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
252
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
253 \section{Compartir informalmente con \hgcmd{serve}}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
254 \label{sec:collab:serve}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
255
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
256 La orden \hgcmd{serve} de Mercurial satisface de forma espectacular
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
257 las necesidades de un grupo pequeño, acoplado y de corto
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
258 tiempo. Se constituye en una demostración de cómo se siente usar los
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
259 comandos usando la red.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
260
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
261 Ejecute \hgcmd{serve} dentro de un repositorio, y en pocos segundos
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
262 iniciará un servidor HTTP especializado; aceptará conexiones desde
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
263 cualquier cliente y servirá datos de este repositorio mientrs lo
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
264 mantenga funcionando. Todo el que sepa el URL del servidor que ha
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
265 iniciado, y que puede comunicarse con su computador por la red, puede
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
266 usar un navegador web o Mercurial para leer datos del repositorio. Un
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
267 URL para una instancia de \hgcmd{serve} ejecutándose en un portátil
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
268 debería lucir algo \Verb|http://my-laptop.local:8000/|.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
269
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
270 La orden \hgcmd{serve} \emph{no} es un servidor web de propósito
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
271 general. Solamente puede hacer dos cosas:
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
272 \begin{itemize}
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
273 \item Permitir que se pueda visualizar la historia del repositorio que
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
274 está sirviendo desde navegadores web.
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
275 \item Hablar el protocolo de conexión de Mercurial para que puedan hacer
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
276 \hgcmd{clone} o \hgcmd{pull} (jalar) cambios de tal repositorio.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
277 \end{itemize}
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
278 En particular, \hgcmd{serve} no permitirá que los usuarios remotos
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
279 puedan \emph{modificar} su repositorio. Es de tipo solo lectura.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
280
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
281 Si está comenzando con Mercurial, no hay nada que le impida usar
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
282 \hgcmd{serve} para servir un repositorio en su propio computador, y
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
283 usar posteriormente órdenes como \hgcmd{clone}, \hgcmd{incoming}, para
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
284 comunicarse con el servidor como si el repositorio estuviera alojado
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
285 remotamente. Lo que además puede ayudarle a adecuarse rápidamente para
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
286 usar comandos en repositorios alojados en la red.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
287
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
288 \subsection{Cuestiones adicionales para tener en cuenta}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
289
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
290 Dado que permite lectura sin autenticación a todos sus clientes,
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
291 debería usar \hgcmd{serve} exclusivamente en ambientes en los cuáles
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
292 no tenga problema en que otros vean, o en los cuales tenga control
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
293 completo acerca de quien puede acceder a su red y jalar cambios de su
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
294 repositorio.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
295
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
296 La orden \hgcmd{serve} no tiene conocimiento acerca de programas
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
297 cortafuegos que puedan estar instalados en su sistema o en su red. No
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
298 puede detectar o controlar sus cortafuegos. Si otras personas no
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
299 pueden acceder a su instancia \hgcmd{serve}, lo siguiente que debería hacer
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
300 (\emph{después} de asegurarse que tienen el URL correcto) es verificar
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
301 su configuración de cortafuegos.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
302
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
303 De forma predeterminada, \hgcmd{serve} escucha conexiones entrantes en
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
304 el puerto~8000. Si otro proceso está escuchando en tal puerto, usted
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
305 podrá especificar un puerto distinto para escuchar con la opción
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
306 \hgopt{serve}{-p} .
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
307
516
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
308 Normalmente, cuando se inicia \hgcmd{serve}, no imprime nada, lo cual
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
309 puede ser desconcertante. Si desea confirmar que en efecto está
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
310 ejecutándose correctamente, y darse cuenta qué URL debería enviar a
7e838acf7350 translated more paragraphs of collab to spanish
Igor TAmara <igor@tamarapatino.org>
parents: 513
diff changeset
311 sus colaboradores, inícielo con la opción \hggopt{-v}.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
312
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
313 \section{Uso del protocolo Secure Shell (ssh)}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
314 \label{sec:collab:ssh}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
315
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
316 Usted puede publicar y jalar cambios en la red de forma segura usando
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
317 el protocolo Secure Shell (\texttt{ssh}). Para usarlo satisfactoriamente,
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
318 tendrá que hacer algo de configuración a nivel de cliente o el
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
319 servidor.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
320
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
321 Si no está familizarizado con ssh, es un protocolo de red que le permite
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
322 comunicarse con seguridad con otro computador. Para usarlo con
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
323 Mercurial, estará estableciendo una o más cuentas de usuario en un
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
324 servidor de forma tal que los usuarios remotos puedan entrar y
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
325 ejecutar órdenes.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
326
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
327 (Si ssh le \emph{es} familiar, encontrará probablemente elemental una
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
328 porción del material a continuación.)
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
329
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
330 \subsection{Cómo leer y escribir URLs de ssh}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
331
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
332 Los URLs de ssh tienden a lucir de la siguiente forma:
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
333 \begin{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
334 ssh://bos@hg.serpentine.com:22/hg/hgbook
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
335 \end{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
336 \begin{enumerate}
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
337 \item La parte ``\texttt{ssh://}'' indica a Mercurial que use el
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
338 protocolo ssh.
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
339 \item El componente ``\texttt{bos@}'' indica el nombre del usuario que
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
340 está entrando al servidor. Puede omitirl si el usuario remoto
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
341 coincide con el usuario local.
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
342 \item ``\texttt{hg.serpentine.com}'' es el nombre del servidor al cual
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
343 se desea entrar.
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
344 \item El ``:22'' identifica el número del puerto en el servidor al cual
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
345 se conectará. El predeterminado es el~22, así que solamente
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
346 necesitará especificar esa porción si \emph{no} está usando el
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
347 puerto~22.
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
348 \item La última porción del URL es la ruta local al repositorio en el
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
349 servidor.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
350 \end{enumerate}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
351
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
352 El componente de la ruta del URL para ssh es una fuente de confusión,
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
353 puesto que no hay una forma estándar para que las herramientas puedan
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
354 interpretarlo. Algunos programas se comportan de manera distinta a
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
355 otros cuando manipulan estas rutas. No es la situación ideal, pero
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
356 es muy poco probable que vaya a cambiar. Por favor lea los párrafos
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
357 siguientes cuidadosamente.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
358
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
359 Mercurial trata la ruta al repositorio en el servidor como relativo al
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
360 directorio chasa del usuario remoto. Por ejemplo, si el usuario
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
361 \texttt{foo} en el servidor tiene el directorio casa
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
362 \dirname{/home/foo},
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
363 entonces un URL ssh que contenga en su ruta a \dirname{bar}
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
364 \emph{realmente} se refiere al directorio \dirname{/home/foo/bar}.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
365
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
366 Si desea especificar una ruta relativa a otro directorio de usuario,
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
367 puede usar una ruta que comience con un caracter tildado, seguido del
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
368 nombre del usuario(llamémosle \texttt{otrousuario}, así
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
369 \begin{codesample2}
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
370 ssh://server/~otrousuario/hg/repo
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
371 \end{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
372
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
373 Y si realmente desea especifica una ruta \emph{absoluta} en el
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
374 servidor, comience con el componente de la ruta con dos barras como
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
375 en el siguiente ejemplo:
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
376 \begin{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
377 ssh://server//absolute/path
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
378 \end{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
379
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
380 \subsection{Encontrar un cliente ssh para su sistema}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
381
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
382 Casi todos los sistemas tipo Unix vienen con OpenSSH preinstalado. Si
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
383 usted está usando un sistema de estos, ejecute \Verb|which ssh| para
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
384 identificar dónde está instalada la orden \command{ssh} (usualmente
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
385 estará en \dirname{/usr/bin}). Si por casualidad no está presente,
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
386 vea la documentación de sus sistema para lograr instalarlo.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
387
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
388 En Windows, tendrá que escoger primero un cliente adecuado para
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
389 descargarlo. Hay dos alternativas:
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
390 \begin{itemize}
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
391 \item El excelente paquete PuTTY~\cite{web:putty} de Simon Tatham, que
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
392 ofrece un suite completo de órdenes de cliente ssh.
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
393 \item Si tiene alta tolerancia al dolor, puede usar el porte de Cygwin
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
394 para OpenSSH.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
395 \end{itemize}
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
396 En cualquier caso, tendrá que editar su fichero \hgini\ para indicarle
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
397 a Mercurial dónde encontrar la orden real del cliente. Por ejemplo, si
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
398 está usando PuTTY, tendrá que usar la orden \command{plink} como un
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
399 cliente de línea de órdenes.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
400 \begin{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
401 [ui]
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
402 ssh = C:/ruta/a/plink.exe -ssh -i "C:/ruta/a/mi/llave/privada"
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
403 \end{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
404
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
405 \begin{note}
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
406 La ruta a \command{plink} no debería contener espacios o caracteres
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
407 en blanco, o Mercurial no podrá encontrarlo correctamente (por lo
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
408 tanto, probablemente no sería buena idea colocarlo en
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
409 \dirname{C:\\Program Files}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
410 \end{note}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
411
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
412 \subsection{Generar un par de llaves}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
413
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
414 Para evitar la necesidad de teclera una clave de forma repetitiva cada
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
415 vez que necesita usar el cliente, recomiendo generar un par de llaves.
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
416 En un sistema tipo Unix, la orden \command{ssh-keygen} también se
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
417 comportará bien. En Windows, si está usando PuTTY, la orden
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
418 \command{puttygen} es la que necesitará.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
419
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
420 Cuando genera un par de llaves, se aconseja \emph{comedidamente}
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
421 protegerlas con una frase de clave. (La única oportunidad en la cual
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
422 usted querría identificarse una única vez, es cuando está usando
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
423 el protocolo ssh para tareas automatizadas en una red segura.)
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
424
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
425 No basta con generar un par de llaves. Se requiere adicionar una llave
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
426 pública al conjunto de llaves autorizadas para todos los usuarios
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
427 remotos que se vayan a autenticar. Para aquellos servidores que usen
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
428 OpenSSH(la gran mayoría), significará añadir la llave pública a la
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
429 lista en el fichero llamado \sfilename{authorized\_keys} en su
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
430 directorio \sdirname{.ssh}.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
431
526
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
432 En sistemas tipo Unix, su llave pública tendrá la extensión
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
433 \filename{.pub}. Si usa \command{puttygen} en Windows, puede
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
434 guardar la llave pública en un fichero de su elección, o pegarla desde
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
435 la ventana en la cual se despliega directamente en el fichero
4a1dc5e8e2ff Started ssh protocol translation
Igor TAmara <igor@tamarapatino.org>
parents: 518
diff changeset
436 \sfilename{authorized\_keys}.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
437
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
438 \subsection{Uso de un agente de autenticación}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
439
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
440 Un agente de autentitcación es un daemonio que almacena frases clave en
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
441 memoria(olvidará las frases clave si sale y vuelve a entrar). Un cliente
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
442 ssh notará si está corriendo, y solicitará una frase clave. Si no hay
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
443 un agente de autenticación corriendo, o el agente no almacena la frase
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
444 clave necesaria, tendrá que teclear su frase clave cada vez que
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
445 Mercurial intente comunicarse con un servidor para usted(p.e.~cada vez
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
446 que jale o publique cambios).
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
447
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
448 El problema de almacenar frases claves en un agente es que es posible
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
449 para un atacante bien preparado recuperar el texto plano de su frase
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
450 clave, en alguntos casos incluso si su sistema sea muy alternante.
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
451 Es su decisión si es un riesgo aceptable. Lo que si es seguro es que
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
452 evita reteclear.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
453
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
454 En sistemas tipo Unix, el agente se llama \command{ssh-agent}, y
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
455 usualmente se ejecuta automáticamente cuando usted entra. Tendrá que
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
456 usar la orden \command{ssh-add} para añadir frases claves al agente. En
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
457 Windows, si está usando PuTTY, la orden \command{pageant} actúa como
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
458 el agente. Añade un ícono a su barra del sistema que le permitirá
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
459 almacenar frases clave.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
460
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
461 \subsection{Configurar el lado del servidor apropiadamente}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
462
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
463 Dado que puede ser dispendioso configurar ssh si usted es nuevo, hay
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
464 una variedad de cosas que podrían ir mal. Añada piense primero en
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
465 Mercurial y hay mucho más en qué pensar. La mayor parte de estos
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
466 problemas potenciales occuren en el lado del servidor, no en el cliente.
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
467 Las buenas noticias es que una vez tiene una configuración funcional,
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
468 usualmente continuará trabajando indefinidamente.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
469
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
470 Antes de intentar que Mercurial hable con un servidor ssh, es mejor
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
471 asegurarse que puede usar la orden normal \command{ssh} o \command{putty}
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
472 para comunicarse con el servidor primero. Si tiene problemas usando
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
473 estas órdenes directamente, de seguro Mercurial no funcionará. Pero aún,
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
474 esconderá el problema subyacente. Cuando desee revisar un problema
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
475 relacionado con ssh y Mercurial, debería asegurarse primero que las
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
476 órdenes de ssh en el lado del cliente funcionan primero, \emph{antes}
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
477 de preocuparse por si existe un problema con Mercurial.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
478
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
479 Lo primero para asegurar en el lado del servidor es que puede entrar
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
480 desde otra máquina. Si no puede entrar con \command{ssh} o
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
481 \command{putty}, el mensaje de error que obtenga le puede dar pistas
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
482 de qué ha ido mal. Los problemas más comunes son los siguientes:
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
483 \begin{itemize}
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
484 \item Si obitene un error de ``conexión rehusada'', es posible que no
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
485 haya un daemonio SSH corriendo en el servidor o que no pueda accederse
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
486 a él por configuraciones de cortafuegos.
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
487 \item Si obtiene un error de ``no hay ruta hasta el servidor'', puede
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
488 tener la dirección del servidor incorrecta o un cortafuegos con
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
489 bloqueo agresivo que no permitirá su existencia.
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
490 \item Si obtiene un mensaje de ``permiso denegado'', puede que haya
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
491 tecleado mal el usuario en el servidor, o que haya tecleado
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
492 incorrectamente la frase clave o la clave del usuario remoto.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
493 \end{itemize}
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
494 En resumen, si tiene problemas al comunicarse con el daemonio ssh del
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
495 servidor, primero asegúrese de que está corriendo. En muchos sistemas
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
496 estará instalado, pero deshabilitado de forma predeterminada. Una vez
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
497 que haya hecho este paso tendrá que revisar si el cortafuegos del
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
498 servidor está configurado para recibir conexiones entrantes en el
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
499 puerto en el cual el daemonio de ssh está escuchando(usualmente el~22).
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
500 No trate de buscar otras posibilidades exóticas o configuraciones
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
501 erradas haste que haya revisado primero estas dos.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
502
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
503 Si está usando un agente de autenticación en el lado del cliente para
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
504 almacenar las frase claves de sus contraseñas, debería poder entrar al
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
505 servidor sin necesidad de que se le solicite frases claves o
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
506 contraseñas. Si se le pregunta alguna, a continuación algunas
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
507 posibilidades:
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
508 \begin{itemize}
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
509 \item Puede haber olvidado usar \command{ssh-add} o
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
510 \command{pageant} para guardar la frase clave.
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
511 \item Puede haber almacenado una frase clave errónea para la llave.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
512 \end{itemize}
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
513 Si se le solicita la clave del usuario remoto, hay otras posibilidades
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
514 que deben revisarse:
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
515 \begin{itemize}
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
516 \item O bien el directorio del usuario o su directorio \sdirname{.ssh}
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
517 tiene permisos excesivamente abiertos. Como resultado el daemonio
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
518 ssh no creerá o leerá su fichero \sfilename{authorized\_keys}.
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
519 Por ejemplo, un directorio casa o \sdirname{.ssh} causará aveces
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
520 este síntoma.
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
521 \item El fichero de usuario \sfilename{authorized\_keys} puede tener
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
522 un problema. Si alguien distinto al usuario es dueño o puede
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
523 escribir el archivo, el daemonio ssh no confiará o lo leerá.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
524 \end{itemize}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
525
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
526 En un mundo ideal, debería poder ejecutar la siguiente orden
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
527 exitósamente, y debería imprimir exactamente una línea de salida,
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
528 la fecha y hora actual.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
529 \begin{codesample2}
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
530 ssh miservidor fecha
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
531 \end{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
532
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
533 Si en su servidor tiene guión que se ejecuta a la entrada e imprimie
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
534 letreros o cualquier otra cosa, incluso cuando se ejecutan órdenes no
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
535 interactivas como esta, debería arreglarlo antes de continuar, de
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
536 forma que solamente imprima algo si se ejecuta interactivamente. De
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
537 otra forma estos letreros al menos llenarán la salida de Mercurial.
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
538 incluso podrían causar problemas potenciales cuando se ejecuten
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
539 órdenes de forma remota. Mercurial intenta detectar e ignorar los
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
540 letreros en sesiones no interactivas de \command{ssh}, pero no es
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
541 a prueba de tontos. (Si edita sus guiones de entrada en el servidor,
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
542 la forma usual de ver si un guión de script se ejecuta en un shell
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
543 interactivo, es verificar el código de retorno de la orden
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
544 \Verb|tty -s|.)
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
545
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
546 Cuando verifique que el venerado ssh funciona en su servidor, el
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
547 paso siguiente es asegurar que Mercurial corre en el servidor. La
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
548 orden siguiente debería ejecutarse satisfactoriamente:
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
549 \begin{codesample2}
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
550 ssh miservidor hg version
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
551 \end{codesample2}
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
552 Si ve un mensaje de error en lugar de la salida usual de
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
553 \hgcmd{version}, será porque no ha instalado Mercurial en
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
554 \dirname{/usr/bin}. No se preocupe si este es el caso; no necesita
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
555 hacerlo. Pero debería revisar los posibles problemas presentados a
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
556 continuación:
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
557 \begin{itemize}
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
558 \item Está instalado Mercurial en el servidor? Se que suena trivial
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
559 pero es mejor revisar!
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
560 \item Tal vez la ruta de búsqueda de la interfaz de órdenes
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
561 (normalmente vía la variable de ambiente \envar{PATH}) simplemente
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
562 está mal configurada.
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
563 \item Puede ser que su variable de ambiente \envar{PATH} soalamente
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
564 apunte al lugar en el cual está el ejecutable \command{hg} si la
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
565 sesión de entrada es interactiva. Puede suceder si establece la
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
566 ruta en el guión de shell de entrada incorrecto. Consulte la
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
567 documentación de su línea de órdenes.
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
568 \item La variable de ambiente \envar{PYTHONPATH} puede requerir la
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
569 ruta a los módulos de Mercurial en Python. Puede que nisiquiera
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
570 está establecida; podría estar incorrecta; o puede ser que se
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
571 establezca únicamente cuando hay entradas interactivas.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
572 \end{itemize}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
573
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
574 Si puede ejecutar \hgcmd{version} sobre una conexión ssh,
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
575 felicitaciones! Ha logrado la interacción entre el cliente y el
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
576 servidor. Ahora debería poder acceder a los repositorios de
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
577 Mercurial que tiene el usuario en el servidor. Si tiene problemas
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
578 con Mercurial y ssh en este punto, intente usar la opción
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
579 \hggopt{--debug} para tener información más clara de lo que está
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
580 sucediendo.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
581
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
582 \subsection{Compresión con ssh}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
583
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
584 Mercurial no comprime datos cuando usa el protocolo ssh, dado que
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
585 el protocolo puede comprimir datos transparentemente. Pero el
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
586 comportamiento predeterminado del cliente ssh es \emph{no}
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
587 solicitar compresión.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
588
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
589 Sobre cualquier red distinta a una LAN rápida(incluso con una red
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
590 inalámbrica), hacer uso de compresión puede mejorar el rendimiento
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
591 de las operaciones de Mercurial que involucren la red. Por ejemplo,
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
592 sobre WAN, alguien ha medido la compresión reduciendo la cantidad
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
593 de tiempo requerido para clonar un repositorio particularmente
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
594 grande de~51 minutos a~17 minutos.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
595
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
596 Tanto \command{ssh} como \command{plink} aceptan la opción
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
597 \cmdopt{ssh}{-C} que activa la compresión. Puede editar fácilmente
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
598 su \hgrc\ para habilitar la compresión para todos los usos de
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
599 Mercurial sobre el protocolo ssh.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
600 \begin{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
601 [ui]
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
602 ssh = ssh -C
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
603 \end{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
604
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
605 Si usa \command{ssh}, puede reconfigurarlo para que siempre use
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
606 compresión cuando se comunique con su servidor. Para hacerlo,
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
607 edite su fichero \sfilename{.ssh/config}(que puede no existir
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
608 aún), de la siguiente forma:
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
609 \begin{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
610 Host hg
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
611 Compression yes
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
612 HostName hg.ejemplo.com
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
613 \end{codesample2}
527
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
614 Que define un alias, \texttt{hg}. Cuando lo usa con la orden
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
615 \command{ssh} o con una URL de Mercurial con protocolo\texttt{ssh},
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
616 logrará que \command{ssh} se conecte a \texttt{hg.ejemplo.com}
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
617 con compresión. Que le dará un nombre más corto para teclear y
35370f1551a7 finished ssh part translation
Igor TAmara <igor@tamarapatino.org>
parents: 526
diff changeset
618 compresión, los cuales por derecho propio son buenos.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
619
528
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
620 \section{Uso de CGI a través de HTTP}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
621 \label{sec:collab:cgi}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
622
528
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
623 Dependiendo de qué tan ambicioso sea, configurar la interfaz CGI
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
624 de Mercurial puede tomar desde unos minutos hasta varias horas.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
625
528
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
626 Comenzaremos con el ejemplo más sencillo, y nos dirigiremos hacia
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
627 configuraciones más complejas. Incluso para el caso más básico
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
628 necesitará leer y modificar su configuración del servidor web.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
629
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
630 \begin{note}
528
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
631 Configurar un servidor web es una actividad compleja, engorrosa y
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
632 altamente dependiente del sistema. De ninguna manera podremos
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
633 cubrir todos los casos posibles con los cuales pueda encontrarse.
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
634 Use su discresión y juicio respecto a las secciones siguientes.
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
635 Esté preparado para cometer muchas equivocaciones, y emplear
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
636 bastante tiempo leyendo sus bitácoras de error del servidor.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
637 \end{note}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
638
528
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
639 \subsection{Lista de chequeo de la configuración del servidor web}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
640
528
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
641 Antes de continuar, tómese un tiempo para revisar ciertos aspectos de
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
642 la configuración de su sistema:
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
643
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
644 \begin{enumerate}
528
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
645 \item ¿Tiene un servidor web? Mac OS X viene con Apache, pero otros
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
646 sistemas pueden no tener un servidor web instalado.
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
647 \item Si tiene un servidor web instalado, ¿Está ejecutándose? En la
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
648 mayoría de sistemas, aunque esté presente, puede no estar habilitado
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
649 de forma predeterminada.
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
650 \item ¿u servidor está configurado para permitir ejecutar programas
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
651 CGI en el directorio donde planea hacerlo? Casi todos los
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
652 servidores de forma predeterminada explícitamente inhiben la
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
653 habilidad de ejecutar programas CGI.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
654 \end{enumerate}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
655
528
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
656 Si no tiene un servidor web instalado, y no tiene cierta experiencia
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
657 configurando Apache, debería considerar usar el servidor web
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
658 \texttt{lighttpd} en lugar de Apache. Apache tiene una reputación
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
659 bien ganada por su configuración barroca y confusa.
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
660 A pesar de que \texttt{lighttpd} tiene menos características que
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
661 Apache en ciertas áreas, las mismas no son relevantes para servir
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
662 repositorios de Mercurial. Definitivamente es mucho más sencillo
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
663 comenzar con \texttt{lighttpd} que con Apache.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
664
528
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
665 \subsection{Configuración básica de CGI}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
666
528
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
667 En sistemas tipo Unix es común que los usuarios tengan un subdirectorio
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
668 con un nombre como \dirname{public\_html} en su directorio personal,
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
669 desde el cual pueden servir páginas web. Un fichero llamado \filename{foo}
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
670 en este directorio será visible en una URL de la forma
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
671 \texttt{http://www.example.com/\~username/foo}.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
672
528
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
673 Para comenzar, encuentre el guión \sfilename{hgweb.cgi} que debería
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
674 estar presente en su instalación de Mercurial. Si no puede
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
675 encontrarlo rápidamente una copia local en su sistema, puede
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
676 descargarlo del repositorio principal de Mercurial en
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
677 \url{http://www.selenic.com/repo/hg/raw-file/tip/hgweb.cgi}.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
678
528
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
679 Tendrá que copiar este guión en su directorio \dirname{public\_html},
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
680 y asegurarse que sea ejecutable.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
681 \begin{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
682 cp .../hgweb.cgi ~/public_html
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
683 chmod 755 ~/public_html/hgweb.cgi
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
684 \end{codesample2}
528
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
685 El argumento \texttt{755} de la orden \command{chmod} es un poco más
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
686 general que hacerlo ejecutable: Asegura que el guión sea ejecutable
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
687 por cualquiera, y que el ``grupo'' y los ``otros'' \emph{not} tengan
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
688 permiso de escritura. Si dejara los permisos de escritura abiertos,
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
689 , el subsistema \texttt{suexec} de Apache probablemente se negaría
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
690 a ejecutar el guión. De hecho, \texttt{suexec} también insiste en que
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
691 el \emph{directorio} en el cual reside el guión no tenga permiso de
e5c5918e8230 Started translation of cgi configuration section
Igor TAmara <igor@tamarapatino.org>
parents: 527
diff changeset
692 escritura para otros.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
693 \begin{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
694 chmod 755 ~/public_html
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
695 \end{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
696
535
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
697 \subsubsection{¿Qué \emph{podría} resultar mal?}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
698 \label{sec:collab:wtf}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
699
535
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
700 Cuando haya ubicado el CGI en el sitio correspondiente con un navegador
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
701 intente visitar el URL \url{http://myhostname/~myuser/hgweb.cgi},
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
702 \emph{sin} dejarse abatir por un error. Hay una alta probabilidad de
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
703 que esta primera visita al URL sea fallida, y hay muchas razones posibles
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
704 para este comportamiento. De hecho, podría toparse con cada uno de los
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
705 errores que describimos a continuación, así que no deje de leerlos
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
706 cuidadosamente. A continuación presento los problemas que yo tuve en
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
707 un sistema con Fedora~7, con una instalación nueva de Apache, y una
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
708 cuenta de usuario que creé específicamente para desarrollar este
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
709 ejercicio.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
710
535
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
711 Su servidor web puede tener directorios por usuario deshabilitados. Si
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
712 usa Apache, busque el fichero de configuración que contenga la
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
713 directiva \texttt{UserDir}. Si no está presente en sitio alguno, los
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
714 directorios por usuario están deshabilitados. Si la hay, pero su
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
715 valor es \texttt{disabled}, los directorios por usuario estarán
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
716 deshabilitados. La directiva \texttt{UserDir} en caso contrario tendrá
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
717 el nombre del subdirectorio bajo el cual Apache mirará en el
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
718 directorio de cada usuario, por ejemplo \dirname{public\_html}.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
719
535
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
720 Los permisos de sus ficheros pueden ser demasiado restrictivos. El
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
721 servidor web debe poder recorrer su directorio personal y los
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
722 directorios que estén bajo \dirname{public\_html}, además de tener
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
723 permiso para leer aquellos que estén adentro. A continúación una
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
724 receta rápida para hacer que sus permisos estén acordes con las
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
725 necesidades básicas.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
726 \begin{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
727 chmod 755 ~
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
728 find ~/public_html -type d -print0 | xargs -0r chmod 755
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
729 find ~/public_html -type f -print0 | xargs -0r chmod 644
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
730 \end{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
731
535
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
732 Otra posibilidad con los permisos es que obtenga una ventana
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
733 completamente en blanco cuando trata de cargar el script. En cuyo
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
734 caso, es posible que los permisos que tiene son \emph{demasiado
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
735 permisivos}. El subsistema \texttt{suexec} de Apache no ejecutará un
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
736 script que tenga permisos de escritura para el group o el planeta, por
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
737 ejemplo.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
738
535
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
739 Su servidor web puede estar configurado para evitar la ejecución de
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
740 programas CGI en los directorios de usuario. A continuación presento
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
741 una configuración predeterminada por usuario en mi sistema Fedora.
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
742
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
743 \begin{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
744 <Directory /home/*/public_html>
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
745 AllowOverride FileInfo AuthConfig Limit
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
746 Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
747 <Limit GET POST OPTIONS>
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
748 Order allow,deny
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
749 Allow from all
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
750 </Limit>
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
751 <LimitExcept GET POST OPTIONS>
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
752 Order deny,allow
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
753 Deny from all
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
754 </LimitExcept>
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
755 </Directory>
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
756 \end{codesample2}
535
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
757 Si encuentra un grupo de instrucciones de \texttt{Directory} similares
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
758 en su configuración de Apache, la directiva a revisar es \texttt{Options}.
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
759 Adicione \texttt{ExecCGI} al final de esta lista en caso de que haga
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
760 falta y reinicie su servidor web.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
761
535
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
762 Si resulta que Apache le muestra el texto del script CGI en lugar de
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
763 ejecutarlo, necesitará o bien descomentar(si se encuentra presente) o
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
764 adicionar una directiva como la siguiente:
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
765 \begin{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
766 AddHandler cgi-script .cgi
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
767 \end{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
768
535
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
769 Otra posibilidad es que observe una traza de Python en colores
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
770 informando que no puede importar un módulo relacionado con
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
771 \texttt{mercurial}. Esto es un gran progreso! El servidor es capaz
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
772 de ejecutar su script CGI. Este error solamente ocurrirá si está
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
773 ejecutando una instalación privada de Mercurial en lugar de una
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
774 instalación para todo el sistema. Recuerde que el servidor que
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
775 ejecuta el programa CGI no cuenta con variables de ambiente de las
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
776 cuales usted si dispone en una sesión interactiva. Si este error le
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
777 ocurre, edite su copia de \sfilename{hgweb.cgi} y siga las indicaciones
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
778 dentro del mismo para establecer de forma adecuada su variable de
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
779 ambiente \envar{PYTHONPATH}.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
780
535
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
781 Finalmente, si encuentra \emph{otra} traza a todo color de Python al visitar
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
782 el URL: Esta seguramente se referirá a que no puede encontrar
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
783 \dirname{/path/to/repository}. Edite su script \sfilename{hgweb.cgi}
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
784 y reemplaze la cadena \dirname{/path/to/repository} con la ruta
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
785 completa al repositorio que desea servir.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
786
535
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
787 En este punto, cuando trate de recargar la página, deberá visualizar
0d6c97362064 translated cgi configuration
Igor TAmara <igor@tamarapatino.org>
parents: 528
diff changeset
788 una linda vista HTML de la historia de su repositorio. Uff!
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
789
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
790 \subsubsection{Configuración de lighttpd}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
791
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
792 En mi intención de ser exhaustivo, intenté configurar
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
793 \texttt{lighttpd}, un servidor web con creciente aceptación, para
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
794 servir los repositorios de la misma forma como lo describí
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
795 anteriormente con Apache. Después de superar los problemas que mostré
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
796 con Apache, muchos de los cuáles no son específicos del servidor. Por
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
797 lo tanto estaba seguro de que mis permisos para directorios y ficheros
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
798 eran correctos y que mi guión \sfilename{hgweb.cgi} también lo era.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
799
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
800 Dado que ya Apache estaba en ejecución correctamente, lograr que
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
801 \texttt{lighttpd} sirviera mi repositorio fue rápido(en otras
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
802 palabras, si está tratando de usar \texttt{lighttpd}, debe leer la
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
803 sección de Apache). Primero tuve que editar la sección
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
804 \texttt{mod\_access} para habilitar \texttt{mod\_cgi} y
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
805 \texttt{mod\_userdir}, los cuales estaban inhabilitados en mi
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
806 instalación predeterminada. Añadí posteriormente unas líneas al final
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
807 del fichero de configuración, para hacer lo propio con los módulos.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
808 \begin{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
809 userdir.path = "public_html"
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
810 cgi.assign = ( ".cgi" => "" )
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
811 \end{codesample2}
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
812 Hecho esto, \texttt{lighttpd} funcionó inmediatamente para
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
813 mí. Configuré \texttt{lighttpd} antes que Apache, tuve casi los mismos
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
814 reparos a nivel de configuración del sistema que con Apache. De todas
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
815 maneras, considero que \texttt{lighttpd} es bastante más sencillo de
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
816 configurar que Apache, a pesar de haber usado Apache por lo menos por
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
817 una década, y esta fue mi primera experiencia con \texttt{lighttpd}.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
818
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
819 \subsection{Compartir varios repositorios con un script CGI}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
820
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
821 El guión \sfilename{hgweb.cgi} permite publicar únicamente un
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
822 repositorio, una restricción frustrante. Si desea publicar más de uno
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
823 sin complicarse con varias copias del mismo guión, cada una con un
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
824 nombre distinto, resulta mucho mejor usar el guión
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
825 \sfilename{hgwebdir.cgi}.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
826
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
827 El procedimiento para configurar \sfilename{hgwebdir.cgi} tiene una
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
828 porción adicional frente al trabajo requerido con
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
829 \sfilename{hgweb.cgi}. Primero se debe obtener una copia del
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
830 guión. Si no tiene una a mano, puede descargar una copia del ftp
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
831 principal del repositorio de Mercurial en
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
832 \url{http://www.selenic.com/repo/hg/raw-file/tip/hgwebdir.cgi}.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
833
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
834 Necesitará una copia del guión en su directorio \dirname{public\_html},
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
835 y asegurarse de que sea ejecutable.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
836 \begin{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
837 cp .../hgwebdir.cgi ~/public_html
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
838 chmod 755 ~/public_html ~/public_html/hgwebdir.cgi
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
839 \end{codesample2}
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
840 Con la configuración básica, intente visitar en su navegador
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
841 \url{http://myhostname/~myuser/hgwebdir.cgi}. Debería mostar una
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
842 lista vacía de repositorios. Si obtiene una ventana en blanco o un
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
843 mensaje de error, verifique la lista de problemas potenciales en la
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
844 sección~\ref{sec:collab:wtf}.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
845
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
846 El guión \sfilename{hgwebdir.cgi} se apoya en un fichero externo de
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
847 configuración. En principio, busca un fichero llamado
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
848 \sfilename{hgweb.config} en el mismo directorio. Tendrá que crear el
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
849 fichero, y permitir lectura de todo el mundo. El formato del fichero
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
850 es similar a un fichero ``ini'' de Windows, que puede interpretar el módulo
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
851 \texttt{ConfigParser}~\cite{web:configparser} de Python.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
852
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
853 La forma más sencilla de configurar \sfilename{hgwebdir.cgi} es con
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
854 una sección llamada \texttt{collections}. Esta publicará automáticamente
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
855 \emph{todos} los repositorios en los directorios que usted
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
856 especifique. La sección debería lucir así:
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
857 \begin{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
858 [collections]
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
859 /mi/ruta = /mi/ruta
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
860 \end{codesample2}
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
861 Mercurial lo interpreta buscando el nombre del directorio que esté a la
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
862 \emph{derecha} del símbolo ``\texttt{=}''; encontrando repositorios en
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
863 la jerarquía de directorios; y usando el texto a la \emph{izquierda}
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
864 para eliminar el texto de los nombres que mostrará en la interfaz
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
865 web. El componente restante de la ruta después de esta eliminación
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
866 usualmente se llama ``ruta virtual''.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
867
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
868 Dado el ejemplo de arriba, si tenemos un repositorio cuya ruta local es
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
869 \dirname{/mi/ruta/este/repo}, el guión CGI eliminará la porción inicial
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
870 \dirname{/mi/ruta} del nombre y publicará el repositorio con una ruta
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
871 virtual \dirname{este/repo}. Si el URL base de nuestro guión CGI es
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
872 \url{http://myhostname/~myuser/hgwebdir.cgi}, el URL completo al
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
873 repositorio será
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
874 \url{http://myhostname/~myuser/hgwebdir.cgi/this/repo}.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
875
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
876 Si reemplazamos \dirname{/mi/ruta} en el lado izquierdo de este
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
877 ejemplo con \dirname{/mi}, \sfilename{hgwebdir.cgi} eliminará solamente
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
878 \dirname{/mi} del nombre del repositorio, y nos ofrecerá la ruta
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
879 virtual \dirname{ruta/este/repo} en lugar de \dirname{este/repo}.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
880
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
881 El guión \sfilename{hgwebdir.cgi} buscará recursivamente en cada
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
882 directorio listado en la sección \texttt{collections} de su archivo de
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
883 configuración, pero \texttt{no} hará el recorrido recursivo dentro de
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
884 los repositorios que encuentre.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
885
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
886 El mecanismo de \texttt{collections} permite publicar fácilmente
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
887 repositorios de una forma ``hacer y olvidar''. Solamente requiere
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
888 configurar el guión CGI y el archivo de configuración una vez.
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
889 Después de eso puede publicar y sacar de publicación un repositorio en
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
890 cualquier momento incluyéndolo o excluyéndolo de la jerarquía de
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
891 directorios en la cual le haya indicado a \sfilename{hgwebdir.cgi} que
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
892 mirase.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
893
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
894 \subsubsection{Especificación explícita de los repositorios a publicar}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
895
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
896 Además del mecanismo \texttt{collections}, el guión
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
897 \sfilename{hgwebdir.cgi} le permite publicar una lista específica de
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
898 repositorios. Para hacerlo, cree una sección \texttt{paths}, con los
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
899 contenidos de la siguiente forma:
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
900 \begin{codesample2}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
901 [paths]
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
902 repo1 = /mi/ruta/a/un/repo
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
903 repo2 = /ruta/a/otro/repo
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
904 \end{codesample2}
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
905 En este caso, la ruta virtual (el componente que aparecerá en el URL)
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
906 está en el lado derecho de cada definición, mientras que la ruta al
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
907 repositorio está a la derecha. Note que no tiene que haber relación
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
908 alguna entre la ruta virtual que elija y el lugar del repositorio en
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
909 su sistema de archivos.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
910
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
911 Si lo desea, puede usar los dos mecanismos \texttt{collections} y
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
912 \texttt{paths} simultáneamente en un sólo archivo de configuración.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
913
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
914 \begin{note}
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
915 Si varios repositorios tienen la misma ruta virtual,
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
916 \sfilename{hgwebdir.cgi} no reportará error. Pero se comportará
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
917 impredeciblemente.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
918 \end{note}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
919
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
920 \subsection{Descarga de ficheros fuente}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
921
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
922 La interfaz web de Mercurial permite a los ususarios descargar
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
923 un conjunto de cualquier revisión. Este fichero contendrá una réplica
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
924 del directorio de trabajo en la revisión en cuestión, pero no
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
925 contendrá una copia de los datos del repositorio.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
926
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
927 De forma predeterminada esta característica no está habilitada. Para
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
928 lograrlo adicione un \rcitem{web}{allow\_archive} a la sección \rcsection{web}
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
929 de su fichero \hgrc.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
930
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
931 \subsection{Opciones de configuración en Web}
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
932
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
933 Las interfaces web de Mercurial(la orden \hgcmd{serve}, y los guiones
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
934 \sfilename{hgweb.cgi} y \sfilename{hgwebdir.cgi}) tienen varias
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
935 opciones de configuración para establecer. Todas ellas en la sección
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
936 \rcsection{web}.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
937 \begin{itemize}
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
938 \item[\rcitem{web}{allow\_archive}] Determina cuáles tipos de archivos
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
939 de descarga soportará Mercurial. Si habilita esta característica,
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
940 los usuarios de la interfaz web podrán descargar una copia de la
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
941 revisión del repositorio que estén viendo. Para activar la
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
942 característica de descarga de fichero, el valor tendrá una secuencia
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
943 de palabras extraídas de la lista de abajo.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
944 \begin{itemize}
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
945 \item[\texttt{bz2}] Un fichero \command{tar} con el método de
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
946 compresión \texttt{bzip2}. Tiene la mejor taza de compresión,
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
947 pero usa más tiempo de procesamiento en el servidor.
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
948 \item[\texttt{gz}] Un fichero \command{tar}, comprimido con
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
949 \texttt{gzip}.
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
950 \item[\texttt{zip}] Un fichero \command{zip}, comprimido con LZW.
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
951 Este formato posee la peor tasa de compresió, pero es muy usado en
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
952 el mundo Windows.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
953 \end{itemize}
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
954 Si da una lista vacía o no tiene la entrada
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
955 \rcitem{web}{allow\_archive}, esta característica se deshabilitará.
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
956 A continuación un ejemplo de cómo habilitar los tres formatos soportados.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
957 \begin{codesample4}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
958 [web]
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
959 allow_archive = bz2 gz zip
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
960 \end{codesample4}
537
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
961 \item[\rcitem{web}{allowpull}] Booleano. Determina si la interfaz web
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
962 permite a los usuarios remotos emplear \hgcmd{pull} y \hgcmd{clone}
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
963 sobre el repositorio~HTTP. Si se coloca \texttt{no} o
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
964 \texttt{false}, solamente la porción de los procesos
22391f67dc26 Translated lighttpd and started web options
Igor TAmara <igor@tamarapatino.org>
parents: 535
diff changeset
965 ``human-oriented'' se habilita de la interfaz web.
501
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
966 \item[\rcitem{web}{contact}] String. A free-form (but preferably
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
967 brief) string identifying the person or group in charge of the
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
968 repository. This often contains the name and email address of a
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
969 person or mailing list. It often makes sense to place this entry in
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
970 a repository's own \sfilename{.hg/hgrc} file, but it can make sense
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
971 to use in a global \hgrc\ if every repository has a single
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
972 maintainer.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
973 \item[\rcitem{web}{maxchanges}] Integer. The default maximum number
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
974 of changesets to display in a single page of output.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
975 \item[\rcitem{web}{maxfiles}] Integer. The default maximum number
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
976 of modified files to display in a single page of output.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
977 \item[\rcitem{web}{stripes}] Integer. If the web interface displays
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
978 alternating ``stripes'' to make it easier to visually align rows
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
979 when you are looking at a table, this number controls the number of
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
980 rows in each stripe.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
981 \item[\rcitem{web}{style}] Controls the template Mercurial uses to
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
982 display the web interface. Mercurial ships with two web templates,
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
983 named \texttt{default} and \texttt{gitweb} (the latter is much more
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
984 visually attractive). You can also specify a custom template of
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
985 your own; see chapter~\ref{chap:template} for details. Here, you
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
986 can see how to enable the \texttt{gitweb} style.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
987 \begin{codesample4}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
988 [web]
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
989 style = gitweb
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
990 \end{codesample4}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
991 \item[\rcitem{web}{templates}] Path. The directory in which to search
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
992 for template files. By default, Mercurial searches in the directory
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
993 in which it was installed.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
994 \end{itemize}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
995 If you are using \sfilename{hgwebdir.cgi}, you can place a few
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
996 configuration items in a \rcsection{web} section of the
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
997 \sfilename{hgweb.config} file instead of a \hgrc\ file, for
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
998 convenience. These items are \rcitem{web}{motd} and
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
999 \rcitem{web}{style}.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1000
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1001 \subsubsection{Options specific to an individual repository}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1002
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1003 A few \rcsection{web} configuration items ought to be placed in a
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1004 repository's local \sfilename{.hg/hgrc}, rather than a user's or
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1005 global \hgrc.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1006 \begin{itemize}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1007 \item[\rcitem{web}{description}] String. A free-form (but preferably
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1008 brief) string that describes the contents or purpose of the
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1009 repository.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1010 \item[\rcitem{web}{name}] String. The name to use for the repository
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1011 in the web interface. This overrides the default name, which is the
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1012 last component of the repository's path.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1013 \end{itemize}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1014
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1015 \subsubsection{Options specific to the \hgcmd{serve} command}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1016
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1017 Some of the items in the \rcsection{web} section of a \hgrc\ file are
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1018 only for use with the \hgcmd{serve} command.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1019 \begin{itemize}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1020 \item[\rcitem{web}{accesslog}] Path. The name of a file into which to
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1021 write an access log. By default, the \hgcmd{serve} command writes
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1022 this information to standard output, not to a file. Log entries are
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1023 written in the standard ``combined'' file format used by almost all
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1024 web servers.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1025 \item[\rcitem{web}{address}] String. The local address on which the
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1026 server should listen for incoming connections. By default, the
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1027 server listens on all addresses.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1028 \item[\rcitem{web}{errorlog}] Path. The name of a file into which to
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1029 write an error log. By default, the \hgcmd{serve} command writes this
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1030 information to standard error, not to a file.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1031 \item[\rcitem{web}{ipv6}] Boolean. Whether to use the IPv6 protocol.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1032 By default, IPv6 is not used.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1033 \item[\rcitem{web}{port}] Integer. The TCP~port number on which the
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1034 server should listen. The default port number used is~8000.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1035 \end{itemize}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1036
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1037 \subsubsection{Choosing the right \hgrc\ file to add \rcsection{web}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1038 items to}
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1039
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1040 It is important to remember that a web server like Apache or
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1041 \texttt{lighttpd} will run under a user~ID that is different to yours.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1042 CGI scripts run by your server, such as \sfilename{hgweb.cgi}, will
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1043 usually also run under that user~ID.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1044
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1045 If you add \rcsection{web} items to your own personal \hgrc\ file, CGI
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1046 scripts won't read that \hgrc\ file. Those settings will thus only
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1047 affect the behaviour of the \hgcmd{serve} command when you run it. To
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1048 cause CGI scripts to see your settings, either create a \hgrc\ file in
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1049 the home directory of the user ID that runs your web server, or add
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1050 those settings to a system-wide \hgrc\ file.
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1051
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1052
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1053 %%% Local Variables:
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1054 %%% mode: latex
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1055 %%% TeX-master: "00book"
b05e35d641e4 Copying the files from en to es and taking intro chapter
Igor TAmara <igor@tamarapatino.org>
parents: 432
diff changeset
1056 %%% End: