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
48 libconfig-inifiles-perl
51 Archivos adicionales para que funcione embperl:
52 Para el correcto funcionamiento del embperl son necesarios algunos
53 paquetes y archivos que no se encuentran en la distribución de
54 Debian. Los archivos se encuentran en un repositorio de subversion,
58 svn co http://portal.mecon.ar/svn/scripts/embperl
61 Si no está instalado el subversion, pueden obtener estos archivos
62 con cualquier cliente HTTP (navegador web) en
63 http://portal.mecon.ar/svn/scripts/embperl/.
64 Ahora en el directorio embperl se encuentran estos archivos que
65 deben ser copiados como se indica en el archivo README:
67 cp SimpleXMLISO.pm /usr/share/perl5/Apache/Session/Serialize/
68 cp DumperISO.pm /usr/share/perl5/XML/
70 cp Php2Embperl_Session.epl /var/www/htdocs/
71 cp base.epl /var/www/htdocs/
72 dpkg -i libapache-tempfile-perl_0.04-1_all.deb
75 Todos estos archivos sirven para compartir las sesiones de los
76 usuarios entre diferentes lenguajes. En el caso de la Intranet
77 los lenguajes actualmente usados son PHP y Embperl. Los archivos
78 SimpleXMLISO.pm (autor: Gonzalo Merayo) y DumperISO.pm (autor:
79 Jonathan Eisenzopf <eisen@pobox.com>) son librerías escritas
80 en Lenguaje PERL que sirven para parsear el XML de la sesion
81 utilizada por los sistemas programados en Embperl. El archivo
82 Php2Embperl.epl le sirve a la Intranet para cargar todos los
83 datos de la sesión de PHP y pasarlos a la sesión de Embperl.
86 @subsubsection apache_embperl_apache Configuración del Servidor Apache
88 En este documento se incluye solamente la configuración de
89 Embperl, dejándose de lado por el momento la configuración de PHP
90 o de cualquier otro punto que pueda surgir durante la instalación.
92 Archivos @ref embperl_apache_httpd.conf y @ref embperl_apache_modules.conf
94 En versiones anteriores la información del archivo modules.conf
95 se encontraba incorporada al archivo httpd.conf pero para mayor
96 claridad fueron separados. Estos archivos se encuentran por
97 default en el directorio /etc/apache/ como el resto de los
98 archivos de configuración del Servidor Apache.
100 @par embperl_apache_modules.conf modules.conf
101 El archivo modules.conf contiene la declaración de
102 todos los módulos del Apache que serán cargados en el momento de
103 levantar el servicio. Para cargar el módulo perl es necesario
104 incluir en este archivo la siguiente línea: LoadModule perl_module
105 /usr/lib/apache/1.3/mod_perl.so Observación: El directorio 1.3
106 se corresponde con la versión del apache que se está instalando.
108 @par embperl_apache_httpd.conf httpd.conf
109 Este es el archivo de configuración principal
110 del Apache y para la configuración del Embperl se deben
111 seguir los siguientes pasos: Agregar la linea Include
112 /etc/apache/modules.conf para incorporar la información
113 del archivo modules.conf. Agregar las siguientes líneas
114 correspondientes a la configuración específica de Embperl:
117 # Las siguientes líneas son para páginas de Embperl
119 PerlModule Apache::DBI # Módulo que permite interactuar con bases de datos
120 PerlModule Data::Dumper; # Módulo que permite devolver resultados de variables
121 AddType text/html .epl # Indica que los archivos .epl deben ser interpretados por el handler de perl
122 SetHandler perl-script # Indica que handler usar
123 PerlHandler HTML::EmbperlObject # Agrega el módulo de EmbperlObject
124 PerlSetEnv EMBPERL_COOKIE_DOMAIN ".mecon.ar" # Indica el dominio de la cookie usada para la sesion
125 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
126 PerlSetEnv EMBPERL_OPTIONS 16 # Estaba así
127 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
128 PerlSetEnv EMBPERL_OBJECT_BASE base.epl #Indica el archivo base usado por EmbperlObject en cada directorio
129 Options ExecCGI # Indica el modo de ejecución del Embperl
132 # Las siguientes líneas son para otros archivos de perl
134 SetHandler perl-script
135 PerlHandler Apache::Registry
141 @subsection apache_php Instalación de PHP.
154 @subsubsection apache_php_pear Instalación de paquetes de PEAR.
157 pear install Validate
158 pear install Mail_Mime
159 pear install HTML_Common
160 pear install HTML_Table
161 pear install HTML_QuickForm
162 pear install HTML_Page
163 pear install Numbers_Words
166 @subsubsection apache_php_config Configuración de PHP.
168 La configuración por omisión de Debian es bastante buena, sólo hay que modificar
169 (o agregar en caso de no estarlo) lo siguiente:
171 allow_call_time_pass_reference = Off
173 error_reporting = E_ALL
176 log_errors_max_len = 4096
179 error_log = /var/log/apache/php.log
180 register_globals = Off
181 register_argc_argv = Off
182 magic_quotes_gpc = Off
183 default_charset = "iso-8859-1"
184 include_path = ".:/var/www/sistemas_lib:/var/www/meconlib/lib:/var/www/meconlib/pear_lib_tmp:/usr/share/php"
189 SMTP = mail1.mecon.ar
190 sendmail_from = intranet@mecon.gov.ar
192 session.cookie_domain = .mecon.ar
193 session.name = INTRANET_PHPSESSID
194 session.auto_start = 1
197 Luego hay que crear el archivo de log con los permisos correctos:
199 touch /var/log/apache/php.log
200 chown www-data.www-data /var/log/apache/php.log
201 /etc/init.d/apache restart
205 @section locales Configuración de locales.
206 @verbatim apt-get install locales @endverbatim
207 Luego elegir es_AR ISO.8859-1 en la primera lista y es_AR en la segunda.
210 @section sistemas Instalacion de sistemas.
212 @subsection sistemas_subversion Instalación de Subversion.
213 Instalar el paquete subversion:
214 @verbatim apt-get install subversion @endverbatim
216 @subsection sistemas_permisos Permisos y estructura de directorios.
217 Asegurarse de que los permisos en /var/www sean correctos:
219 chown www-data.www-data /var/www -R
222 Como el usuario www-data cree la estructura de directorios:
226 mkdir sistemas htdocs sistemas_lib
229 @subsection sistemas_checkout Obtener bibliotecas y sistemas.
232 svn co http://portal.mecon.ar/svn/meconlib/tronco meconlib
234 Obtener Intranet, SAMURAI, AI y otros sistemas:
237 svn co http://portal.mecon.ar/svn/intranet/tronco intranet
238 svn co http://portal.mecon.ar/svn/samurai/tronco samurai
239 svn co http://portal.mecon.ar/svn/ai/tronco ai
240 svn co http://portal.mecon.ar/svn/infoleg/tronco infoleg
241 svn co http://portal.mecon.ar/svn/bandasnovedades/tronco bandasnovedades
242 svn co http://portal.mecon.ar/svn/brigada/tronco brigada
245 @subsection sistemas_public Crear estructura pública.
248 ln -s ../meconlib/www MECON
249 echo '<?php header("Location: /sistemas/intranet/") ?>' > index.php
252 ln -s ../../sistemas/intranet/sistema/www intranet
253 ln -s ../../sistemas/samurai/sistema/www samurai
254 ln -s ../../sistemas/ai/sistema/www ai
255 ln -s ../../sistemas/infoleg/sistema/www infoleg
256 ln -s ../../sistemas/bandasnovedades/sistema/www bandasnovedades
257 ln -s ../../sistemas/brigada/sistema/www brigada
260 @subsection sistemas_libs Crear estructura de bibliotecas.
262 cd /var/www/sistemas_lib
263 ln -s ../sistemas/ai/lib/AI
264 ln -s ../sistemas/samurai/lib/SAMURAI
265 ln -s ../sistemas/samurai/lib/INFOLEG
266 ln -s ../sistemas/bandasnovedades/lib/BandasNovedades
267 ln -s ../sistemas/brigada/lib/BRIGADA
273 @subsection db_config Configuración de bases de datos.
274 En el directorio doc/ se encuentra un archivo de ejemplo de configuración para la base
275 de datos que utilizará la intranet. El archivo se llama @c db.ini y debe ser copiado a
276 @c /var/www/sistemas/intranet/sistema/conf y luego editado para que se conecte a la base
279 Lo mismo se repite para otros sistemas generalmente (como AI).
281 @subsection db_permisos Permisos y Usuarios.
282 A cada sistema debe asignársele un usuario de MySQL y debe darse los permisos necesarios
283 y suficientes a dicho usuario sobre las bases que necesite. Si no se modifica una base a
284 la que accede debe darsele solo permisos de SELECT y si no accede a una db no debe darsele