A todos nos ha pasado, a la hora de instalar un programa, que funcione a la primera o que se complique de mala manera dependiendo del resto de configuraciones que tengamos en nuestro ordenador. Aquí encontraréis un tutorial muy completo para instalar y configurar un servidor local con Xampp en Windows, destacando algunos problemas que podemos encontrar y las soluciones para resolverlos.
Para qué sirve un servidor local como Xampp
Si estás esperando montar un servidor para tener tu página web en internet, sin contratar los servicios de un proveedor de hosting, debes saber que Xampp crea un servidor local sin conexión entrante desde internet, por lo que no estarás online, aunque si podrás conectarte para utilizar los recurso de la red.
Los desarrolladores, programadores y diseñadores web necesitan realizar pruebas para ver los resultados en un entorno controlado, que no dependa de si hay conexión o red wifi para poder comprobar los resultados de un proyecto, y no tener que depender de terceras partes para ser productivos.
Por defecto, el sistema operativo o los navegadores no pueden interpretar determinados lenguajes de programación o representar las configuraciones realizadas en una web o aplicación. Para eso necesitamos un intermediario que nos ayude sin necesidad de estar pagando un servicio que, por el momento, es posible que no necesitemos.
Un servidor local es una plataforma de pruebas que utilizamos para realizar proyectos, que luego podemos subir a la red una vez terminados, también puede usarse como un sitio donde probar diferentes configuraciones antes de aplicarlas a una web ya en producción.
Cómo instalar Xampp en Windows correctamente
Soy consciente que no todo el mundo dispone de la última tecnología en ordenadores, ni de la última versión de Windows y por eso, en este tutorial de como instalar Xampp en Windows, encontraréis soluciones a problemas que en unos sitemas se podrán aplicar y en otros no será necesario.
Antes de proseguir hay que hacer incapié en la necesidad de disponer de espacio suficiente en el disco duro para, además de instalar el Pack de Xampp con Apache, PHP y MySQL, poder crear nuestro proyectos.
También hay que asegurarse que no disponemos de otro servidor local ya instalado. Esto es fácil de comprobar escribiendo "localhost" en la barra de dirección del navegador web y viendo si abre o no alguna página.

Descargar el instalador de Xampp para Windows
Xampp es un paquete gratuito "todo en uno" que integra lo necesario para convertir nuestro ordenador en un servidor local.
Para descargarse la última versión de la aplicación nos dirigimos a la página oficial de Xampp, donde podremos encontrar varias versiones para elegir.
Lo ideal sería descargar la última versión, pero si queremos que nuestro proyecto sea totalmente compatible con el hostig que utilicemos en un futuro, debemos informarnos de las prestaciones que necesitamos, que no siempre son las últimas.
Un ejemplo podemos verlo en el gestor de contenidos WordPress, que aunque su código se actualiza para estar a la última, no pasa lo mismo con los plugins y complementos, cuyos desarrolladores tardan un tiempo en adaptar el código.
En estos momentos, la mayoría de los hostings usan la versión 7.x para sus plataformas, por lo que trabajar con una versión 8.x de PHP puede que no sea la mejor solución, a no ser que pretendamos utilizar el servidor local como herramienta de desarrollo de aplicaciones.

En la zona de descargas aparecerán las últimas tres versiones publicadas, de las que descargaremos la que más se adecúe a nuestras necesidades, en mi caso para utilizar WordPress, descargaré la opción del medio

Instalar Xampp en Windows paso a apso
La instalación hay que realizarla como "Administrador" para permitir que la aplicación disponga de todos los permisos necesarios de escritura y lectura. Para eso, picamos con el botón derecho del ratón sobre el archivo de instalación que hemos descargado y seleccionamos "Ejecutar como administrador".
Es muy posible que salte una ventana de advertencia que indique un problema con el "Control de Cuentas de Usuarios", mas conocido como "UAC" (Usuary Activity Control).
La misma advertencia nos indica las posibles soluciones:
- Cambiar la ruta de instalación a la carpeta "C:\Archivos de programa\xampp\" (C:\Program Files\xampp\). Con los permisos de escritura desactivados.
- Desactivar UAC tras la instalación y dejar la ruta de instalación predeterminada en C:\xampp\.

Independientemente de la opción que decidamos seguir, podemos picar en "OK" y seguir el proceso de instalación sin problemas.


Elegimos donde queremos instalar la aplicación y pulsamos en "Next".

La siguiente ventana muestra información sobre Bitnami, un complemento para automatizar la instalación de gestores de contenido como WordPress, Joolma o Drupal. Si desmarcamos esta casilla evitamos que se abra una ventana del navegador con información sobre esta aplicación y pasamos directamente al progresoso de instalación.


Tras finalizar el progreso de copia de archivos debemos configurar el firewall de Windows. Xampp necesita comunicarse con las redes privadas y/o públicas para que funcione correctamente. Pueden aparecer los mensajes de las redes durante el progreso de instalación, o una vez que terminemos la instalación e iniciemos los servicios de Apache y MySQL picando en el botón "Star".


Con este proceso terminamos de instalar todos los servicios del servidor local en el ordenador..
Desactivar las notificaciones del Control de Cuentas de Usuarios de Windows (UAC)
Para modificar la configuración del "Control de Cuentas de Usuarios", escribimos UAC en el buscador de Windows para localizar la aplicación y movemos el selector a la parte más baja.
Esta configuración no se recomienda, por lo que es aconsejable dejarlo como está y aceptar los permisos cada vez que se inicie la aplicación, aunque suponga una molestia a la hora de iniciar los servicios.

Solución de errorres y fallos en Xampp para Windows
Antes de mostrar cómo se utiliza Xampp y configurar determinados aspectos que seguramente necesitaremos, vamos a resolver algunos problemas que pueden surgir tras la instalación del programa.
Error de "Acceso denegado" al crear el archivo xampp-control.ini
El error más común se produce por un problema de permisos de archivos. Al instalar Xampp en Windows lo hacemos como administradores, pero la ejecución del programa una vez instalado no tiene esos permisos.
Como consecuencia nos aparece un mensaje como el de la imagen, que puede ir acompañado de otros que bloquean la pantalla y no desaparecen durante un buen rato.

Para solucionarlo abrimos la carpeta donde se instaló Xampp en Windows y localizamos el archivo "xampp-control.exe". A continuación, con el botón derecho del ratón, seleccionamos la opción "Propiedades".

En la pestaña "Compatibilidad" accedemos a la opción "Cambiar la configuración para todos los usuarios" y marcamos la casilla "Ejecutar este programa como administrador". Aplicamos los cambios y aceptamos las dos ventanas.

Con esta acción hemos conseguido eliminar el fallo y además activar los servicios del servidor para poder incluirlos en el arranque de Windows si lo deseamos.
Error al instalar Xampp en otra unidad
Si disponemos de una unidad o disco que queremos dedicar integramente como servidor local para instalae Xampp en Windows, debemos fijarnos en los permisos del disco.
Posiblemente hayas instalado una unidad procedente de otro ordenador y no la hayas preparado correctamente para integrarla en el sistema como se debe. Normalmente usamos sin problema estas undades como almacenamiento de datos e información, pero cuando la unidad tiene que integrarse con el sistema para controlar determinados servicios, hay que tomar medidas.
Con toda seguridad, si es un disco o unidad ya usada en otro sistema, tendrá unos permisos asignados diferentes a los del sistema actual, y es la razón principal por la que tendremos problemas de acceso, con mensajes como el del apartado anterior.

Si abrimos las propiedades del disco donde hemos instalado Xampp, pinchando con el botón derecho del ratón y seleccionando dicha opción, se abre una ventana en la que tenemos que elegir "seguridad", en las pestañas superiores.


Aquí debería haber los mismos Nombres de grupos o usuarios que en el disco principal del sistema. Hay que abrir las propiedades del disco principal y comparar los usuarios y permisos para que sean los mismos.
Es mu probable que tengas muchos usuarios y ninguno sea ni el administrador ni el sistema. Borra todos y añade uno a uno fijándome como están en el disco C:/. Con esto ya puede arrancar el servidor local con Xampp en un disco diferente con espacio suficiente para evitar errores, dejando el disco del sistema limpio.
Error al arrancar Apache y MySQL en Xampp por tener los puertos ocupados
Hay ocasiones en las que podemos tener problemas con los puertos si existe alguna aplicación que los está utilizando en el momento de arrancar Xampp, como puede ser Skype, servidores de correo o máquinas virtuales.
Cuando esto pasa podemos cerrar esos programas, si sabemos cuáles son, o modificar los puertos que utiliza Xampp de forma predeterminada por otros que estén libres.

Para realizar este proceso tenemos que cambiar los puertos en la configuración del panel de administración de XAMPP y en los archivos de configuración de los servicios. Es un proceso rápido en el que apenas tardaremos unos minutos.
Cómo cambiar los puertos de Apache en Xampp
El primer paso y más sencillo es cambiar los puertos de Apache en el panel de Administración de XAMPP.
En las opciones de la derecha encontramos, arriba del todo, el botón "Config", que abrirá una ventana que nos mostrará varias opciones, la que nos interesa se encuentra en la parte inferior llamada "Service and Port Settings".
En la nueva ventana podremos ver las pestañas de los servicios del servidor local y los puertos pre-configurados. Aquí es donde realizaremos el primer cambio.
Los puertos 80 y 443 los cambiaremos por unos que no estén ocupados, en el primero podemos poner el 8080, 8888, 8081... Y para el segundo puerto podemos añadir un dígito más, como 4438, 4433...

Es probable que este cambio no termine de resolver el problema y necesitemos cambiar los puertos también en los archivos.
Primero cambiaremos el puerto 80 por el 8081 o el que hayáis elegido en el pasa anterior.
En la fila del servicio de Apache, pinchamos en el botón "Config", y en el menú desplegable elegimos la primera opción "Apache (httpd.conf)".

Se abrirá un editor de texto con el código del archivo. Tenemos que sustituir el puerto 80 en estas dos líneas de texto:
- Listen 80 - cambiamos 80 por el nuevo puerto.
- ServerName localhost:80 - cambiamos 80 por el nuevo puerto.

Para terminar con el cambio del puerto 80, guardamos el archivo para mantener los cambios.
El cambio del segundo puerto, el 443, se realiza del mismo modo, pero el archivo que vamos a modificar es la segunda opción dentro de la configuración de Apache.

Al abrirse el editor de texto tenemos que buscar tres líneas esta vez, donde cambiaremos el 443 por el que hayamos puesto en la casilla del panel principal:
- Listen 443 - cambiamos 443 por el nuevo puerto.
- <VirtualHost _default_:443> - cambiamos 443 por el nuevo puerto.
- ServerName www.example.com:443 - cambiamos 443 por el nuevo puerto.

Antes de cerrar el editor hay que guardar los cambios.
Para comprobar si se ha solucionado el problema paramos Apache y lo volvemos a iniciar. Ahora tendría que arrancar sin problemas y no salir ningún mensaje en rojo en la parte inferiror y en la columna de los puertos aparecerán los que hemos cambiado impidiendo que tengamos problemas con otras aplicaciones.

Cómo cambiar el puerto de MySQL en XAMPP
Aunque este problema es difícil que aparezca, puede que en contadas ocasiones no se inicie el servicio de la base de datos MySQL.
El proceso para cambiar el puerto de MySQL de una instalación de Xampp en Windows es similar al cambio de los puertos de Apache. También tenemos que modificarlo en la configuración del panel de administración de XAMPP y en los archivos de configuración.
Desde la opción "Config" del Panel principal accedemos al apartado de los puertos preconfigurados de Xampp, donde cambiaremos el puerto por otro diferente, añadiendo un dígito más o cambiando el último número, por ejemplo.

A continuación accedemos al archivo "my.ini", donde localizamos las 2 líneas donde se asigna el puerto, que empiezan por "port=..." y lo sustituimos por el que hemos elegido, por ejemplo 33066.

Al cambiar el puerto de MySQL, la aplicación "phpMyAdmin" dejará de tener conexión con el servidor, por lo que tendremos que redirigir esta aplicación para que apunte hacia el nuevo puerto.
Desde la configuración de Apache seleccionamos el archivo "config.inc.php" y buscamos la IP del servidor local, que es "127.0.0.1".

Localizamos la línea del host y añadimos el puerto a continuación de la IP de la forma "127.0.0.1:33066".

Para que el cambio surta efecto hay que detener los servicios y volver a iniciarlos, como con los puertos de Apache, el nuevo puerto de MySQL aparecerá en la columna de puertos asignados.
Error al exceder el tamaño de archivo de importación de la base de datos en phpMyAdmin
Podemos tener la necesidad de importar los archivos de las bases de datos que exportemos de otra instalación de Xampp, de una web en producción en un servidor online, o porque hemos cambiado de ordenador y necesitamos recuperar nuestro trabajo del viejo sistema. Los motivos pueden ser variados.
Al importar los datos nos daremos cuenta que Xampp tiene por defecto limitado el tamaño del archivo a subir. Esta limitación es de 2 megas. Muy poca para las bases de datos que seguramente tendremos.

- La solución pasa por modificar el archivo "php.ini", del servidor Apache. Los pasos son los siguientes:
- Parar el servidor local pulsando en "Stop"
- Abrir el archivo "php.ini" pulsando en el botón "Config" en la fila del servidor Apache. Se desplegará un menú en donde aparecerá el nombre del archivo.

- En el editor de texto que se abrirá con la configuración de php, buscar las siguientes líneas y modificar sus valores según nuestras necesidades:
- memory_limit: subiendo su valor conseguiremos que no salga el error por haber excedido el tiempo.
- post_max_size: es el valor máximo que nos permitirá subir en megas, poniendo el valor "0", eliminamos esta limitación pudiendo subir cualquier tamaño que tenga el archivo de la base de datos a importar.
- upload_max_filesize: si hemos quitado el límite poniendo un cero en el apartado anterior, no es necesario modificar este apartado. De lo contrario tendremos que dar un valor inferior o igual, ya que este es el que limita lo que hayamos puesto en el punto 2. Si post_max_size tiene un valor de 24, upload_max_filesize no puede ser superior, pero puede limitar el tamaño del archivo si ponemos un valor inferior.

- Cuando terminemos, guardamos los cambios y arrancamos de nuevo el servidor local para que los cambios tengan efecto. Si abrimos ahora phpMyAdmin, veremos que el valor ha cambiado, si está eliminado el límite, pondrá un "0", si hemos puesto valores, el que hayamos elegido.

Configurar el servicio Mercury en Xampp para manejar e-mails
Si además del servidor Apache y MySQL queréis configurar Mercury para que funcionen los correos electrónicos, podéis seguir el enlace de abajo.
¿Quieres saber más sobre el diseño web e internet? Pincha aquí
GRACIAS!
MUY BUEN TUTORIAL!
como hago para acivar webs cn https
En local, con xampp, no es necesario utilizar un certificado de seguridad https, ya que los datos y la información se mueven en un entorno cerrado, nuestro ordenador. Cuando se migra la web a un servidor online hay que contratar este servicio a parte o contar con un hosting que lo proporcione de forma gratuita, como "Let's Encrypt". El certificado suele activarse de forma manual una vez que la web esté online.
muchas gracias!!!!
Thks Dude! work 100%
gracias funciona perfecto!!
Muchas Gracias, me ha servido de mucho, todo muy detallado. Gracias mil.
hola tengo un problema y es que cambie el puerto de apache al 8080 y ya no me deja acceder a mis paginas web de xampp
Hola Oussama, cuando cambias el número de puerto, tienes que añadirlo en la dirección de la web junto con localhost. Si pusiste el puerto 8080, debes acceder a la página web con el formato "localhosst:8080/tuweb", donde "tuweb" será el nombre de la carpeta donde tienes instalada la web.
Hola Martín, excelente tutorial muy bien explicado. Yo soy novato en xampp, pero tengo el inconveniente que no encuentro una versión para Windows 7 32 bits. Sabes dónde encontrarla? cuando busco me envía siempre a las versiones para 64 bits.
Saludos.
Navegando en la págiuna oficial puedes llegar hasta el listado de todas las versiones que existen. En este link puedes verlo, para 32 bits, la últinma versión es la 7.3.2. Con windows 7 es posible que te funcione mejor una versión inferior.
https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/
gracias por todo amigo solucionaste mi estres que tenia por mas de una hora
Muy bien, concreto, bien explicado, gracias continua asi!!!!
Muchas gracias por tu ayuda... excelente
Hola, no se si podrias ayudarme con el problema que se me presenta en el uso del xampp, se supone que se ha activado el msql y el apache, pero al momento de querer abrir el localhost me dice que esta prohibida , a que se debe esto... agradezco de antemano su aportacion. Saludos desde Honduras.
Hola Isabel, ¿puedes poner texto de registro que aparece cuando arrancas los servicios de Apache y MySQL.
Muchísimas gracias. La verdad es que me ha servido de mucho a la hora de poner XAMPP en funcionamiento. Mi problema era, la configuración del Puerto de MySQL. El único problema que se me presentó fue que a la hora de conectarse a "localhost/phpmyadmin" no respondía. Tras reiniciar reiteradas veces XAMPP el problema se solucionó.
Hola buena tarde, al cambiar el puerto tendríamos que acceder tanto local como externo colocando el puerto al final de la ip por ejemplo: 0.0.0.0:85, hay alguna forma de no hacerlo y entrar directamente sin colocar le puerto al final? gracias.
Hola pepe, sólo puedes acceder sin colocar el puerto al final si lo configuras con el puerto 80, que es el que admite por defecto y el que utilizan casi todas las aplicaciones para conectarse. Tendrías que desactivar todas las aplicaciones que crean conflicto y utilizar ese puerto.
Muy claro y concreto.
Gracias Víctor, intento serlo siempre que puedo.
Bueno, breve y sencillo. Muchisimas gracias, eres el único que ha con el que he conseguido solucionar este problema. Gracias Juan.
Hola tengo un problema, y necesito su ayuda. quise actualizar la version de php que estuve usando. creee una carpeta nueva de php dentro de la carpeta xamp, donde copie la version mas actual de php, pero cuando quiero iniciar el xamp me sale error en los puertos del Apache, ya cambie los puertos y aun sigo con el mismo problema, no puedo iniciar el Apache.
Hola abel,
¿sólo has copiado la nueva carpeta de php?. Hay que hacer varias cosas. Primero renombrar la antigua carpeta de php para tenerla de seguridad, dentro está el archivo php.ini que tendremos que pegar en la nueva versión para mantener las configuraciones. Hay que hacer una copia de la carpeta apache y pegar dentro los archivos, sin las carpetas, de la nueva versión, y por último modificar la versión en el archivo httpd-xampp-conf.
He escrito un artículo explicando en detalle todo el proceso, también está acompañado de un vídeo.
https://www.jsolucioncreativa.com/wordpress/actualizar-php-en-xampp/
Excelente gracias por tu ayuda.. Llevaba ya varios dìas intentado instalar XAMPP en windows 10. Le cambie al puerto 8085 y 443...
Gracias..
Hola Juan Martin, te comento que instale xamp , y despues laravel ,(en windows 7), una vez instalado todo veo que se me corta la conexion que tengo a internet, supongo que algo de lo que instale me esta ocupando el puerto de internet,,,sera asi?,,
antes tenia windows xp y nunca me habia ocurrido , solo que xp no me dejaba instalar correctamnte algunos programas como laravel, pero ahora los puedo instalar y me ocurre este problema de la desconxion de internet, te agradesco alguna sugerencia.
Hola Alberto, si tienes cortes de conexión, pero si consigues conectar de vez en cuando, puede ser que tengas un antivirus que este cortando las conexiones o algún virus o troyano que impida que le ordenador conecte correctamente. Si no conecta desde el principio ni una sola vez, es posible que tengas Skype o si usas alguna máquuina virtual, que estén ocupando el puerto 80, que es el de comunicación de xampp, en este caso debes cambiar el puerto de Apache y el de MySQL.
Muy bueno el artículo, es muy completo,
Saludos.
Hola. Encontre aqui una valiosa informacion. La verdad llevo una semana intentando usar WordPress desde un servidor local y el articulo me sirvio para instalar Xampp pero sigo teniendo un problema. Luego de tener ya la pagina en wordpress hecha no consigo descargar plugins o cambiar el idioma. Estoy seguro que se debe a que uso conexión a internet a traves de un proxy. Cualquier ayuda será agradecida. Saludos
Hola Ricardo, el idioma se cambia en la pestaña "<strong>Ajustes > Generales</strong>" de la zona de administración, pero sólo para WordPress, si el tema que usas tiene alguna configuración en otro idioma y no publica traducciones propias, tendrás que traducirlo con algún plugin como "<strong>Locotranslate</strong>".
Aunque elijas el idioma adecuado para la parte frontal de WordPress, desde las opciones de usuario puedes configurar el idioma de la parte de administración en otro diferente, puedes comprobar si tienes el idioma correcto seleccionado.
Si te funciona WordPress correctamente, el cambio de idioma no tiene nada que ver con la conexión de internet.
Para instalar los plugins puedes intentar hacerlo de forma manual. Accedes a wordpress.org, buscas el plugin que necesitas y lo descargas al ordenador. Desde la sección "<strong>Plugins</strong>" elijes añadir uno nuevo y das en la pestaña "<strong>subir plugin</strong>".
a mi no me sirvió cambie muchas veces 80 a 8080,8085... y le otro achivo tambien 433 a 4330,4331.... ya no se que hacer. Ademas yo tengo ubuntu mate como sistema operativo y descargue xampp para window y corro el programa con wine que para instalar programas de window en linux y es donde tengo el problema que el apache no arraca no se si es que con wine no se lleva con xampp, porque los descargue asi porque queria descarga xampp de 32bit para linux y no esta disponible hay para 64bit, por este motivo descargue xampp de 32bit para window. Alguien que tenga la solucion a esto
Hola deivis castro, no conozco mucho de ubuntu ni de linux, pero apache es un servidor que necesita una IP, esa IP es la del ordenador y suele ser 127.0.0.1, pero al trabajar sobre una maquina virtual de windows sobre linux, puede que la IP no sea la misma, y los puertos no tengan nada que ver con el correcto funcionamiento. Como te digo estoy dando palos de ciego al no disponer de conocimientos necesarios sobre ubuntu. Cuando arrancas Apache y MySQL desde el panel de control de Xampp, ¿Qué mensajes o errores aparecen?
Fijata esto:
https://blog.desdelinux.net/instalar-configurar-xampp-gnulinux/
Gracias Hugo Choy, espero que ayude a la gente que quiere usar Xampp con linux
Le agradezco, muy valiosa información.
Hola Eliécer Baltodano, me alegro de haber podido ayudar.
Saludos Juan, me ha servido de mucho la información publicada.
Yohandy, me alegro que la información te haya sido útil.