No se puede instalar WordPress Multisite (Red) en un puerto personalizado

3 minutos de lectura

avatar de usuario
marcusv

Estoy ejecutando un sitio web en http://localhost:8080/sitename. Sin embargo, cuando intento crear una red de sitios con wordpress, aparece el siguiente error en Tools-> Network:

ERROR: You cannot install a network of sites with your server address.
You cannot use port numbers such as :8080.

Intenté crear un servidor virtual y un dominio falso, pero no puedo hacerlo funcionar. ¿Cómo puedo solucionar eso?

avatar de usuario
usuario3665102

En este momento, WordPress solo parece admitir puertos 80 y 443. Una posible solución temporal para usar cualquier personalizado (es decir, http 8080) Puerto:

  1. Abierto wp-admin/includes/network.php y busque la sección de código donde menciona array( ':80', ':443' ) y añadir :8080 también en esa matriz.

  2. Después de completar la configuración de la red, es posible que necesite en wp-config ajustarse a tal:
    define( 'DOMAIN_CURRENT_SITE', 'example.com'. (stristr($_SERVER['PHP_SELF'],'wp-login.php') ? '':':8080') );

  3. Como se indica en los comentarios (gracias) después de crear el primer subsitio, es posible que tenga un número de puerto incrustado en el nombre de dominio, así que intente ingresar a la base de datos Mysql (es decir, intente phpMyAdmin del alojamientoo incluso complemento instalado antes de iniciar el procedimiento) y en _blogs & _site& _options tablas, para ajustar las URL de la página de inicio de los subsitios (es decir, separar el número de puerto del dominio).

  4. Eso es todo. Vuelva a iniciar sesión en su proyecto.

  • Creo que es una mala idea y lo probé con wordpress-4.9.8-en_US. Seguro que el truco pasa por alto la restricción de WP y el primer sitio (agregado automáticamente) funciona. Pero el segundo sitio que agregué estaba roto, algo con las URL, estaba obteniendo 404. Intenté esa configuración varias veces, termino cambiando mi configuración para que funcione con localhost. Hasta aquí todo bien.

    – Decimoséptimo

    1 de noviembre de 2018 a las 4:48

  • El problema de omitir la verificación es que WP no está diseñado para usar puertos personalizados para múltiples sitios, por lo que los hosts de los blogs (subsitios) se desordenan en la base de datos. Después de cambiar a varios sitios o crear un nuevo sitio, debe ir a la página de administración de su base de datos (por ejemplo, phpMyAdmin) y corregir el dominio de blogs en la tabla wp_blogs. Básicamente, WP no pudo agregar dos puntos entre el host y el puerto; solo hay que agregarlo-> localhost8080 se convierte localhost:8080. Luego, en la configuración del sitio, agregue los dos puntos que faltan a la URL del sitio y a las URL de inicio.

    – Espuma arcana

    3 de junio de 2020 a las 17:36


  • Para localhost, esta respuesta es suficiente.

    – Melvin

    28 de julio de 2020 a las 5:33

  • Creo que puede haber un poco más. Vea este artículo en el blog de Benohead: benohead.com/blog/2014/05/30/….

    – nydame

    14 de septiembre de 2020 a las 3:28

Desde mi experiencia, WP no está diseñado para usar puertos personalizados para sitios múltiples, por lo que los hosts de blogs (subsitios) se desordenan en la base de datos.

Mi solución: después de cambiar a varios sitios o crear un nuevo sitio, debe ir a la página de administración de su base de datos (por ejemplo, phpMyAdmin) y corregir el dominio de blogs en el wp_blogs mesa. Básicamente, WP no pudo agregar dos puntos entre el host y el puerto; solo hay que agregarlo-> localhost8080 se convierte en localhost:8080. Por lo tanto, en la configuración del sitio, agregue los dos puntos que faltan a la URL del sitio y a las URL de inicio.

Encontré una solución temporal:

ejecutar “netstat -o -n -a | findstr 0.0.80” en CMD le mostrará qué servicio está usando el puerto 80. Si PID es 4, significa que el sistema usa el puerto 80 (probablemente IIS o matriz web si es está instalado – este fue mi caso). Cambié el puerto que IIS estaba usando desde IIS Manager y también desactivé el servicio MsDepSvc (Web Matrix) que también estaba usando el puerto 80. Después de eso, reconfiguré apache para que funcionara en el puerto 80 y ¡todo funcionó bien!

¿Ha sido útil esta solución?