Zum Inhalt

Tecnología utilizada

Para la implementació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.

Frontend-Widgets

Los widgets frontend-están realizados 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:

Contenido-seguridad-política:
    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 en formato JSON-localmente 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 para fines de almacenamiento en caché-, por lo que debe seguir siendo escribible.

CCM19 requiere transacciones multi-documento-. Éstas sólo están soportadas en conjuntos de réplicas-y (a partir de la versión 4.2 de MongoDB-) en clusters fragmentados. Por lo 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 descarga-variante

La versión Self-Service / Download-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.

Primero 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 (normalmente unix:/run/php/php7.2-fpm.sock o similar) a 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 se indica 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 archivo a su configuración de nginx-dentro de un
# bloque del servidor-si desea ejecutar CCM19 en un subdirectorio.
# Esto requiere el módulo PHP-FPM-con al menos PHP 7.2.
#
# Debe realizar los siguientes ajustes:
# - Sustituya "/ccm19" por 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 la
# reemplace socket-ruta 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_remota;
        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;
    }