Tecnología utilizada
-Para la implantación de CCM19 nos basamos en estándares que han sido probados millones de veces en todo el mundo. El software se basa en el framework PHP Symfony©, uno de los más probados y seguros que cuenta con más de 600.000 desarrolladores en todo el mundo.
-## Widgets frontales
-Los widgets frontend se realizan utilizando Javascript puro, sin recurrir a frameworks como jquery, vue o react, para evitar en la medida de lo posible posibles incompatibilidades.
Seguridad
--CCM19 hace un uso intensivo de Content Security Policy (CSP) con las siguientes restricciones habituales:
--Política de seguridad de contenidos:
-default src 'self';
-connect src 'self' https://update.ccm19.de;
--script src 'self' 'unsafe inline';
--style src 'self' 'unsafe inline';
-img src 'self' data:;
-frame anc 'self';
-form action 'self
Almacenamiento sin base de datos
-Todos los datos se almacenan localmente en formato JSON en el área segura de CCM19.-Si utiliza la variante de descarga, encontrará los datos en el directorio /var de su instalación.
El almacenamiento y procesamiento es tan eficiente que incluso varios millones de llamadas al día pueden procesarse sin problemas.
Almacenamiento con base de datos
CCM19 utiliza alternativamente MongoDB a partir de la versión 4.0. En esta variante, todos los datos se almacenan en la base de datos.
--En este caso, el directorio /var se sigue utilizando con fines de almacenamiento en caché, por lo que debe seguir siendo escribible.
--CCM19 requiere transacciones multidocumento.--Éstas sólo están soportadas en conjuntos de réplica y (a partir de la versión 4.2 de MongoDB) en clusters fragmentados.-----Por tanto, generalmente es necesario configurar un Replica set incluso con configuraciones de 1 servidor. No se requiere ninguna otra configuración especial.
-## Fase Beta
Antes del lanzamiento, realizamos varias pruebas para encontrar y corregir errores típicos. Además, hay una fase beta ampliada en la que muchos clientes participan y nos dan su opinión antes del lanzamiento final.
-## Requisitos del sistema para la variante de descarga
--La versión de autoservicio / descarga de CCM19 sólo requiere
--Linux u otro sistema operativo compatible con POSIX - PHP versión 7.2 o superior - Apache httpd 2.2+ o nginx - Y en el caso de utilizar la base de datos MongoDB a partir de la versión 4
Apache httpd
-Recomendamos un servidor LAMP - por lo que el M para MySQL no es necesario y puede ser sustituido alternativamente por MongoDB.
Los siguientes módulos son necesarios para el funcionamiento con Apache httpd:
- mod_rewrite
- mod_headers (opcional)
- mod_expires (opcional)
-CCM19 es totalmente compatible con el módulo de caché mod_cache. También se recomienda para optimizar el rendimiento de Apache httpd. Para obtener información sobre cómo hacerlo, consulte los innumerables tutoriales disponibles en otras páginas.
nginx
Si su servidor webutiliza nginx , puede ser necesario realizar ajustes en la configuración del servidor para que CCM19 funcione satisfactoriamente después de haber realizado el primer paso de la instalación.
-------En primer lugar, averigüe la ruta del archivo de configuración del servidor nginx para su (sub)dominio (normalmente /etc/nginx/nginx.conf o /etc/nginx/conf.d/domainname.conf) y la ruta del socket para el módulo PHP FPM instalado (a menudo unix:/run/php/php7.2 fpm.sock o similar) a través de su proveedor o administrador del servidor.
---Anote también la ruta absoluta al directorio público de la instalación de CCM19 y la ruta URL deseada a ccm19 (por ejemplo, /ccm19).
--El archivo de configuración de ejemplo que aparece aquí puede encontrarse en el paquete de descarga, en el directorio www/examples/ - CCM19 se instala en un subdirectorio aquí.
Ejemplo:
-# Añada el contenido de este fichero a su configuración nginx dentro de un
-# bloque de servidor si desea ejecutar CCM19 en un subdirectorio.
--# Esto requiere el módulo PHP FPM con al menos PHP 7.2.
#
# Debe hacer los siguientes ajustes:
--# Reemplace "/ccm19" con la ruta URL bajo la cual CCM19 debe ser accesible,
--# "/path/to/ccm/public" con la ruta al directorio público en su
-# instalación de CCM19 (¡sin / al final!),
--# "unix:/run/php/php7.2 fpm.sock" dependiendo de la configuración del servidor con el
---# reemplace la ruta del socket a su módulo PHP FPM.
set $ccm19_urlpath /ccm19;
set $ccm19_realpath /ruta/a/ccm/publico;
location ~ /ccm19(/.*) {
root $ccm19_ruta_real;
try_files $1 @ccm19;
}
location ^~ /ccm19/index.php {
return 403;
}
location @ccm19 {
root $ccm19_ruta_real;
fastcgi_index index.php;
fastcgi_split_path_info ^(/ccm19)(/.*)$;
set $path_info $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
fastcgi_param SCRIPT_NAME $ccm19_urlpath/index.php;
fastcgi_param PATH_INFO $ruta_info;
fastcgi_param HTTP_PROXY "";
fastcgi_param QUERY_STRING $cuerda_consulta;
fastcgi_param REQUEST_METHOD $método_de_petición;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $protocolo_servidor;
fastcgi_param REQUEST_SCHEME $scheme;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param PUERTO_REMOTO $puerto_remoto;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $nombre_servidor;
-fastcgi_pass unix:/run/php/php7.2 fpm.sock;
}