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
164 pear install Spreadsheet_Excel_Writer<F10>
167 @subsubsection apache_php_config Configuración de PHP.
169 La configuración por omisión de Debian es bastante buena, sólo hay que modificar
170 (o agregar en caso de no estarlo) lo siguiente:
172 allow_call_time_pass_reference = Off
174 error_reporting = E_ALL
177 log_errors_max_len = 4096
180 error_log = /var/log/apache/php.log
181 register_globals = Off
182 register_argc_argv = Off
183 magic_quotes_gpc = Off
184 default_charset = "iso-8859-1"
185 include_path = ".:/var/www/sistemas_lib:/var/www/meconlib/lib:/var/www/meconlib/pear_lib_tmp:/usr/share/php"
190 SMTP = mail1.mecon.ar
191 sendmail_from = intranet@mecon.gov.ar
193 session.cookie_domain = .mecon.ar
194 session.name = INTRANET_PHPSESSID
195 session.auto_start = 1
198 Luego hay que crear el archivo de log con los permisos correctos:
200 touch /var/log/apache/php.log
201 chown www-data.www-data /var/log/apache/php.log
202 /etc/init.d/apache restart
206 @section locales Configuración de locales.
207 @verbatim apt-get install locales @endverbatim
208 Luego elegir es_AR ISO.8859-1 en la primera lista y es_AR en la segunda.
211 @section sistemas Instalacion de sistemas.
213 @subsection sistemas_subversion Instalación de Subversion.
214 Instalar el paquete subversion:
215 @verbatim apt-get install subversion @endverbatim
217 @subsection sistemas_permisos Permisos y estructura de directorios.
218 Asegurarse de que los permisos en /var/www sean correctos:
220 chown www-data.www-data /var/www -R
223 Como el usuario www-data cree la estructura de directorios:
227 mkdir sistemas htdocs sistemas_lib
230 @subsection sistemas_checkout Obtener bibliotecas y sistemas.
233 svn co http://portal.mecon.ar/svn/meconlib/tronco meconlib
235 Obtener Intranet, SAMURAI, AI y otros sistemas:
238 svn co http://portal.mecon.ar/svn/intranet/tronco intranet
239 svn co http://portal.mecon.ar/svn/samurai/tronco samurai
240 svn co http://portal.mecon.ar/svn/ai/tronco ai
241 svn co http://portal.mecon.ar/svn/infoleg/tronco infoleg
242 svn co http://portal.mecon.ar/svn/bandasnovedades/tronco bandasnovedades
243 svn co http://portal.mecon.ar/svn/brigada/tronco brigada
246 @subsection sistemas_public Crear estructura pública.
249 ln -s ../meconlib/www MECON
250 echo '<?php header("Location: /sistemas/intranet/") ?>' > index.php
253 ln -s ../../sistemas/intranet/sistema/www intranet
254 ln -s ../../sistemas/samurai/sistema/www samurai
255 ln -s ../../sistemas/ai/sistema/www ai
256 ln -s ../../sistemas/infoleg/sistema/www infoleg
257 ln -s ../../sistemas/bandasnovedades/sistema/www bandasnovedades
258 ln -s ../../sistemas/brigada/sistema/www brigada
261 @subsection sistemas_libs Crear estructura de bibliotecas.
263 cd /var/www/sistemas_lib
264 ln -s ../sistemas/ai/lib/AI
265 ln -s ../sistemas/samurai/lib/SAMURAI
266 ln -s ../sistemas/samurai/lib/INFOLEG
267 ln -s ../sistemas/bandasnovedades/lib/BandasNovedades
268 ln -s ../sistemas/brigada/lib/BRIGADA
274 @subsection db_config Configuración de bases de datos.
275 En el directorio doc/ se encuentra un archivo de ejemplo de configuración para la base
276 de datos que utilizará la intranet. El archivo se llama @c db.ini y debe ser copiado a
277 @c /var/www/sistemas/intranet/sistema/conf y luego editado para que se conecte a la base
280 Lo mismo se repite para otros sistemas generalmente (como AI).
282 @subsection db_permisos Permisos y Usuarios.
283 A cada sistema debe asignársele un usuario de MySQL y debe darse los permisos necesarios
284 y suficientes a dicho usuario sobre las bases que necesite. Si no se modifica una base a
285 la que accede debe darsele solo permisos de SELECT y si no accede a una db no debe darsele