1 /** @page instalacion Manual de Instalación
3 @section apache Instalación de Apache.
12 @subsection apache_config Configuración.
13 Poner como DocumentRoot /var/www/htdocs.
15 @subsection apache_embperl Instalación del Embperl para la Intranet del MECON.
17 Paquetes del Apache utilizados:
20 libapache-dbi-perl 0.92-0.1
21 libapache-mod-perl 1.29-1
22 libapache-session-perl 1.54-1
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.
31 Otros paquetes de perl usados para la instalación de la Intranet
33 Paquetes que están en el repositorio del apt de debian:
40 libembperl-perl 2.0b9.0-1
41 libhtml-embperl-perl 1.3.6-1
45 libxbase-perl 0.2400-1
46 libxml-parser-perl 2.34-1
47 libxml-dumper-perl 0.67-1
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,
57 svn co http://portal.mecon.ar/svn/scripts/embperl
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:
65 cp SimpleXMLISO.pm /usr/share/perl5/Apache/Session/Serialize/
66 cp DumperISO.pm /usr/share/perl5/XML/
68 cp Php2Embperl_Session.epl /var/www/htdocs/
69 dpkg -i libapache-tempfile-perl_0.04-1_all.deb
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.
83 @subsubsection apache_embperl_apache Configuración del Servidor Apache
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.
89 Archivos @ref embperl_apache_httpd.conf y @ref embperl_apache_modules.conf
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.
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.
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:
114 # Las siguientes líneas son para páginas de Embperl
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
129 # Las siguientes líneas son para otros archivos de perl
131 SetHandler perl-script
132 PerlHandler Apache::Registry
138 @subsection apache_php Instalación de PHP.
150 @subsubsection apache_php_pear Instalación de paquetes de PEAR.
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
161 @subsubsection apache_php_config Configuración de PHP.
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:
166 zlib.output_compression = On
167 allow_call_time_pass_reference = Off
169 error_reporting = E_ALL
172 log_errors_max_len = 4096
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"
185 SMTP = mail1.mecon.ar
186 sendmail_from = intranet@mecon.gov.ar
188 session.cookie_domain = .mecon.ar
189 session.name = INTRANET_PHPSESSID
190 session.auto_start = 1
193 Luego hay que crear el archivo de log con los permisos correctos:
195 touch /var/log/apache/php.log
196 chown www-data.www-data /var/log/apache/php.log
197 /etc/init.d/apache restart
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.
206 @section sistemas Instalacion de sistemas.
208 @subsection sistemas_subversion Instalación de Subversion.
209 Instalar el paquete subversion:
210 @verbatim apt-get install subversion @endverbatim
212 @subsection sistemas_permisos Permisos y estructura de directorios.
213 Asegurarse de que los permisos en /var/www sean correctos:
215 chown www-data.www-data /var/www -R
218 Como el usuario www-data cree la estructura de directorios:
222 mkdir sistemas htdocs sistemas_lib
225 @subsection sistemas_checkout Obtener bibliotecas y sistemas.
228 svn co http://portal.mecon.ar/svn/meconlib/tronco meconlib
230 Obtener Intranet, SAMURAI, AI y otros 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
240 @subsection sistemas_public Crear estructura pública.
243 ln -s ../meconlib/www MECON
244 echo '<?php header("Location: /sistemas/intranet/") ?>' > index.php
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
254 @subsection sistemas_libs Crear estructura de bibliotecas.
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