]> git.llucax.com Git - mecon/intranet.git/blob - doc/doxygen/instalacion.php
Se mejora:
[mecon/intranet.git] / doc / doxygen / instalacion.php
1 /** @page instalacion Manual de Instalación
2
3 @section apache Instalación de Apache.
4
5         @verbatim
6         Nombre                                  Versión
7         apache                                  1.3.29-1
8         apache-common                           1.3.29-1
9         apache-utils                            1.3.29-1
10         @endverbatim
11
12         @subsection apache_config Configuración.
13                 Poner como DocumentRoot /var/www/htdocs.
14
15         @subsection apache_embperl Instalación del Embperl para la Intranet del MECON.
16
17                 Paquetes del Apache utilizados:
18                 @verbatim
19                 Nombre                                  Versión
20                 libapache-dbi-perl                      0.92-0.1
21                 libapache-mod-perl                      1.29-1
22                 libapache-session-perl                  1.54-1
23                 @endverbatim
24
25                 @note El último paquete de la lista fue escrito por la fundación
26                 Via Libre y por lo tanto no se encuentra en el repositorio del
27                 apt de debian, y sirve para realizar el manejo de las sesiones de
28                 los usuarios a través de una cookie que registra la información
29                 en la base de datos Sessions de mysql.
30
31                 Otros paquetes de perl usados para la instalación de la Intranet
32
33                 Paquetes que están en el repositorio del apt de debian:
34                 @verbatim
35                 Nombre                                  Versión
36                 perl                                    5.8.1-2
37                 perl-base                               5.8.1-2
38                 perl-modules                            5.8.1-2
39                 libdbi-perl                             1.35-1
40                 libembperl-perl                         2.0b9.0-1
41                 libhtml-embperl-perl                    1.3.6-1
42                 libxml-perl                             0.07-10
43                 libwww-perl                             5.69-4
44                 liburi-perl                             1.23-1
45                 libxbase-perl                           0.2400-1
46                 libxml-parser-perl                      2.34-1
47                 libxml-dumper-perl                      0.67-1
48                 @endverbatim
49
50                 Archivos adicionales para que funcione embperl:
51                 Para el correcto funcionamiento del embperl son necesarios algunos
52                 paquetes y archivos que no se encuentran en la distribución de
53                 Debian. Los archivos se encuentran en un repositorio de subversion,
54                 para obtenerlos:
55                 @verbatim
56                 cd /tmp
57                 svn co http://portal.mecon.ar/svn/scripts/embperl
58                 @endverbatim
59                 Si no está instalado el subversion, pueden obtener estos archivos
60                 con cualquier cliente HTTP (navegador web) en
61                 http://portal.mecon.ar/svn/scripts/embperl/.
62                 Ahora en el directorio embperl se encuentran estos archivos que
63                 deben ser copiados como se indica en el archivo README:
64                 @verbatim
65                 cp SimpleXMLISO.pm /usr/share/perl5/Apache/Session/Serialize/
66                 cp DumperISO.pm /usr/share/perl5/XML/
67                 mkdir /var/www/htdocs
68                 cp Php2Embperl_Session.epl /var/www/htdocs/
69                 dpkg -i libapache-tempfile-perl_0.04-1_all.deb
70                 @endverbatim
71
72                 Todos estos archivos sirven para compartir las sesiones de los
73                 usuarios entre diferentes lenguajes. En el caso de la Intranet
74                 los lenguajes actualmente usados son PHP y Embperl.  Los archivos
75                 SimpleXMLISO.pm (autor: Gonzalo Merayo) y DumperISO.pm (autor:
76                 Jonathan Eisenzopf <eisen@pobox.com>) son librerías escritas
77                 en Lenguaje PERL que sirven para parsear el XML de la sesion
78                 utilizada por los sistemas programados en Embperl.  El archivo
79                 Php2Embperl.epl le sirve a la Intranet para cargar todos los
80                 datos de la sesión de PHP y pasarlos a la sesión de Embperl.
81
82
83                 @subsubsection apache_embperl_apache Configuración del Servidor Apache
84
85                         En este documento se incluye solamente la configuración de
86                         Embperl, dejándose de lado por el momento la configuración de PHP
87                         o de cualquier otro punto que pueda surgir durante la instalación.
88
89                         Archivos @ref embperl_apache_httpd.conf y @ref embperl_apache_modules.conf
90
91                         En versiones anteriores la información del archivo modules.conf
92                         se encontraba incorporada al archivo httpd.conf pero para mayor
93                         claridad fueron separados.  Estos archivos se encuentran por
94                         default en el directorio /etc/apache/ como el resto de los
95                         archivos de configuración del Servidor Apache.
96
97                         @par embperl_apache_modules.conf modules.conf
98                         El archivo modules.conf contiene la declaración de
99                         todos los módulos del Apache que serán cargados en el momento de
100                         levantar el servicio.  Para cargar el módulo perl es necesario
101                         incluir en este archivo la siguiente línea: LoadModule perl_module
102                         /usr/lib/apache/1.3/mod_perl.so Observación: El directorio 1.3
103                         se corresponde con la versión del apache que se está instalando.
104
105                         @par embperl_apache_httpd.conf httpd.conf
106                         Este es el archivo de configuración principal
107                         del Apache y para la configuración del Embperl se deben
108                         seguir los siguientes pasos: Agregar la linea Include
109                         /etc/apache/modules.conf para incorporar la información
110                         del archivo modules.conf.  Agregar las siguientes líneas
111                         correspondientes a la configuración específica de Embperl:
112
113                         @verbatim
114                         # Las siguientes líneas son para páginas de Embperl
115                         <Files *.epl>
116                                 PerlModule Apache::DBI        # Módulo que permite interactuar con bases de datos
117                                 PerlModule Data::Dumper;     # Módulo que permite devolver resultados de variables
118                                 AddType text/html .epl            # Indica que los archivos .epl deben ser interpretados por el handler de perl 
119                                 SetHandler perl-script              # Indica que handler usar
120                                 PerlHandler HTML::EmbperlObject   # Agrega el módulo de EmbperlObject
121                                 PerlSetEnv EMBPERL_COOKIE_DOMAIN ".mecon.ar"   # Indica el dominio de la cookie usada para la sesion
122                                 PerlSetEnv EMBPERL_SESSION_ARGS "DataSource=dbi:mysql:Sessions;host=servidor_mysql UserName=usuario Password=password NSems=16"   # Setea los argumentos de la base de datos que maneja la sesión
123                                 PerlSetEnv  EMBPERL_OPTIONS 16     # Estaba así
124                                 PerlSetEnv EMBPERL_SESSION_CLASSES "MySQL Semaphore SimpleXMLISO"  # Indica las librerías usadas para administrar el almacenamiento de la información de la sesión en la base de datos
125                                 PerlSetEnv  EMBPERL_OBJECT_BASE base.epl    #Indica el archivo base usado por EmbperlObject en cada directorio
126                                 Options ExecCGI   # Indica el modo de ejecución del Embperl
127                         </Files>
128
129                         # Las siguientes líneas son para otros archivos de perl
130                         <Files *.pl>
131                                 SetHandler perl-script
132                                 PerlHandler Apache::Registry
133                                 Options ExecCGI
134                         </Files>
135                         @endverbatim
136
137
138         @subsection apache_php Instalación de PHP.
139
140                 Paquetes necesarios:
141                 @verbatim
142                 Nombre          Versión
143                 php4            4.3.3
144                 php4-pear       4.3.3
145                 php4-gd         4.3.3
146                 php4-ldap       4.3.3
147                 php4-mysql      4.3.3
148                 @endverbatim
149
150                 @subsubsection apache_php_pear Instalación de paquetes de PEAR.
151                         @verbatim
152                         pear install Date
153                         pear install Validate
154                         pear install Mail_Mime
155                         pear install HTML_Common
156                         pear install HTML_Table
157                         pear install HTML_QuickForm
158                         pear install HTML_Page
159                         @endverbatim
160
161                 @subsubsection apache_php_config Configuración de PHP.
162
163                         La configuración por omisión de Debian es bastante buena, sólo hay que modificar
164                         (o agregar en caso de no estarlo) lo siguiente:
165                         @verbatim
166                         zlib.output_compression = On
167                         allow_call_time_pass_reference = Off
168                         memory_limit = 16M
169                         error_reporting = E_ALL
170                         display_errors = Off
171                         log_errors = On
172                         log_errors_max_len = 4096
173                         track_errors = On
174                         html_errors = Off
175                         error_log = /var/log/apache/php.log
176                         register_globals = Off
177                         register_argc_argv = Off
178                         magic_quotes_gpc = Off
179                         default_charset = "iso-8859-1"
180                         include_path = ".:/var/www/sistemas_lib:/var/www/meconlib/lib:/var/www/meconlib/pear_lib_tmp:/usr/share/php"
181                         extension=gd.so
182                         extension=ldap.so
183                         extension=mysql.so
184                         [mail functions]
185                         SMTP = mail1.mecon.ar
186                         sendmail_from = intranet@mecon.gov.ar
187                         [Session]
188                         session.cookie_domain = .mecon.ar
189                         session.name = INTRANET_PHPSESSID
190                         session.auto_start = 1
191                         @endverbatim
192
193                         Luego hay que crear el archivo de log con los permisos correctos:
194                         @verbatim
195                         touch /var/log/apache/php.log
196                         chown www-data.www-data /var/log/apache/php.log
197                         /etc/init.d/apache restart
198                         @endverbatim
199
200
201 @section locales Configuración de locales.
202         @verbatim apt-get install locales @endverbatim
203         Luego elegir es_AR ISO.8859-1 en la primera lista y es_AR en la segunda.
204         
205
206 @section sistemas Instalacion de sistemas.
207
208         @subsection sistemas_subversion Instalación de Subversion.
209                 Instalar el paquete subversion:
210                 @verbatim apt-get install subversion @endverbatim
211
212         @subsection sistemas_permisos Permisos y estructura de directorios.
213                 Asegurarse de que los permisos en /var/www sean correctos:
214                 @verbatim
215                 chown www-data.www-data /var/www -R
216                 chmod 2770 /var/www
217                 @endverbatim
218                 Como el usuario www-data cree la estructura de directorios:
219                 @verbatim
220                 su www-data
221                 cd /var/www
222                 mkdir sistemas htdocs sistemas_lib
223                 @endverbatim
224
225         @subsection sistemas_checkout Obtener bibliotecas y sistemas.
226                 Obtener MEconlib:
227                 @verbatim
228                 svn co http://portal.mecon.ar/svn/meconlib/tronco meconlib
229                 @endverbatim
230                 Obtener Intranet, SAMURAI, AI y otros sistemas:
231                 @verbatim
232                 cd sistemas
233                 svn co http://portal.mecon.ar/svn/intranet/tronco intranet
234                 svn co http://portal.mecon.ar/svn/samurai/tronco samurai
235                 svn co http://portal.mecon.ar/svn/ai/tronco ai
236                 svn co http://portal.mecon.ar/svn/infoleg/tronco infoleg
237                 svn co http://portal.mecon.ar/svn/bandasnovedades/tronco bandasnovedades
238                 @endverbatim
239
240         @subsection sistemas_public Crear estructura pública.
241                 @verbatim
242                 cd /var/www/htdocs
243                 ln -s ../meconlib/www MECON
244                 echo '<?php header("Location: /sistemas/intranet/") ?>' > index.php
245                 mkdir sistemas
246                 cd sistemas
247                 ln -s ../../sistemas/intranet/sistema/www intranet
248                 ln -s ../../sistemas/samurai/sistema/www samurai
249                 ln -s ../../sistemas/ai/sistema/www ai
250                 ln -s ../../sistemas/infoleg/sistema/www infoleg
251                 ln -s ../../sistemas/bandasnovedades/sistema/www bandasnovedades
252                 @endverbatim
253
254         @subsection sistemas_libs Crear estructura de bibliotecas.
255                 @verbatim
256                 cd /var/www/sistemas_lib
257                 ln -s ../sistemas/ai/lib/AI
258                 ln -s ../sistemas/samurai/lib/SAMURAI
259                 ln -s ../sistemas/samurai/lib/INFOLEG
260                 ln -s ../sistemas/bandasnovedades/lib/BandasNovedades
261         @endverbatim
262
263
264 */