Zum Inhalt

Tecnología utilizada

Para la implementación de CCM19, apostamos por estándares probados millones de veces en todo el mundo. La base del software es el framework PHP-Symfony©, que, con más de 600 000 desarrolladores en todo el mundo, es uno de los frameworks más probados y seguros que existen.

Widgets de la interfaz de usuario-

Los widgets de la interfaz de usuario-están implementados en JavaScript puro, sin recurrir a marcos de trabajo como, por ejemplo, jQuery, Vue o React, con el fin de evitar, en la medida de lo posible, posibles incompatibilidades.

Seguridad

CCM19 utiliza de forma intensiva la Política de Seguridad de Contenidos (CSP) con las siguientes restricciones habituales:

Política de Seguridad de Contenidos (-Security-Policy):
    por defecto-src 'self';
    conectar-src 'self' https://update.ccm19.de;
    script-src 'self' 'unsafe-inline';
    style-src 'self' 'unsafe-inline';
    img-src 'self' data:;
    frame-ancestors 'self';
    form-action 'self'

Almacenamiento sin base de datos

Todos los datos se almacenan en formato JSON-de forma local 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 el procesamiento son tan eficientes que se pueden gestionar sin problemas incluso varios millones de accesos al día.

Almacenamiento con base de datos

CCM19 utiliza, como alternativa, 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-sigue utilizándose para el almacenamiento en caché-, por lo que debe seguir siendo escribible.

CCM19 requiere transacciones multi-document-. Estas solo son compatibles con conjuntos de réplicas-y (a partir de la versión 4.2 de MongoDB-) con clústeres fragmentados. Por lo tanto, por lo general es necesario configurar también un conjunto de réplicas- incluso en configuraciones de un único servidor-- . No se requieren ajustes especiales adicionales.

Fase beta-

Antes del lanzamiento, llevamos a cabo diversas pruebas para detectar y corregir los errores típicos. Además, hay una fase beta ampliada en la que participan muchos clientes y nos proporcionan comentarios antes del lanzamiento definitivo.

Requisitos del sistema para la variante de descarga-

La versión Self-Service / Download-de CCM19 solo requiere

  • Linux u otro sistema operativo compatible con POSIX-- PHP a partir de la versión 7.2
  • Apache httpd 2.2+ o nginx
  • Y, en caso de utilizar la base de datos MongoDB, a partir de la versión 4

Apache httpd

Como servidor, recomendamos un servidor LAMP-, aunque la «M» de MySQL no es necesaria y puede sustituirse por MongoDB.

Para el funcionamiento con Apache httpd se necesitan los siguientes módulos:

  • mod_rewrite
  • mod_headers (opcional)
  • mod_expires (opcional)

CCM19 es totalmente compatible con el módulo de almacenamiento en caché-mod_cache. Además, se recomienda optimizar el rendimiento de Apache httpd. Para saber cómo hacerlo, os remitimos a los innumerables tutoriales que hay disponibles en otras páginas.

nginx

Si su servidor web utiliza nginx, es posible que sea necesario realizar ajustes en la configuración del servidor para que CCM19 funcione correctamente una vez que haya completado el primer paso de la instalación.

En primer lugar, introduzca la ruta al archivo de configuración del servidor nginx-para su dominio (sub-) (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 su proveedor o al administrador del servidor-.

Anote también la ruta absoluta al directorio «public»-de la instalación de CCM19-y la ruta URL-deseada para acceder a ccm19 (por ejemplo, /ccm19).

El archivo de configuración de ejemplo-que se muestra aquí se encuentra en el paquete de descarga-, en el directorio www/examples/; en este ejemplo, CCM19 se instala en un subdirectorio.

Ejemplo:

# Añada el contenido de este archivo a su configuración de nginx-dentro de un
# bloque server-si desea ejecutar CCM19 en un subdirectorio.
# Para ello, se necesita el módulo PHP-FPM-con al menos PHP 7.2.
#
# Debe realizar los siguientes ajustes:
# - "/ccm19" por la ruta-en la que desea que CCM19 sea accesible,
# - "/path/to/ccm/public" por la ruta al directorio público-en su
#   instalación de CCM19-(¡sin el / al final!),
# - "unix:/run/php/php7.2-fpm.sock" por la ruta
#   del socket-a su módulo PHP-FPM-, según la configuración del servidor.

    set $ccm19_urlpath /ccm19;
    set $ccm19_realpath /path/to/ccm/public;

    location ~ /ccm19(/.*) {
        root $ccm19_realpath;
        try_files $1 @ccm19;
    }

    location ^~ /ccm19/index.php {
        return 403;
    }

    location @ccm19 {
        root $ccm19_realpath;

        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 $path_info;

        fastcgi_param HTTP_PROXY    "";
        fastcgi_param QUERY_STRING  $query_string;
        fastcgi_param REQUEST_METHOD    $request_method;
        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   $server_protocol;
        fastcgi_param REQUEST_SCHEME    $scheme;
        fastcgi_param HTTPS     $https si no está vacío;
        fastcgi_param GATEWAY_INTERFACE CGI/1.1;
        fastcgi_param SERVER_SOFTWARE   nginx/$nginx_version;
        fastcgi_param REMOTE_ADDR   $remote_addr;
        fastcgi_param REMOTE_PORT   $remote_port;
        fastcgi_param SERVER_ADDR   $server_addr;
        fastcgi_param SERVER_PORT   $server_port;
        fastcgi_param SERVER_NAME   $server_name;

        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }