1 | # Manual de instalación de Murachí - Portal de Firma Electrónica y Verificación |
---|
2 | |
---|
3 | Murachí es un servicio web para la firma y verificación de documentos firmados |
---|
4 | electrónicamente que ofrece las herramientas necesarias para incorporar, de |
---|
5 | manera sencilla, la funcionalidad de firma electrónica en sistemas como correo |
---|
6 | electrónico o sitios web. |
---|
7 | |
---|
8 | ## Autores: |
---|
9 | |
---|
10 | Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL), |
---|
11 | Mérida - Venezuela. |
---|
12 | Dirección de Desarrollo: |
---|
13 | -Ing. Pedro Buitrago |
---|
14 | -Ing. Angelo Osorio |
---|
15 | -Ing. Laura Colina |
---|
16 | -Ing. Pablo Sulbarán |
---|
17 | -Ing. Argenis Osorio |
---|
18 | |
---|
19 | ## Instalación: |
---|
20 | |
---|
21 | ### Requerimientos del sistema: |
---|
22 | |
---|
23 | Servidor Web. |
---|
24 | Php5 o superior. |
---|
25 | Java 1.6 o 1.7 compatible runtime. |
---|
26 | |
---|
27 | ### Instalación del entorno: |
---|
28 | |
---|
29 | * Entorno: Desarrollo |
---|
30 | * Usaremos $ para describir los comandos que se ejecutaran con un usuario regular. |
---|
31 | * Usaremos # para describir los comandos que se ejecutaran con un super usuario. |
---|
32 | |
---|
33 | 1. Instalar el entorno: |
---|
34 | |
---|
35 | $ sudo aptitude install apache2 |
---|
36 | |
---|
37 | $ sudo aptitude install php7.0 |
---|
38 | |
---|
39 | $ sudo aptitude install default-jre |
---|
40 | |
---|
41 | $ sudo aptitude install openjdk-8-jre |
---|
42 | |
---|
43 | NOTAS: |
---|
44 | |
---|
45 | -Al instalar default-jre en Debian 9 Stretch, se instalará openjdk-8-jre, que es |
---|
46 | la versión de openjdk por defecto para esa distribución. |
---|
47 | |
---|
48 | -Se ha comprobado la compatibilidad de PortableSigner solo hasta OpenJDK versión |
---|
49 | 11, desde en esa en adelante dependerá del usuario comprobar. |
---|
50 | |
---|
51 | -Las pruebas fueron realizadas con OpenJDK 8. |
---|
52 | |
---|
53 | 2. Descargar el proyecto: |
---|
54 | |
---|
55 | Clonar el proyecto en el directorio del servidor local (www, htdocs, html, etc...): |
---|
56 | |
---|
57 | $ export GIT_SSL_NO_VERIFY=True |
---|
58 | |
---|
59 | $ git clone https://tibisay.cenditel.gob.ve/murachi/scm/git/portal_2019.git |
---|
60 | |
---|
61 | Entrar al proyecto: |
---|
62 | |
---|
63 | $ cd portal_2019 |
---|
64 | |
---|
65 | Cambiar a la rama master: |
---|
66 | |
---|
67 | $ git checkout master |
---|
68 | |
---|
69 | Crear el directorio donde se guardarán los archivos gestionados: |
---|
70 | |
---|
71 | $ mkdir tmp |
---|
72 | |
---|
73 | Otorgarle al servidor la propiedad del directorio: |
---|
74 | |
---|
75 | # chown -R www-data:www-data tmp |
---|
76 | |
---|
77 | 3. Correr en el navegador host/portal_2019/ y si todo se ejecutó correctamente |
---|
78 | debemos ver el Portal de Firma Electrónica y Verificación. |
---|
79 | |
---|
80 | ### Errores y preguntas frecuentes |
---|
81 | |
---|
82 | -Error 1. El sistema se carga pero no muestra las imágenes ni los estilos |
---|
83 | -Solución: Entrar en el archivo portal_2019/php/url.php y modificar la ruta |
---|
84 | de la línea 12. |
---|
85 | |
---|
86 | De: |
---|
87 | |
---|
88 | if ($_SERVER['REQUEST_URI'] == "/index.php" || $_SERVER['REQUEST_URI'] == "/") { |
---|
89 | |
---|
90 | a: |
---|
91 | |
---|
92 | if ($_SERVER['REQUEST_URI'] == "/portal_2019/index.php" || $_SERVER['REQUEST_URI'] == "/portal_2019/") { |
---|
93 | |
---|
94 | donde **/portal_2019/** será el nombre del directorio donde está alojado el sistema. |
---|
95 | |
---|
96 | ----- |
---|
97 | |
---|
98 | -Error 2. El sistema arroja: **Error al intentar subir el archivo.../tmp/xxxxxxxxxx.pdf** |
---|
99 | -Solución: Crear el directorio tmp y darle permisos 777 al directorio, o en |
---|
100 | su defecto otorgarle la propiedad del directorio al usuario del servidor |
---|
101 | como se muestra en el paso 2 de la instalalación. |
---|
102 | |
---|
103 | ----- |
---|
104 | |
---|
105 | -Error 3. El sistema arroja el error "clave inválida" a pesar que escribir |
---|
106 | la clave adecuada del p12. |
---|
107 | -Solución: Entrar en el archivo portal_2019/php/run_script.php y agregar el |
---|
108 | flag --illegal-access=deny la ruta de la línea 59. |
---|
109 | |
---|
110 | De: |
---|
111 | |
---|
112 | $callPortable = "java -jar ../PortableSigner.jar -n"; |
---|
113 | |
---|
114 | a: |
---|
115 | |
---|
116 | $callPortable = "java -jar --illegal-access=deny ../PortableSigner.jar -n"; |
---|
117 | |
---|
118 | ### Notas: |
---|
119 | |
---|
120 | - La documentación de portablesigner se encuentra en: http://portablesigner.sourceforge.net/ |
---|
121 | - PortableSigner puede instalarse de manera global y ser convocado de manera diferente al script de php |
---|
122 | - Para encriptar la frase de paso en el cliente se utiliza [jsencrypt](https://github.com/travist/jsencrypt) |
---|
123 | |
---|
124 | ### El portal fue desarrollado en máquinas con las siguientes especificaciones: |
---|
125 | |
---|
126 | - Debian 9.9 stretch |
---|
127 | - Apache/2.4.25 (Debian) |
---|
128 | - PHP 7.3.8-1+0~20190807.43+debian9~1.gbp7731bf |
---|
129 | - OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1~deb9u1-b10) |
---|
130 | - Google Chrome Versión 75.0.3770.142 (Build oficial) (64 bits) |
---|