Saltar al contenido principal
AllsWeb
Revisión de preparación del servidor para 6amMart

Revisa el servidor antes de que la tienda abra

SixPreflight es un verificador de preparación del servidor para 6amMart. Subes una carpeta, la abres en un navegador, y hasta 163 comprobaciones terminan en una sola frase: listo para abrir, o no listo — y exactamente qué corregir primero.

Obtener SixPreflightHablar con un ingenieroLeer la documentación

Siempre la versión actual, y corre en tu propio servidor. Lee: nunca lee ni escribe una tabla de la aplicación, y nunca envía correo ni SMS a nadie. Tres superficies pueden actuar fuera de la propia carpeta de la herramienta, y una cuarta escribe dentro de ella — cada una solo cuando presionas su botón. Mira “Qué va a cambiar, si se lo pides”.

163

comprobaciones distintas en el código

10

pasos, primero los más baratos y los que más probablemente estén rotos

1

frase al final de todo

A–F

calificación, con cada bloqueador nombrado

¿Estás leyendo esto con un asistente de IA?

Ver como Markdown

Conseguir SixPreflight

SixPreflight es una carpeta de PHP que subes. Nada que instalar antes, y nada que registrar. Es gratis.

Pruébalo antes de descargarlo

Tienda 6amMart en vivoSixPreflight en la demo

Contraseña de la demo

Password: a3uap648vnh7yqenc9vb

No username — SixPreflight asks for the password only.

The shop runs a real dataset — tens of thousands of orders — so the screens behave the way they will on yours, not the way a demo with forty products does. Two things are switched off on the demo: maps and SMS one-time passwords. Both use keys locked to a single server, which is how they should be held, so they cannot answer from a demo host. They work normally on your own install.

Obtener SixPreflight

Free
  • Actualizaciones incluidas — cada versión llega a CodeCanyon sin coste adicional. Sin servidor de licencias, sin clave que renovar.
  • La primera configuración es gratis — envía tu código de compra y los datos del servidor por WhatsApp o correo.
Consíguelo en CodeCanyon
Leer el manual

Nada que activar — funciona en tu propio servidor, no llama a casa, y sigue funcionando aunque este sitio esté caído.

Qué hace

Para un dueño de tienda, no para un ingeniero

Compraste 6amMart, alquilaste un servidor, y alguien lo instaló. El sitio carga. Eso no es lo mismo que estar listo. Una tienda puede verse completamente normal en un navegador mientras su pasarela de pago no tiene credenciales que funcionen, sus notificaciones push no llegan a ninguna parte, su archivo .env lo puede leer cualquiera en internet, sus tareas programadas nunca se han ejecutado ni una vez, y su base de datos está configurada para usar una fracción de la memoria que estás pagando. Nada de eso aparece hasta que un cliente real hace un pedido real y algo sale mal en silencio.

SixPreflight es la revisión que corres antes de que eso pase. Subes una carpeta a tu sitio, la abres en un navegador, pones una contraseña y presionas un botón. Mira el servidor como lo miraría un ingeniero cuidadoso — el hardware, PHP, los ajustes de la base de datos, el servidor web, los permisos de archivos, qué puede alcanzar internet, y si los pagos, el correo, los SMS, los mapas y las notificaciones push funcionan de verdad cuando los llamas en serio.

Después te da una sola frase — “Listo para abrir” o “No está listo para recibir pedidos” — una calificación con letra, y una lista ordenada de qué corregir, cada punto con la línea exacta a cambiar, el archivo donde está, y qué le cuesta a tu tienda dejarlo así.

Listo para abrirNo está listo para recibir pedidos

El escaneo en sí solo lee. Donde la herramienta puede actuar, actúa con un botón que tú presionas, nunca por su cuenta.

Con esto frente a sin esto

Lo que sabes antes de abrir

El mismo servidor en los dos lados. La diferencia es si encuentras tú los problemas, o los encuentra un cliente que paga.

  • El día que abres

    Sin SixPreflight

    El sitio carga en el navegador, así que abres. Una tienda puede parecer completamente normal mientras su pasarela de pago no tiene credenciales que funcionen, sus notificaciones push no llegan a ninguna parte, su .env es legible por cualquiera en internet, sus tareas programadas no se han ejecutado ni una vez, y su base de datos está configurada para usar una fracción de la memoria que estás pagando.

    Con SixPreflight

    Hasta 163 comprobaciones terminan en una sola frase — lista para abrir, o no lista para tomar pedidos — con una nota de la A a la F y una lista ordenada de qué arreglar primero.

  • Cómo te enteras de que algo va mal

    Sin SixPreflight

    Un cliente real hace un pedido real y algo falla en silencio. Esa es tu primera señal, y te cuesta el pedido y el cliente.

    Con SixPreflight

    Te enteras antes de abrir, con un escaneo que ejecutas tú mismo — cada punto indica la línea exacta a cambiar, el archivo en el que está y lo que le cuesta a tu tienda dejarlo así.

  • Una credencial presente pero incorrecta

    Sin SixPreflight

    Se parece exactamente a una que funciona. Un archivo de configuración con un valor te dice que el valor está ahí, no que sea correcto.

    Con SixPreflight

    Lo resuelven llamadas reales: un token de Firebase real generado y enviado al endpoint de Google, una conversación SMTP real con EHLO / STARTTLS / AUTH y una llamada de geocodificación en vivo a Google Maps. Presente-pero-incorrecto falla aquí, el único lugar donde se puede detectar antes de que lo encuentre un cliente.

  • Lo que internet ya puede alcanzar

    Sin SixPreflight

    Das por hecho que los archivos que no deberían ser públicos no lo son. Nada en el servidor te dice lo contrario, porque nada está haciendo las peticiones.

    Con SixPreflight

    Descarga una lista fija de direcciones de riesgo conocidas desde tu propio sitio en vivo — /.env, /.git/config, /artisan, el database.sql del instalador y los propios archivos de la herramienta — e informa de lo que realmente respondió.

  • Lo que cuesta

    Sin SixPreflight

    Enterarte de esto por un cliente es la versión cara.

    Con SixPreflight

    Nada. SixPreflight es gratuito en CodeCanyon y la primera configuración es gratis. Nada en el paquete comprueba una licencia, una cuenta ni una fecha de caducidad, y nada informa de nada a AllsWeb.

Ejecutado en servidores reales

Qué puntuó cuando lo apuntamos a nuestras propias máquinas

Un verificador que nunca ha publicado un resultado es una afirmación. Estos vienen de la misma ronda de mediciones que el benchmark de SixPanel — la herramienta desplegada en servidores reales con una tienda real, y puntuada como la puntúa un navegador y no desde una consola.

SixPanel

97 · A

Filas que requieren atención: Ninguna

SixPanel Docker

96 · A

Filas que requieren atención: Ninguna

Cómo leer bien una puntuación con tope

La puntuación se limita a 88 mientras haya una sola fila en rojo, por muy bien que esté todo lo demás. Es deliberado — una tienda que no puede operar no debería leerse como un notable alto — pero significa que un número con tope no te dice casi nada sobre los otros noventa y nueve controles. Antes, en esa misma ronda, un servidor marcó 88 y otro 96, y la diferencia entre sus puntuaciones subyacentes era de 0,03 sobre un centenar de controles. Toda la diferencia visible era un trabajo en segundo plano obsoleto. Lee siempre las filas rojas, nunca solo el titular.

Un defecto que esta ronda encontró en la propia herramienta

El ejecutor de escaneos de SixPreflight no tenía ningún manejo de errores. En un servidor donde la empresa de hosting ha deshabilitado una función de PHP, llamarla en PHP 8 no es un aviso que se pueda silenciar — es un error fatal — así que una sola función deshabilitada terminaba el escaneo entero con una traza en vez de un informe. Y ese es precisamente el hosting compartido de cPanel y Plesk que más probablemente necesita esta herramienta. Está corregido: una función deshabilitada es ahora una fila que dice que no se pudo medir, y el escaneo termina.

Y uno en el que se equivoca en un servidor endurecido

En un servidor donde PHP está confinado por un sandbox del kernel, SixPreflight no puede leer la configuración del servidor web — y comunica que un tiempo de espera está sin definir cuando el servidor web sí lo ha definido. Ausencia de pruebas leída como prueba de ausencia, lo que penaliza a un servidor por estar endurecido. Aparece aquí porque una herramienta que declara sus propios puntos ciegos vale más que una que no tiene ninguno.

Cómo funciona

Por pasos, no una sola espera larga

La página en sí no ejecuta ninguna comprobación. Dibuja un cascarón vacío, y después el navegador le pide al servidor un paso a la vez.

  • El primer dibujado es instantáneo

    Medido en la instalación de prueba: 6.8 KB en 2 ms, contra 36 KB y alrededor de 1.6 s cuando la página hacía todo el trabajo antes de renderizar. En un servidor que por definición puede estar mal configurado, esperar la comprobación más lenta antes de mostrar algo es un mal intercambio.

  • La barra de progreso es real

    Pasos completados sobre pasos totales, no una animación. Cuando se detiene, algo está de verdad trabado, y la etiqueta dice qué comprobación es.

  • Una comprobación colgada no puede tumbar la página

    Cada paso es su propia petición corta, así que nada choca contra max_execution_time. Un paso que lanza un error se reporta como hallazgo y el escaneo sigue. Cada paso terminado se escribe en disco a medida que se completa, así que un escaneo interrumpido igual se puede leer.

Dos botones

  • Revisar ahora

    Lee la configuración local y consulta la IP pública del servidor — alrededor de un segundo.

  • Revisión profunda

    Agrega los dos pasos que hacen llamadas reales hacia afuera: las pruebas de exposición pública contra tu propia URL, y las pruebas de integración en vivo.

Detalle honesto: “Revisar ahora” no es del todo sin conexión. La fila de la IP pública consulta un servicio externo de eco — ifconfig.me, después api.ipify.org, después icanhazip.com, probados en ese orden y guardados en caché entre escaneos, a propósito tres proveedores para que un mal minuto no sobrescriba una respuesta que se sabe buena.

Las tres formas en que corre

SixPreflight deduce qué está mirando y cambia lo que dice, porque un consejo honesto es distinto en cada caso.

  • En un servidor común — sin ninguna aplicación instalada todavía

    Este es el modo para elegir un servidor o preparar uno nuevo. El hardware, PHP, el servidor de base de datos, el servidor web, los permisos y la exposición pública se siguen revisando. El paso de .env no devuelve nada, el paso de la aplicación devuelve solo la fila de perfil, y el paso de base de datos reporta “no revisado — aquí no hay aplicación que guarde credenciales” como aprobado, en lugar de dejar que una conexión faltante se convierta en la peor fila de una máquina que está correctamente vacía.

    Igual puedes auditar la base de datos de una máquina vacía apuntando env_path a un .env de relleno que lleve las credenciales.

  • Dentro de tu tienda — en el código del admin de 6amMart

    Sube la carpeta a public/, el directorio que tu servidor web realmente sirve. La raíz de la aplicación se encuentra subiendo desde la propia carpeta de la herramienta, como máximo cinco niveles, hasta el directorio que tenga artisan — así que tanto public/preflight/ como una carpeta en la raíz de la aplicación funcionan, y una subida enterrada más de cinco niveles recibe en silencio el modo autónomo. El lugar correcto es public/ — una carpeta en la raíz de la aplicación solo se puede alcanzar por URL cuando la raíz de documentos está mal, que es justamente lo más grave que busca esta herramienta.

    Aquí corre cada comprobación, incluidas las escritas específicamente desde el código de 6amMart: el programador de tareas que paga a tiendas y repartidores, los módulos marcados como habilitados pero que faltan, las extensiones exactas de PHP que exigen sus paquetes de proveedor, y la capa de websocket detrás del seguimiento de entregas en vivo. En cualquier otra aplicación Laravel, todo lo relativo al servidor sigue aplicando tal como está escrito, y las comprobaciones específicas de 6amMart se saltan en vez de adivinarse.

  • Integrado en SixPanel

    En un servidor con SixPanel, el panel es dueño del servidor web, PHP, la configuración de la base de datos, cron, el worker de la cola y el certificado, y reescribe esos archivos desde sus propias plantillas en cada despliegue — así que un valor pegado a mano se pierde en silencio en el siguiente despliegue. En ese modo SixPreflight quita los bloques para pegar, los bloques crudos de nginx y Apache, las líneas para reiniciar php-fpm y las rutas de “dónde hacer clic en tu panel de hosting”, y en su lugar señala la página de SixPanel que es dueña de cada ajuste. Conserva todo lo de la aplicación — .env, ajustes del negocio, claves faltantes o equivocadas, un APP_URL equivocado, almacenamiento roto, errores en el log — porque esa es la mitad que el panel no puede arreglar por sí solo. Dice en qué modo está, en una línea arriba de la página, así que el modo nunca es un misterio.

    El modo lo decide una variable de entorno que fija el bloque de servidor que responde la ruta (SIXPANEL_EMBED=1), o 'embedded' => true en config.php. A propósito, una cabecera de petición no es la señal principal: una cabecera la escribe quien hace la petición, así que sobreviviría al marco del panel y nada más — abre la misma página en una pestaña nueva y la herramienta volvería a dar consejo autónomo en el mismo servidor. X-SixPanel-Embed: 1 solo se respeta cuando activas 'trust_embed_header', que está apagado por defecto, porque sin control dejaría que cualquier visitante se diera a sí mismo la vista de servidor administrado en un servidor que en realidad le toca arreglar a él.

Qué revisa

163 comprobaciones distintas, en diez pasos

En el código viven 163 comprobaciones distintas, que corren en diez pasos, ordenadas primero por las más baratas y las que más probablemente estén rotas. Los dos pasos que hacen llamadas hacia afuera están marcados como lentos y solo corren en una Revisión profunda.

Los diez pasos del escaneo, qué mira cada uno, y cuántas comprobaciones distintas contiene.
PasoQué miraComprobacionesEjemplos reales
Sistema y hardwareLa máquina que estás pagando7cantidad de vCPU, RAM, swap, disco libre, carga promedio, versión del sistema operativo, si existe siquiera alguna herramienta de respaldo
Entorno de ejecución de PHPEl lenguaje en el que corre la tienda18banda de versión de PHP, 25 extensiones requeridas, memory_limit, max_execution_time efectivo, display_errors, OPcache encendido/apagado, memoria y cantidad de archivos de OPcache, tasa de acierto
Salud de la aplicaciónLaravel y el propio 6amMart22.env versionado en git, migraciones pendientes, tareas fallidas, cola acumulada, tamaño del log, cantidad de errores en el log, si el programador de tareas ha corrido alguna vez, lista de módulos válida, proxies de confianza, ajustes de instalación presentes
Entorno (.env)El único archivo que todo lee14claves duplicadas (gana la última, así que tu edición no hace nada), caracteres \r invisibles, un APP_KEY inválido o el que viene de fábrica, APP_DEBUG=true, un APP_URL mal formado, claves que nadie lee, claves que quedan nulas cuando se cachea la configuración
Identidad del host y permisosQuién es dueño de los archivos9IPv4 e IPv6 públicas, el usuario de PHP, la propiedad de los archivos, los seis directorios que deben ser escribibles, archivos escribibles por todos, un .env legible por todos, cualquier cosa escribible y ejecutable dentro de public/
Servidor webnginx o Apache adelante17tipo de manejador, gzip, tokens del servidor, tiempo de espera de lectura de FastCGI, módulos y MPM de Apache, cantidad de workers de php-fpm frente a la memoria, la cadena de tamaño de subida, compresión en vivo, caché de estáticos, HSTS, vencimiento del certificado
Caché, cola y tiempo realTrabajo en segundo plano11conexión de la cola, si hay un worker de cola realmente corriendo y supervisado, drivers de sesión y de caché, Redis, Memcached, credenciales y esquema de Reverb, credenciales de Pusher
Configuración de la base de datosDonde vive el dinero32buffer pool de InnoDB dimensionado según tus datos y tu RAM reales, redo log, método de volcado, max_connections frente a los workers de php-fpm, skip_name_resolve, sql_mode, juego de caracteres, desfase de reloj entre PHP y la base de datos, tasa de acierto del buffer pool, tablas temporales en disco, privilegios del usuario de base de datos
Exposición públicalentoQué puede descargar un desconocido12HTTPS, .env legible por la web, .git/config legible, laravel.log servido, un archivo .php subido que de verdad se ejecuta, Debugbar o Telescope respondiendo, volcados de base de datos del instalador que quedaron ahí, los propios archivos de esta herramienta servidos como texto
Pagos, correo y SMSlentoLos servicios que tienen que funcionar21una conversación SMTP real, la emisión real de un token de Firebase, una llamada real de geocodificación a Google Maps, métodos de pago utilizables, credenciales de la pasarela de SMS, disco de almacenamiento escribible, modo mantenimiento, reCAPTCHA, zona horaria, moneda

La columna suma 163. Dos filas llevan una salvedad.

  • Una de las 32 comprobaciones de base de datos — db_standalone — existe solo para el caso en que no hay ninguna aplicación que guarde credenciales. Sustituye a las otras 31 en vez de sumarse a ellas.
  • Dos de las 21 comprobaciones de pagos/correo/SMS son bases de prefijo (sms_, social_) que se expanden en tiempo de ejecución en una fila por cada pasarela activa o por cada inicio de sesión social configurado. Así que ese paso puede emitir más de 21 filas en una tienda con mucho movimiento, o menos en una vacía.

Ninguna corrida sola ejecuta las 163 — y esta es exactamente la razón

  1. 01

    Una tienda instalada puede producir como mucho 162 filas distintas — y ninguna corrida sola emite las 162

    db_standalone solo se emite cuando no hay aplicación, así que una tienda instalada nunca la puede ver; esa es la número 163. Las 162 son un techo, no una corrida.

  2. 02

    Una Revisión profunda en una tienda instalada emite 160

    Cuando el paso profundo va a venir después, la clase del servidor web suprime sus dos gemelas que leen la configuración — gzip y server_tokens en nginx, o keepalive y server_tokens en Apache — porque la medición en vivo responde la misma pregunta desde una respuesta real, y las dos pueden discrepar (gzip on; con una lista gzip_types que omite application/json es aprobado por configuración y advertencia por medición, sobre un mismo ajuste). Esas gemelas están dentro de las 162; son la razón por la que una Revisión profunda queda en 160 y no en 162, no un par extra encima.

  3. 03

    Un “Revisar ahora” emite 123 — se salta 39

    Esas 39 son las 12 comprobaciones de exposición pública, las 21 de pagos/correo/SMS, y las seis filas del servidor web que solo se pueden leer de una respuesta en vivo — compression, static_cache, keepalive_live, server_banner, hsts y cert_expiry. Las dos gemelas que leen la configuración sí están en esta corrida, porque la medición en vivo que las habría reemplazado no va a llegar.

  4. 04

    Las dos cifras cuentan claves distintas, y un servidor real queda aún más abajo — usa el extremo bajo

    Tres de las 17 claves del servidor web pertenecen al servidor web que no estás usando (nginx aporta client_max_body_size, gzip y fastcgi_read_timeout; Apache aporta apache_modules, apache_mpm y keepalive), y el paso de base de datos lleva pares condicionados por el motor — MySQL 8.0.30+ reporta innodb_redo_log_capacity, todo lo demás reporta innodb_log_file_size, nunca los dos. Contando solo la división del servidor web, una Revisión profunda en una instalación con nginx o con Apache emite como mucho 157, y un “Revisar ahora” como mucho 120; cada fila de base de datos condicionada por el motor lo baja todavía más.

  5. 05

    En un servidor común, 40 filas no tienen nada que leer

    Las 14 comprobaciones de .env, las 12 de la aplicación Laravel, las 9 de la plataforma 6amMart y las 5 de tiempo real no tienen nada que leer — 40 filas, dejando solo la fila de perfil del paso de la aplicación.

Así que la forma honesta es “hasta 163” — con una Revisión profunda en una instalación de 6amMart corriendo todo el conjunto disponible para ella, que son 160 claves distintas y no más de 157 filas en una máquina real con un solo servidor web.

Ninguno de los dos pasos lentos adivina nada

  • El paso de exposición descarga direcciones reales de tu sitio real

    Descarga una lista fija de direcciones conocidas por riesgosas desde tu propio sitio en vivo — /.env, /.git/config, /storage/logs/laravel.log, /artisan, /composer.json, /vendor/autoload.php, el database.sql y el public.zip del instalador, /telescope, /_debugbar/open, la ruta de registro de tiendas, y los propios archivos de esta herramienta — y reporta qué devolvió realmente.

  • El paso de servicios hace llamadas reales

    Emite un JWT real y lo envía al endpoint de tokens de Google para demostrar que tu cuenta de servicio de Firebase funciona, abre una conversación SMTP real con EHLO / STARTTLS / AUTH, y hace una llamada de geocodificación en vivo a Google Maps. Una credencial que está presente pero equivocada falla aquí, que es el único lugar donde se puede atrapar antes de que la encuentre un cliente.

El sondeo SMTP se detiene en la autenticación. Envía EHLO, negocia STARTTLS, se autentica y después hace QUIT — en esa clase no hay MAIL FROM, no hay RCPT TO y no hay DATA, así que no se le entrega nada a nadie.

Dos páginas más que no forman parte de las 163

Las dos son superficies reales del producto y ninguna aporta al puntaje.

  • Seguimiento de entregas en vivo — 15 comprobaciones

    Tiene su propia página, que cubre el proceso de Reverb, el gestor de procesos, el socket de escucha, el firewall, el proxy, el certificado, las credenciales, las claves de la app, los ajustes de la app, la autenticación de canales, el destino del cliente, la caché de configuración, la cola, el CDN y el driver. Para un comprador de 6amMart esta es la funcionalidad detrás del mapa en vivo, y se revisa por separado en vez de mezclarse con el puntaje del servidor.

  • Alerta de pedido de prueba

    Envía una notificación push real a un dispositivo real de tienda o de repartidor, a través del propio comando artisan de la plataforma en vez de un payload armado a mano. Hay un botón de “Mostrar qué se enviaría” que la corre en seco, pero el botón por defecto envía de verdad.

Cómo puntúa

Un número — y te dice qué no pudo medir

Cada comprobación termina en una de cuatro cosas: aprobado, advertencia, problema, o no medido.

aprobadoadvertenciaproblemano medido

El número es un promedio ponderado, no un conteo. La tabla de pesos va de 200 hasta 11, fijada por lo que te cuesta cuando está mal — APP_DEBUG=true está en 200, la fila del nombre del sistema operativo está en 12, y app_profile y public_ipv6 están en 11. Cualquier clave que no esté en esa tabla cae a un valor por defecto de 10, y una clave de escaneo en vivo hace exactamente eso: db_standalone, que de verdad no está ponderada y aparece en el propio informe de desvíos de la herramienta. Un aprobado gana todo su peso, una advertencia gana la mitad, un problema no gana nada.

Las cinco bandas de calificación y qué significa cada una.
PuntajeCalificaciónQué significa
90 o másAListo para producción
75–89BBien. Resuelve los puntos en ámbar y vuelve a revisar
55–74CUtilizable, pero dejando rendimiento real sin aprovechar
35–54DNo está listo. Varios ajustes van a doler bajo carga
Menos de 35FNo salgas en vivo con esta configuración

Los bloqueadores limitan la calificación

Algunas fallas no son “puntos menos” — significan que la tienda no puede vender. Un bloqueador limita el puntaje a 74, dos a 54, tres o más a 34, así que un bloqueador empuja la banda de calificación hacia abajo y el promedio ponderado solo decide dónde caes dentro de esa banda. Sin ningún bloqueador, una sola fila roja igual limita el puntaje a 88 — una A es inalcanzable con cualquier rojo en la página.

La lista de bloqueadores es corta y específica, y son exactamente diecinueve claves nombradas más cualquiera que empiece con sms_: .env legible por la web, logs servidos por la web, el sitio en modo mantenimiento, un archivo .php subido que se ejecuta, tiendas nuevas que no se pueden registrar, ningún método de pago utilizable, la base de datos inalcanzable, el almacenamiento mal configurado, el correo fallando, los SMS fallando, un sql_mode bajo el que la plataforma se rompe, el juego de caracteres equivocado, el programador de tareas sin correr, un certificado que vence dentro de 14 días, y cinco fallas más de .env — un APP_KEY faltante o el que viene de fábrica, APP_DEBUG=true, un bloque de base de datos roto, un bloque de correo roto, y claves duplicadas.

Fíjate en lo que a propósito no es un bloqueador: que los archivos por encima de la raíz de documentos sean legibles se califica como advertencia, no como bloqueador, porque eso es divulgación y no una brecha. La lista es corta a propósito — si todo es una emergencia, nada lo es.

Una consecuencia que vale la pena decir claramente: cert_expiry es un bloqueador que solo se mide en una Revisión profunda, porque se lee de un handshake TLS en vivo. Un “Revisar ahora” no te puede decir que tu certificado vence la semana que viene.

Por qué “no medido” nunca se califica — y por qué eso importa

Una comprobación que la herramienta no pudo ejecutar queda excluida por completo del puntaje.

Eso es lo más importante que hay que entender sobre el número. En un panel administrado, PHP queda confinado al directorio del propio sitio — lo cual es correcto y vale la pena conservar — y eso significa que /proc, /etc/os-release, la configuración de nginx y la configuración del pool de php-fpm no se pueden leer en absoluto. Siete comprobaciones se quedan entonces sin respuesta.

Una herramienta que las calificara como fallas te castigaría por una medida de seguridad que deberías conservar. Una que las calificara como aprobadas estaría mintiendo. SixPreflight no hace ninguna de las dos: esas filas dicen “no se puede leer desde aquí”, una fila de la sección de PHP explica por qué una sola vez y da las dos formas de resolverlo, y ninguna toca el puntaje.

La misma regla aplica a la comprobación de respaldos. Si no se encuentra ninguna herramienta de respaldo, la fila queda como no medida — no como advertencia — porque las instantáneas de tu proveedor de hosting son invisibles desde dentro del servidor, y la herramienta se niega a llamar roto a algo que simplemente no puede ver.

Un servidor bien cerrado no debe sacar mal puntaje por estar bien cerrado. Esa es la regla, y es la razón por la que vale la pena leer el número.

La lista de correcciones

Cada advertencia y cada problema aterrizan en la página Qué corregir, primero los rojos y después por orden de peso. Cada uno lleva una etiqueta de impacto derivada del mismo peso que produjo el puntaje, así que nada se califica en una escala y se prioriza en otra.

  • Detiene los pedidos
  • Puede detener los pedidos
  • Riesgo grave
  • Riesgo
  • Hace lento el sitio
  • Vale la pena corregirlo
  • Orden y limpieza

Cada tarjeta te dice cuál es el ajuste ahora, cuál debería ser, en qué archivo está, el comando a ejecutar si lo hay, y cómo comprobar que el cambio quedó. Hay un bloque de “muéstrame todas las líneas para pegar” por cada archivo de destino, que contiene solo las líneas que todavía hay que cambiar — porque copiar veinte valores de a uno es como se pierde un dígito. Los ajustes para pegar y los comandos para ejecutar se mantienen en bloques separados; van a lugares distintos.

Los valores objetivo de base de datos de las tarjetas se derivan del mismo cálculo que produce el bloque de my.cnf que copias, así que la cifra de cada fila y el bloque nunca pueden discrepar.

También recuerda

La herramienta guarda los últimos 60 escaneos en disco. La página de historial muestra una tarjeta de “desde el último escaneo” — qué se rompió recién y qué corregiste recién — puedes comparar dos revisiones guardadas cualesquiera lado a lado, y exportar una corrida como archivo de texto.

Un endpoint de solo lectura ?api=findings devuelve la última revisión guardada como JSON para un tablero o un monitor. Nunca inicia un escaneo: un monitor que disparara un escaneo completo — uno de cuyos pasos descarga URLs de tu sitio en vivo — en cada actualización del tablero sería un generador de carga disfrazado de monitor. La respuesta lleva run.age_seconds para que quien la llame pueda decir “esta lectura tiene dos semanas” en vez de presentar noticias viejas como actuales.

La otra mitad

También tiene una segunda mitad: el script de configuración

SixPreflight lee y explica. bin/setup-6ammart.php es la otra mitad del paquete: hace los cambios. La página de documentación que se entrega lo dice en una línea — “SixPreflight lee un servidor y explica qué cambiar. setup-6ammart.php es la otra mitad: hace esos cambios.”

  • Un script de bash con extensión .php, a propósito

    PHP toma el archivo, choca con un exit en la línea 3, y no le entrega nada a un navegador. Ejecútalo con bash, nunca desde un navegador.

  • El modo por defecto es una corrida en seco

    Ejecutarlo por accidente no cambia nada. --check reporta el valor actual frente al recomendado. --apply hace el trabajo.

  • 84 entradas de catálogo, 40 de ellas seguras de aplicar sin preguntar

    Su fuente de verdad es el mismo catálogo de ajustes que usan las tarjetas de corrección — 84 entradas repartidas en php, php-fpm, os, mysql, nginx, laravel y 6ammart, de las cuales 40 están marcadas como seguras de aplicar sin preguntar y 44 se preguntan con el compromiso explicado en una línea, o se imprimen como instrucción manual. Ninguna entrada del segundo grupo se aplica nunca en silencio, ni siquiera con --yes.

Conteo en disputa, dicho abiertamente

La página docs/setup.html que se entrega dice 84 entradas, 40 seguras de automatizar, 44 no. El propio encabezado del script y un conteo directo de los tres archivos data/tuning-*.json.php dicen los dos 86 / 41 / 45. Arriba se usa la cifra publicada más baja.

Las escrituras a un vhost de nginx en vivo, el cron del programador de tareas y cualquier cosa que arranque un worker de cola sobre una acumulación caen todas en el grupo que pregunta: cada una muestra exactamente qué está por hacer y pregunta, y --yes no responde por ellas.

Así que SixPreflight es un verificador con un corrector opcional al lado, no un verificador solo.

Vienen cuatro guías con él

El conjunto de documentación le dedica al corrector una cuarta parte de sus páginas.

  • Cómo usarlo

    index.html — el tablero, los dos botones de escaneo, la lista de correcciones y la página de historial.

  • Qué instalar, y de dónde sale cada credencial

    requirements.html — los paquetes, las extensiones, y desde qué consola se emite cada clave.

  • Qué PHP, qué base de datos y qué sistema operativo

    versions.html — la recomendación, la tabla de puntajes ordenada, y la razón detrás de cada elección.

  • Qué hace el script de configuración

    setup.html — el catálogo, qué entradas se automatizan, y cuáles se detienen y preguntan.

Por qué esto es mejor que adivinar

Cuatro cosas que no puedes revisar a ojo

  • Frente a tu propio criterio

    La página de requisitos previos del proveedor lista mínimos, y los mínimos son lo incorrecto sobre lo que construir. “MySQL 5.7+ / MariaDB 10.3+” esconde que los dos se comportan distinto bajo ONLY_FULL_GROUP_BY: MySQL 5.7.5+ lo activa por defecto y se las arregla, porque deduce la dependencia funcional de la que dependen estos informes; MariaDB lo deja apagado, y se rompe si lo enciendes — el informe por artículo falla entonces con ERROR 1055. Eso se verificó corriendo el informe en los dos, no se supuso. Así que en MariaDB el modo tiene que quedarse apagado, y en MySQL hay que dejar el valor por defecto en paz. La herramienta califica esa combinación específica, no el número de versión.

  • Frente a una página de phpinfo()

    phpinfo() imprime valores, y nada más. Tu max_execution_time real es el menor entre php.ini y el request_terminate_timeout de php-fpm; SixPreflight calcula ese número efectivo y lo califica. phpinfo() no puede dimensionar tu buffer pool de InnoDB según tu RAM real, tu cantidad real de workers de php-fpm y tu tamaño real de datos — SixPreflight sí, y después comprueba si los workers de php-fpm siquiera caben dentro de max_connections. No puede calcular un objetivo de cantidad de archivos de OPcache a partir del número de archivos PHP de tu proyecto. Y no te puede decir qué puede descargar internet de tu sitio, porque no está haciendo peticiones.

  • Frente a la palabra de tu empresa de hosting

    “El servidor está bien” no es una afirmación que alguien pueda comprobar. Esto sí: descarga /.env desde tu propia URL en vivo y te dice qué devolvió. Abre una sesión SMTP real. Emite un token real de Firebase. Hace una llamada real a Maps. Cada una de esas cosas es un hecho con fecha y hora, guardado en un archivo que puedes exportar y enviarle a quien te dijo que estaba bien.

  • Y te dice cuándo no sabe

    Una herramienta que siempre tiene una respuesta está adivinando en algún lado. Esta nombra las filas que no pudo medir y las saca del puntaje.

¿Ya usas SixPanel?

¿Ya usas SixPanel? Ya tienes esto

En cPanel, aaPanel, CloudPanel o un VPS vacío, SixPreflight es para ti

Tú eres dueño del servidor web, PHP, la configuración de la base de datos, cron y el certificado, así que cada bloque para pegar y cada comando son tuyos para usar.

En un servidor con SixPanel ya está ahí

SixPanel monta SixPreflight dentro de la tienda y lo muestra como la propia página de Revisión de la tienda del panel. No descargas nada, y los ajustes que administra el panel se señalan a la página del panel que es dueña de ellos, en vez de a un bloque para pegar que el siguiente despliegue sobrescribiría.

Ver SixPanel

Una nota honesta más para ese modo: en una máquina con SixPanel, los ajustes propios de la aplicación — pagos, correo, SMS, Firebase, mapas, zona horaria, moneda — se dejan fuera del puntaje del servidor y se listan aparte, porque son tarea del dueño de la tienda y no del servidor. El veredicto en lenguaje claro de arriba sigue hablando por todo el negocio.

Requisitos y cómo ejecutarlo

Requisitos, cómo ejecutarlo, y qué va a cambiar

Qué necesita la herramienta en sí

Qué requiere SixPreflight para poder correr.
RequisitoQué necesita
PHP8.2 o más nuevo para correr la herramienta
Servidor webCualquiera que sirva el directorio public/ de tu sitio
Permiso de escriturapreflight/config.php (o pegar un hash de contraseña a mano) y preflight/history/
AplicaciónNo hace falta ninguna. Corre en un servidor vacío
Paneles que reconocecPanel · aaPanel · CloudPanel · DirectAdmin · Plesk · CWP · servidor común

Con qué compara y califica tu servidor

El mínimo que exige SixPreflight y la cifra que recomienda elegir.
RecursoMínimoQué elegir
vCPU24
RAM4 GB8 GB
Disco libre20 GB en la página de requisitos — pero la comprobación de disco en sí aprueba con 20 GB, advierte entre 10 y 20, y solo falla por debajo de 1040 GB+
Tipo de almacenamientoSSDNVMe
Tipo de hostingVPS o dedicadoVPS con root

La fila de disco libre de verdad se contradice a sí misma, y lo vas a ver en pantalla

Requirements::platform() tiene fijo “hacen falta 20 GB, elige 40 GB+”, mientras que la comprobación de hardware califica contra min_free_disk_gb = 10 de config.php — así que un servidor con 12 GB libres es una falla de requisitos en una tabla y una advertencia ámbar en otra, en la misma página.

En un navegador — la forma normal

  1. 01

    Sube la carpeta

    Sube la carpeta preflight/ completa al directorio public/ de tu sitio.

  2. 02

    Pon una contraseña en la primera pantalla

    Abre https://your-domain/preflight/ y pon una contraseña. No arranca sin una, y quien la abra primero es quien la fija — así que haz esto apenas termine la subida. Mínimo ocho caracteres. Si config.php no se puede escribir, la página lo dice y te da el comando de una línea con password_hash() para pegar en su lugar.

  3. 03

    Presiona un botón

    Revisar ahora toma alrededor de un segundo. Revisión profunda agrega las pruebas hacia afuera.

  4. 04

    Borra la carpeta cuando termines

    Está protegida, pero reporta detalles internos del servidor y no tiene razón para quedarse en un sitio en vivo.

Opcional: restringe el acceso por IP con allow_ips en config.php (direcciones sueltas o rangos CIDR, IPv4 e IPv6). Detrás de Cloudflare o de un balanceador de carga, la dirección que ve es la del proxy, así que una lista con tu propia IP te deja fuera — déjala vacía y confía en la contraseña, o restringe en el proxy. Si te dejas fuera, la página 403 imprime la dirección que llegó de verdad y la que el proxy dice que es.

Qué va a cambiar, si se lo pides

El escaneo lee. Cuatro superficies del paquete pueden escribir, y ninguna se dispara sola — cada una necesita un botón o un comando.

  • La página de Registros de error puede vaciar un log

    El botón Limpiar trunca el archivo con ftruncate en vez de borrarlo, porque PHP, MySQL y nginx mantienen esos archivos abiertos y desvincularlos los deja escribiendo en un descriptor sin nombre. Requiere el token CSRF, y si el usuario de PHP no puede escribir el archivo, imprime el comando de shell en vez de actuar. Eso es una escritura sobre los logs de Laravel, los de errores y consultas lentas de MySQL, los de php-fpm y los del servidor web — archivos que la herramienta no posee.

  • La página de Alerta de pedido de prueba envía un push real

    A un dispositivo real de tienda o de repartidor, a través del propio comando artisan de la plataforma. Existe un botón de corrida en seco de “Mostrar qué se enviaría”; no es el que viene por defecto.

  • El benchmark de base de datos crea y borra su propia tabla

    Se llama zz_preflight_bench_<random> con un sufijo aleatorio nuevo en cada corrida — el argumento completo de seguridad está más abajo.

  • Poner una contraseña reescribe config.php

    Y la acción de “guardar perfil” del tablero escribe en el archivo de perfil del servidor las cifras de RAM y vCPU que ingresa el operador. Las dos viven dentro de la carpeta preflight/.

Y aparte, a propósito: bin/setup-6ammart.php aplica cambios cuando lo corres con --apply. Ese es justamente su punto.

Desde la línea de comandos — sin aplicación, sin navegador

Las dos herramientas de comparación son solo de línea de comandos y se niegan a responder por HTTP.

php preflight/server-compare.php  # medir esta máquinaphp preflight/server-compare.php --save=box-a.jsonphp preflight/server-compare.php --compare=box-a.json,box-b.jsonphp preflight/detect-size.php  # registrar RAM y vCPU

No son los únicos archivos con ese guard. Once archivos del paquete se niegan a correr fuera de la línea de comandos — esos dos, ocho arneses de prueba incluido tests/smoke.php, y bin/setup-6ammart.php. tests/smoke.php es la razón por la que ese guard importa: dejado alcanzable por la web y sin contraseña, que es como se entregó alguna vez, un solo GET anónimo costaba once segundos de CPU, un sondeo completo de la base de datos de la aplicación, diez peticiones que el servidor se hacía a su propia URL pública, y llamadas hacia afuera a Google Maps, al host SMTP configurado y a Firebase, repetibles tantas veces como quisiera cualquiera. Ahora el escaneo busca exactamente ese archivo en tu servidor, porque una carpeta como esta se copia entre máquinas durante años.

server-compare.php es autónomo y no tiene ninguna dependencia — no necesita ninguna aplicación, que es lo que lo hace la herramienta correcta para comparar dos servidores que estás pensando alquilar, antes de comprometerte con alguno.

Cómo leer los puntajes del benchmark

Los dos puntajes están normalizados para que signifiquen lo mismo en cualquier nivel de dificultad — solo la máquina los cambia, y más alto es más rápido. Una vCPU de nube actual marca alrededor de 100. Córrelo dos o tres veces a distintas horas: una instancia con ráfagas cae bruscamente cuando se le acaban los créditos, y eso no se ve en una sola corrida. La máquina de referencia detrás de ese 100 es una vCPU AMD EPYC 7713 con NVMe local, PHP 8.3, OPcache encendido.

En el puntaje de base de datos, mira en particular los INSERT/seg de una sola fila: con innodb_flush_log_at_trx_commit=1 cada uno espera una sincronización a disco, así que ese número es en realidad la latencia de fsync de tu almacenamiento. Es la diferencia más clara entre proveedores.

Aplica primero el my.cnf sugerido, y después compara dos servidores — si no, estás comparando configuraciones, no máquinas.

Qué instalar realmente

La recomendación del propio SixPreflight, para una instalación nativa sin contenedores:

  • Ubuntu 26.04 LTS
  • PHP 8.5
  • MariaDB 11.8
  • PHP 8.5

    El que traiga el propio archivo de tu release — 8.5 en Ubuntu 26.04, 8.4 en Debian 13, 8.3 en Ubuntu 24.04. Se dudó de 8.5 porque phpspreadsheet, vía maatwebsite/excel, declara php <8.5; eso es una declaración en composer.json y no una medición, la comprobación de plataforma de composer está desactivada, y correr el código en 8.5.4 produjo una exportación de hoja de cálculo idéntica byte a byte tanto en el árbol puro de CodeCanyon como en nuestro propio fork. Todos corren a efectos prácticos a la misma velocidad, así que esto no es una decisión de velocidad — toma el que tu release parchea por ti.

  • MariaDB 11.8 o 10.11

    Cualquiera, la que traiga tu release — medido en la misma tienda, 11.8 frente a 10.11 es un empate. Lo que no es un empate es el sabor: ambas versiones de MySQL necesitan cambios de código antes de que 6amMart corra en ellas, porque la búsqueda de artículos activa un flag del optimizador propio de MariaDB y dos migraciones de índices leen un catálogo del servidor en un caso que MySQL no devuelve, dejando el esquema aplicado a medias.

  • Ubuntu 26.04

    A la par con Ubuntu 24.04 y Debian 13 en velocidad — las diferencias medidas fueron menores que la discrepancia de una máquina consigo misma. Lo que los separa es la ventana de soporte: abril de 2031 para 26.04, frente a mayo de 2029 para 24.04 y agosto de 2028 para Debian 13. Esta es una decisión de ventana de soporte, no de velocidad.

Qué cubren esas cifras de motores Vienen de una máquina y un conjunto de datos — el volcado de una tienda real con 66,701 pedidos — con cada motor migrado primero y los conjuntos de índices resultantes comparados hasta 460 índices, idénticos en los cinco, así que la comparación es entre motores y no entre índices faltantes. Comparan los cinco motores entre sí en esa única máquina. No son una afirmación sobre qué tan rápido es 6amMart en general.

Nada de esto dice que un sistema operativo sea más rápido que otro: las diferencias medidas entre sistemas operativos fueron menores que la variación de una sola máquina consigo misma.

Cómo se ejecuta

Nada en el paquete revisa una licencia, una cuenta ni una fecha de vencimiento, y nada en él le reporta nada a AllsWeb. Las llamadas hacia afuera que hace son todas a lugares con los que ya tratas — tu propio sitio, tu propio host SMTP, los endpoints de tokens y de geocodificación de Google — más un servicio público de eco de IP para descubrir tu propia dirección.

La razón honesta por la que existen estas comprobaciones: salieron de construir y arreglar estos servidores, y cada una es una pregunta que igual tendríamos que hacerte. Un dueño de tienda que las puede responder antes de escribirnos ahorra un día; uno que no puede obtiene un informe que le puede enviar a su hosting.

Límites honestos

Lee esto antes de confiar en el número

  1. 01

    No puede ver lo que el servidor no le muestra

    Las comprobaciones que necesitan shell_exec o /proc bajan a “no medido” en vez de adivinar. Los paneles administrados desactivan cosas distintas, así que algunas filas quedan vacías en un hosting y llenas en otro.

  2. 02

    En un panel administrado, siete comprobaciones no tienen respuesta

    open_basedir confina PHP al directorio del sitio. Eso es correcto y vale la pena conservarlo. Las filas lo dicen y quedan excluidas del puntaje.

  3. 03

    Un “Revisar ahora” no puede ver seis de las filas del servidor web, y una de ellas es un bloqueador

    La compresión, la caché de estáticos, el keep-alive en vivo, el banner del servidor, HSTS y el vencimiento del certificado se leen de una respuesta real, así que solo aparecen en una Revisión profunda — y cert_expiry está en la lista de bloqueadores. Corre la Revisión profunda antes de confiar en un resultado verde.

  4. 04

    La herramienta se contradice sobre el disco libre

    La tabla de requisitos dice que necesitas 20 GB libres; la comprobación de disco llama a 10–20 GB una advertencia y solo falla por debajo de 10. Dos respuestas a una pregunta, en la misma página.

  5. 05

    Reporta con qué dice el servidor que está configurado

    Si un panel aplica configuración en una capa que esta herramienta no puede ver, confía en la interfaz del propio panel antes que en esto. cPanel y aaPanel administran la configuración de PHP y MySQL desde su propia interfaz y pueden sobrescribir archivos editados a mano; CloudPanel y un servidor común dejan que manden los archivos de configuración. Si un ajuste se sigue revirtiendo después de un reinicio, es el panel reescribiéndolo — cámbialo desde el panel.

  6. 06

    Los benchmarks miden esta máquina en este momento

    Un vecino ruidoso hace pesimista cada número — mira la fila de carga promedio antes de sacar conclusiones.

  7. 07

    El paso de exposición no es una prueba de penetración

    Descarga una lista fija de direcciones conocidas por riesgosas desde tu propia URL y reporta qué devolvió. No busca vulnerabilidades desconocidas y no es una auditoría de código.

  8. 08

    Una cosa de verdad no se puede probar desde un servidor

    La clave de cliente de Google Maps está restringida por el referrer del navegador, así que la herramienta te puede decir que falta, o que es peligrosamente idéntica a tu clave de servidor — pero no puede verificar desde el lado del servidor una que esté correctamente restringida, y lo dice en vez de darla por aprobada.

  9. 09

    Los conteos de filas de la tabla de tamaños son estimaciones

    Vienen de information_schema. Los conteos exactos significarían un escaneo completo de cada tabla en un sitio en vivo.

  10. 10

    Una subida enterrada más de cinco directorios por debajo de artisan recibe el modo autónomo

    En silencio — la búsqueda de la raíz de la aplicación se detiene a los cinco niveles.

  11. 11

    Ante todo es un verificador

    El escaneo en sí no cambia nada. Cuatro superficies del paquete escriben cuando presionas su botón, y bin/setup-6ammart.php aplica cambios cuando lo corres con --apply. Las cinco están listadas arriba.

¿Es seguro en una tienda en vivo?

Sí, y esta es exactamente la razón.

  • Los sondeos sobre datos reales son de solo lectura por diseño

    Cada sondeo pasa por un único método query() que rechaza todo lo que no empiece con SELECT, EXPLAIN, SHOW o WITH — y no hay ningún camino de código en esa clase que pueda emitir INSERT, UPDATE, DELETE, ALTER, CREATE o DROP, que es la garantía que de verdad sostiene la promesa. La sesión se pone en TRANSACTION READ ONLY donde el servidor lo soporta, así que hasta un error sería rechazado por la base de datos y no por este código. Cada sentencia lleva un límite de 15 segundos del lado del servidor, así que un sondeo contra una tabla inesperadamente enorme no se puede quedar reteniendo recursos — y un sondeo que lo supera se reporta como “demasiado lento”, que en sí mismo es el hallazgo. Verificado: los conteos de filas y SUM(order_amount) son idénticos antes y después.

  • El benchmark de base de datos nunca toca una tabla de la aplicación

    Cada objeto que crea se llama zz_preflight_bench_<random> con un sufijo aleatorio nuevo en cada corrida; comprueba que el nombre esté libre antes de crear nada y aborta en vez de tocar una tabla existente; ninguna sentencia suya puede nombrar una tabla que no haya creado; la limpieza está condicionada a que la tabla se haya creado de verdad, corre en un bloque finally y en un manejador de apagado, y confirma en lotes chicos para que nada retenga un bloqueo largo. Verificado: los conteos de filas de pedidos y de artículos son idénticos antes y después, y ninguna tabla zz_preflight_ sobrevive a la corrida.

  • El alcance es la tabla, no la base de datos, y esa diferencia es toda la promesa

    Nunca lee ni escribe en ninguna tabla de la aplicación — esa es la redacción del propio README y es la correcta. El benchmark crea y borra una tabla propia dentro de la base de datos de la aplicación, con un nombre que él genera, y la vuelve a eliminar; nada más en esa base de datos se toca.

  • Dentro de su propia carpeta escribe una sola cosa

    preflight/history/, un archivo por escaneo guardado. Esos archivos describen en detalle las debilidades del servidor, así que cada uno se llama .json.php y empieza con una sentencia exit de PHP — pedido por HTTP, el servidor web lo ejecuta, se detiene de inmediato, y no devuelve nada. Eso también se sostiene en nginx, que ignora .htaccess.

¿Tienes una lista en rojo y no tienes tiempo?

Envíanos el informe exportado. Instalamos, configuramos y te entregamos 6amMart en tu propio servidor, con un ingeniero senior aprobando la entrega.

Ver el servicio de instalación de 6amMartHablar con soporte

¿Servidor listo y la tienda sigue lenta?

SixPreflight te dice si el servidor está listo. Si la que está lenta es la tienda, eso es la aplicación y no el servidor — y es lo que el servicio de instalación de 6amMart ahora entrega encima de la última versión de 6amMart: la build de 6amMart optimizada por AllsWeb midió de 10× a 22× más rápido — 90–95% más rápido — en todas las pantallas que ve el cliente, medido en el servidor en vivo, con el CDN evitado.

Ver el servicio de instalación de 6amMart

Preguntas frecuentes

Preguntas que la gente hace de verdad

  • 01¿Cómo sé si mi servidor está listo para 6amMart?

    Corre SixPreflight en él. Tiene 163 comprobaciones sobre hardware, PHP, la aplicación, .env, permisos, el servidor web, la caché, la base de datos, la exposición pública y cada servicio externo. Una Revisión profunda en una instalación de 6amMart corre todo el conjunto disponible para ella — 160 comprobaciones distintas, y no más de 157 filas en una máquina real que corre un solo servidor web; un “Revisar ahora” rápido corre 123, no más de 120 en esa misma máquina, saltándose las 12 comprobaciones de exposición, las 21 de servicios y las seis filas del servidor web que necesitan una respuesta en vivo. En cualquier caso termina en una sola frase, una calificación con letra A–F, y una lista ordenada de qué corregir primero.

  • 02¿SixPreflight cambia algo en mi servidor?

    El escaneo no. Nunca lee ni escribe una tabla de la aplicación, y nunca envía correo ni SMS a nadie. Cuatro superficies sí escriben cuando presionas su botón: la página de Registros de error puede truncar un archivo de log, la página de Alerta de pedido de prueba envía un push real a un dispositivo real, el benchmark opcional de base de datos crea y borra su propia tabla, y poner una contraseña reescribe el config.php de la propia herramienta. El paquete también trae bin/setup-6ammart.php, que aplica cambios a propósito cuando lo corres con --apply.

  • 03¿Es seguro correrlo en una tienda en vivo que está recibiendo pedidos?

    Sí. Los sondeos de base de datos son de solo lectura por diseño — el método query() rechaza todo lo que no empiece con SELECT, EXPLAIN, SHOW o WITH, no hay ningún camino de código en esa clase que pueda emitir una escritura, y la sesión corre en TRANSACTION READ ONLY donde se soporta. El benchmark opcional trabaja solo sobre una tabla que él mismo crea con un nombre aleatorio, y la elimina en un bloque finally y en un manejador de apagado. Los dos se verificaron comparando los conteos de filas y SUM(order_amount) antes y después.

  • 04¿Necesito 6amMart para usarlo?

    No. Detecta qué está mirando. En un servidor común sin ninguna aplicación igual revisa el hardware, PHP, el servidor de base de datos, el servidor web, los permisos y la exposición — aunque las 14 comprobaciones de .env, las 12 de la aplicación Laravel, las 9 de la plataforma 6amMart y las 5 de tiempo real no tienen nada que leer, dejando solo la fila de perfil del paso de la aplicación. En cualquier aplicación Laravel, todo lo relativo al servidor sigue aplicando y las comprobaciones específicas de 6amMart se saltan en vez de adivinarse. En 6amMart, corre cada comprobación que puede correr.

  • 05¿Qué puntaje necesito antes de salir en vivo?

    90 o más es una A — listo para producción. Por debajo de eso, lee primero los bloqueadores: un solo bloqueador limita el puntaje a 74 por muy bien que esté todo lo demás, dos lo limitan a 54, tres o más a 34. Incluso sin bloqueadores, una fila roja te limita a 88. Los bloqueadores son las cosas que impiden que la tienda venda — ningún método de pago utilizable, el correo fallando, la base de datos inalcanzable, .env legible por la web, un certificado que vence dentro de 14 días. Corre una Revisión profunda antes de confiar en el número: esa última, y otras cinco filas del servidor web, no se miden en absoluto en una revisión rápida.

  • 06¿Por qué algunas filas dicen “no se puede leer desde aquí”?

    Porque tu panel de hosting confina PHP al directorio de tu propio sitio, lo cual es correcto y vale la pena conservar — así que /proc, /etc/os-release, la configuración de nginx y la del pool de php-fpm de verdad no se pueden leer. Siete comprobaciones se quedan entonces sin respuesta. Se reportan con honestidad y quedan excluidas por completo del puntaje, así que un servidor bien cerrado nunca es castigado por estar bien cerrado.

  • 07¿Funciona en cPanel, aaPanel, CloudPanel o un VPS común?

    Sí — ese es su mercado principal. Reconoce cPanel, aaPanel, CloudPanel, DirectAdmin, Plesk, CWP y un servidor común, y da comandos y rutas de instalación por panel. Vale la pena saberlo: cPanel y aaPanel administran la configuración de PHP y MySQL desde su propia interfaz y pueden sobrescribir archivos editados a mano, así que si un ajuste se sigue revirtiendo después de un reinicio, cámbialo desde el panel.

  • 08¿Solo me dice qué está mal, o lo puede corregir?

    Las dos cosas, y la mitad que corrige es opcional. El tablero te pide que hagas cada cambio a mano primero, porque quien hace un cambio entiende qué cambió. Cuando eso no es práctico, bin/setup-6ammart.php hace el mismo trabajo desde la línea de comandos: corrida en seco por defecto, --check para reportar, --apply para actuar. Aplica solo las entradas del catálogo marcadas como seguras de automatizar — 40 de las 84 entradas publicadas — y para el resto pregunta o imprime, incluso con --yes.

  • 09Uso SixPanel. ¿Necesito descargar esto?

    No. SixPanel monta SixPreflight dentro de la tienda y lo muestra como la página de Revisión de la tienda del panel. En ese modo quita los bloques para pegar de todo lo que administra el panel — el servidor web, PHP, la configuración de la base de datos, cron, el worker de la cola, el certificado — y señala la página del panel que es dueña de cada ajuste, porque un valor pegado a mano ahí se pierde en el siguiente despliegue. Conserva todas las comprobaciones a nivel de aplicación.

  • 10¿Qué versión de PHP y de base de datos debería instalar realmente?

    Ubuntu 26.04 LTS, y después lo que traiga su propio archivo — PHP 8.5 y MariaDB 11.8 — para una instalación nativa. Se dudó de PHP 8.5 porque una dependencia declara un límite por debajo, pero ese límite es una declaración y no una medición: correr el código en 8.5.4 dio una exportación de hoja de cálculo idéntica byte a byte en el árbol puro de CodeCanyon y en nuestro fork. Todas las versiones de PHP y de MariaDB medidas corrieron a efectos prácticos a la misma velocidad, así que nada de esto es una decisión de velocidad. Lo que sí es real es el sabor: ambas versiones de MySQL necesitan cambios de código antes de que 6amMart corra en ellas, porque la búsqueda de artículos activa un flag del optimizador propio de MariaDB y dos migraciones de índices leen un catálogo del servidor en un caso que MySQL no devuelve.

  • 11¿Puedo conectar el resultado a mi propio tablero?

    Sí. ?api=findings devuelve la última revisión guardada como JSON por HTTP con autenticación Basic, con una versión de contrato estable. Nunca inicia un escaneo, y el contenido lleva run.age_seconds para que tu tablero pueda decir “esta lectura tiene dos semanas” en vez de presentar noticias viejas como actuales.

Una carpeta, una respuesta

Sube una carpeta. Ábrela en un navegador. Obtén una respuesta.

Siempre la versión actual, corriendo en tu propio servidor. Primero lee, y te dice qué no pudo medir en vez de adivinar.

Obtener SixPreflightVer el servicio de instalación de 6amMart

Nada en el paquete revisa una licencia, una cuenta ni una fecha de vencimiento, y nada en él le reporta nada a AllsWeb.

AllsWeb

AI + Automation + Human Engineers — builds de nivel producción entregados en 1-3 días. Instalación, personalización, publicación en tiendas y soporte gestionado para cualquier script o codebase.

  • hi@allsweb.com
  • +91 72328 80007

Explorar

  • Agente IA
  • Automatizaciones y flujos con IA
  • Optimización para búsqueda con IA
  • Todas las soluciones
  • Todos los scripts de terceros
  • Todos los servicios
  • 6amMart optimizado
  • SixPanel
  • SixPreflight
  • Servicio de actualización / upgrade
  • Corrección 16 KB de Play Store
  • Ofertas y cupones

Empresa

  • Nosotros
  • Contrátanos
  • Soporte y contacto
  • Programa de afiliados
  • Próximamente

Legal

  • Términos y condiciones
  • Política de privacidad
  • Política de reembolso
  • Política de pagos
  • Política de soporte
  • Uso aceptable
  • Política de cookies
  • Términos de afiliados
  • Aviso legal

© 2026 AllsWeb. Todos los derechos reservados.