Windows Preguntas frecuentes

¿Cómo instalo XAMPP?

Existen tres tipos diferentes de XAMPP para Windows:

Instalador:
Probablemente la forma más fácil de instalar XAMPP.

ZIP:
Para puristas: XAMPP como archivo ZIP.

7zip:
Para puristas con ancho de banda bajo: XAMPP como archivo 7zip.

Nota: Si extraes los ficheros, puede haber falsos avisos de virus.

Usando el instalador:

Usa el panel de control de XAMPP para iniciar/parar Apache, MySQL, FIleZilla & Mercury o instalar estos servidores como servicios.

Instalando desde ZIP

Descomprime los archivos zip en la carpeta que elijas. XAMPP es extraido en el subdirectorio "C:\xampp" en el directorio de destino seleccionado. Ahora ejecuta el fichero "setup_xampp.bat" para ajustar la configuración de XAMPP en tu sistema.

Si elijes un directorio raíz, como "C:\", no debes ejecutar "setup_xampp.bat".

Al igual que con el instalador, puedes usar ahora el "XAMPP Control Panel" para tareas adicionales.

¿Cómo inicio XAMPP sin instalar?

Si extraes XAMPP en un directorio principal como "C:\\\" o "D:\\\" puedes iniciar la mayoría de los servidores como Apache o MySQL directamente sin ejecutar el fichero "setup_xampp.bat".

No usar el script de instalación, o seleccionar paths relativos en el script de instalación, es preferible si estás instalando XAMPP en un disco duro USB, debido a que en cada ordenador ese dispositivo puede estar en una unidad distinta. Puedes cambiar de paths absolutos a relativos cuando quieras con el script de instalación.

Usar el instalador de nuestra página de Descargas es la forma más fácil de instalar XAMPP. Cuando la instalación se complete, encontrarás XAMPP en Inicio | Programas | XAMPP. Puedes usar el Panel de Control de XAMPP para iniciar/parar todos los servidores y también para instalar/desinstalar servicios.

Usa el panel de control de XAMPP para iniciar/parar Apache, MySQL, FIleZilla & Mercury o instalar estos servidores como servicios.

¿Cómo inicio y paro XAMPP?

El Centro de Control principal es el "XAMPP Control Panel" (gracias www.nat32.com). Se inicia con:

\xampp\xampp-control.exe

Puedes también usar algunos ficheros batch para iniciar/parar servidores:

  • Iniciar Apache y MySQL: \xampp\xampp_start.exe
  • Parar Apache y MySQL: \xampp\xampp_stop.exe
  • Iniciar Apache: \xampp\apache_start.bat
  • Parar Apache: \xampp\apache_stop.bat
  • Iniciar MySQL: \xampp\mysql_start.bat
  • Para MySQL: \xampp\mysql_stop.bat
  • Iniciar Mercury Mailserver: \xampp\mercury_start.bat
  • Parar Mercury Mailserver: \xampp\mercury_stop.bat
  • Iniciar Servidor FileZilla: \xampp\filezilla_start.bat
  • Parar Servidor FileZilla: \xampp\filezilla_stop.bat

¿Cómo compruebo que todo ha ido bien?

Escribe la siguiente URL en tu navegador favorito:

http://localhost/ o http://127.0.0.1/

Ahora deberías ver la página de inicio de XAMPP, que contiene algunos links para comprobar el estado del software instalado y algunos ejemplos de programación.

¿Cómo puedo instalar un servidor como servicio?

Puedes instalar cada servidor en XAMPP como servicio de Windows. También puedes instalarlo desde el Panel de Control de XAMPP. En este caso, es necesario ejecutar los scripts o el Panel de Control con privilegios de Administrador.

Instalar el servicio Apache: \xampp\apache\apache_installservice.bat

Desinstalar el servicio Apache: \xampp\apache\apache_uninstallservice.bat

Instalar el servicio MySQL: \xampp\mysql\mysql_installservice.bat

Desinstalar el servicio MySQL: \xampp\mysql\mysql_uninstallservice.bat

(Des)instalar el servicio FileZilla: \xampp\filezilla_setup.bat

Mercury: No disponible la instalación de servicio

¿Está XAMPP listo para producción?

XAMPP no está pensado para uso en producción, sino para entornos de desarrollo. XAMPP está configurado de forma que sea tan abierto como sea posible, permitiendo al desarrollador hacer lo que quiera. En entornos de desarrollo esto es magnífico pero en un entorno de producción puede ser fatal.

A continuación se muestra una lista de posibles fallos de seguridad en XAMPP:

  1. El administrador de MySQL (root) no tiene password.
  2. El proceso MySQL está accesible a través de la red.
  3. ProFTPD usa la contraseña "lampp" para el usuario "daemon".
  4. PhpMyAdmin está accesible a través de la red.
  5. La página de ejemplo de XAMPP está accesible a través de red.
  6. Los usuarios por defecto de Mercury y FileZilla son conocidos.

Todo esto puede ser un enorme riesgo de seguridad. Especialmente si XAMPP está accesible a través de la red y gente fuera de tu LAN. Para mejorar la seguridad, puede ayudar el uso de un firewall o un router (NAT). En el caso de un router o firewall, tu PC no estará normalmente accesible a través de la red. Depende de ti arreglar estos problemas. Una pequeña ayuda es la "Consola de Seguridad de XAMPP".

Por favor, establece seguridad en XAMPP antes de publicar nada online. Un firewall o un router sólo son correctos para bajos niveles de seguridad. Para algo más de seguridad, puedes ejecutar la "Consola de Seguridad de XAMPP" y asignar contraseñas.

Si quieres tener tu XAMPP accesible desde internet, ve a la siguiente URI que puede arreglar algunos problemas:

http://localhost/security/

Con la consola de seguridad puedes establecer una contraseña para el usuario "root" de MySQL y phpMyAdmin. Puedes también habilitar autenticación para las páginas de ejemplo de XAMPP.

Esta herramienta web no arregla ningún problema adicional de seguridad. Especialmente debes establecer tu propia seguridad en los servidores FileZilla y Mercury.

¿Cómo desinstalo XAMPP?

Si instalaste XAMPP usando la versión de instalador, por favor, usa el desinstalador. El desinstalador eliminará todas las entradas de XAMPP de tu registro y desinstalará algunos servicios incluidos con XAMPP. Recomendamos fervientemente que uses el programa de desinstalación para eliminar las instalaciones de XAMPP realizadas con el instalador. Por favor, haz copia de seguridad de todos los datos que quieras mantener antes de desinstalar XAMPP.

Si instalaste XAMPP usando las versiones ZIP o 7zip, apaga todos los servidores de XAMPP y sal de todos los paneles. Si instalaste algún servicio, apágalo y desinstálalo también. Ahora simplemente borra el directorio completo donde XAMPP está instalado. No hay entradas ni variables de entorno que debas borrar.

¿Qué es la versión "lite" de XAMPP?

XAMPP Lite (significa "light" (ligero, que pesa poco)) es un pequeño conjunto de componentes de XAMPP, que es recomendado para trabajo rápido usando sólo PHP y MySQL. Algunos servidores o herramientas como Mercury Mail y FileZilla FTP no están incluidos en la versión Lite.

¿Dónde debo colocar mi contenido web?

El directorio principal para los documentos WWW es \xampp\htdocs. Si pones un fichero "test.html" en este directorio, puedes acceder a él con la URI "http://localhost/test.html".

¿Y "test.php"? Simplemente usa "http://localhost/test.php". Un fichero de test simple puede ser:

<?php
echo 'Hello world';
?>

¿Un nuevo subdirectorio para tu web? Simplemente crea un nuevo directorio (p.ej. "new") dentro del directorio "\xampp\htdocs" (mejor sin espacios y sólo caracteres ASCII), crea un fichero de ejemplo en este directorio y accede a el con "http://localhost/new/test.php".

Específicamente

HTML:
Ejecutable: \xampp\htdocs
Finales permitidos: .html .htm
=> paquete basico

SSI:
Ejecutable: \xampp\htdocs
Finales permitidos: .shtml
=> paquete basico

CGI:
Ejecutable: \xampp\htdocs and \xampp\cgi-bin
Finales permitidos: .cgi
=> paquete basico

PHP:
Ejecutable: \xampp\htdocs and \xampp\cgi-bin
Finales permitidos: .php
=> paquete basico

Perl:
Ejecutable: \xampp\htdocs and \xampp\cgi-bin
Finales permitidos: .pl
=> paquete basico

Apache::ASP Perl:
Ejecutable: \xampp\htdocs
Finales permitidos: .asp
=> paquete basico

JSP Java:
Ejecutable: \xampp\tomcat\webapps\java (e.g.)
Finales permitidos: .jsp
=> Tomcat add-on

Servlets Java:
Ejecutable: \xampp\tomcat\webapps\java (e.g.)
Finales permitidos: .html (u.a)
=> Tomcat add-on

¿Puedo mover la instalación de XAMPP?

Sí. Tras mover el directorio de XAMPP, debes ejecutar "setup_xampp.bat". Los paths de los directorios de configuración se ajustarán con este paso.

Si has instalado algún servidor como servicio de Windows, debes primero eliminar el servicio de Windows y después de mover, podrás instalar el servicio de nuevo.

Aviso: Los ficheros de configuración de tus propios scripts, como aplicaciones PHP, no serán ajustados. Pero es posible escribir un "plug-in" para el instalador. Con ese plug-in, el instalador puede ajustar esos ficheros también.

¿Qué son las "páginas de inicio automático" de los directorios WWW?

El nombre del fichero por defecto para la función de Apache "DirectoryIndex" es "index.html" o "index.php". Cada vez que navegas a una carpeta (e.j. "http://localhost/xampp/"), y Apache puede encontrar ese fichero, Apache lo muestra en en lugar de un listado de directorio.

¿Dónde puedo cambiar la configuración?

Casi todas las opciones de XAMPP pueden cambiarse con ficheros de configuración. Simplemente abre el fichero en un editor de texto y cambia las opciones que quieras. Sólo FileZilla y Mercury deberían ser configuradas con la herramienta de configuración de aplicaciones.

¿Por qué no funciona XAMPP en Windows XP SP2?

Microsoft incluye un mejor firewall con service pack 2 (SP2), que se inicia automáticamente. Este firewall bloquea los puertos 80 (http) y 443 (https), necesarios para Apache, que no puede iniciarse.

La solución rápida:

Deshabilita el firewall de Microsoft con el barra de herramientas e intenta iniciar XAMPP otra vez. La mejor solución es definir una excepción en el centro de seguridad.

Los siguientes puertos son usados para funcionalidades básicas:

Apache (HTTP): Port 80
Apache (WebDAV): Port 81
Apache (HTTPS): Port 443
MySQL: Port 3306
FileZilla (FTP): Port 21
FileZilla (Admin): Port 14147
Mercury (SMTP): Port 25
Mercury (POP3): Port 110
Mercury (IMAP): Port 143
Mercury (HTTP): Port 2224
Mercury (Finger): Port 79
Mercury (PH): Port 105
Mercury (PopPass): Port 106
Tomcat (AJP/1.3): Port 8009
Tomcat (HTTP): Port 8080

¿Por qué no funciona XAMPP en Vista?

Control de Cuentas de Usuario (UAC)

No tienes totales privilegios de escritura en el directorio "C:\Archivos de Programas", ni siquiera como Administrador. O tienes sólo privilegios limitados (p.ej. en ".\xampp\htdocs"). Es este caso, no puedes editar un fichero.
Solución: Aumenta tus privilegios en el explorador (botón derecho / seguridad) o deshabilita el control de cuentas de usuario (UAC)

Has instalado Apache/MySQL en "C:\xampp" como servicio de Windows. Pero no puedes iniciar/parar los servicios con el "XAMPP Control Panel" o no puedes desinstalarlos.

Solución: Usa la consola de administración de Windows o deshabilita UAC.

Deshabilitando el Control de Cuenta de Usuario (UAC)

Para deshabilitar el UAC, usa el programa "msconfig". En "msconfig" ve a "Herramientas", selecciona "deshabilitar el control de cuentas de usuario" y verifica tu selección. Ahora debes reiniciar Windows. Si quieres volver a habilita la UAC, puedes hacerlo del mismo modo.

¿Cómo compruebo el checksum md5?

Para comparar ficheros, normalmente se usan checksums. Un estándar para crear este checksum es md5 (Message Digest Algorithm 5).

Con este checksum md5 puedes comprobar si tu descarga del paquete XAMPP es correcto o no. Por supuesto, necesitas un programa que puede crear estos checksums. Para Windows puedes usar una herramienta de Microsoft:

Disponibilidad y descripción de la utilidad File Checksum Integrity Verifier

También es posible usar cualquier otro programa que cree checksums md5, como GNU md5sum.

Para instalar un programa así (p.ej. fciv.exe), puedes seguir los siguientes pasos:

  • Descarga XAMPP (p.ej. xampp-win32-1.8.2-0.exe)
  • Crea el checksum con:
    fciv.exe xampp-win32-1.8.2-0.exe
  • Y ahora puedes comparar este checksum con el que puedes encontrar en la página de XAMPP para Windows.

Si ambos checksums son iguales, todo está bien. Si no, la descarga está dañada o el fichero ha sido modificado.

¿Por qué lo cambios realizados en mi php.ini no tienen efecto?

Si un cambio en el "php.ini" no tiene efecto, es posible que PHP esté usando uno diferente. Puedes verificarlo con phpinfo(). Ve a la URI http://localhost/xampp/phpinfo.php y busca "Loaded Configuration File". Este valor muestra el "php.ini" que PHP está usando realmente.

Nota: Tras cambiar el "php.ini" debes reiniciar Apache para que Apache/PHP puedan leer la nueva configuración.

¡Ayuda! ¡Hay un virus en XAMPP!

Algunos programas de antivirus confunden XAMPP con un virus, normalmente apuntando al fichero xampp-manager.exe. Esto es un falso positivo, lo que significa que el antivirus lo identifica erróneamente como un virus, cuando no es así. Antes de lanzar cada versión de XAMPP la ejecutamos con un programa de escaneo de virus. En estos momentos usamos Kapersky Online Virus Scanner

¿Cómo configuro mi aplicación de antivirus?

Hemos incluido todas las dependencias y servidores requeridos para ejecutar la aplicación web incluida, por lo que comprobarás que XAMPP instala un gran número de ficheros. Si estás instalando una aplicación XAMPP en una máquina de Windows con un antivirus activado, puede ralentizar la instalación significativamente, y hay también posibilidades de que uno de los servidores (servidor web, servidor de base de datos) sea bloqueado por el antivirus. Si tienes una herramienta de antivirus habilitada, comprueba las siguientes opciones para ejecutar XAMPP sin problemas de rendimiento:

  • Añade excepciones en el firewall: para Apache, MySQL o cualquier otro servidor.
  • Escanear los ficheros mientras se ejecutan: si tienes habilitado que el antivirus escanee todos los ficheros, los ficheros ejecutables de los servidores pueden ralentizarse.
  • Escanear el tráfico de las distintas URLs: Si estás desarrollando con XAMPP en tu propia máquina, puedes excluir el tráfico de "localhost" en las opciones de tu antivirus.

¿Por qué no se inicia el servidor de Apache en mi sistema?

Este problema puede deberse a varias razones:

  • Has iniciado más de un servidor HTTP (IIS, Sambar, ZEUS and so on). Sólo puede haber un servidor usando el puerto 80. Este mensaje de error indica el problema:
    (OS 10048)... make_sock: could not bind to adress 0.0.0.0:80 no listening sockets available, shutting down
  • Tienes otro software, como "Skype" que también bloquea el puerto 80. Si el problema es "Skype", puedes ir en Skype a Acciones->Opciones->Conexión->eliminar la marca de verificación en "usar puerto 80 en lugar de otro puerto" y reiniciar Skype. Ahora debería funcionar.
  • Tienes un firewall que bloquea el puerto Apache. No todos los firewalls son compatibles con Apache, y a veces desactivar el firewall no es suficiente y debes desinstalarlo. Este mensaje de error indica que hay un firewall:
    (OS 10038)Socket operation on non-socket: make_sock: for address 0.0.0.0:80, apr_socket_opt_set: (SO_KEEPALIVE)

Si Apache puede iniciarse, pero tu navegador no puede conectarse a él, también puede deberse a uno de los siguientes motivos:

  • Algunos antivirus y firewalls pueden causar este problema.
  • Tienes XP Professional sin el service pack 1. Debes tener al menos SP1 para usar XAMPP.

Consejo: Si tienes problemas con los puertos usados, puedes usar la herramienta "xampp-portcheck.exe". Quizás sea de ayuda.

¿Por qué mi carga de CPU en Apache está casi al 99%?

Hay dos opciones aquí. O la CPU ha alcanzado su máximo, o puedes conectarte al servidor, pero no ves nada (el sistema está intentando sin éxito cargar la página). En cualquier caso, puedes encontrar el siguiente mensaje en el fichero log de Apache:

Child: Encountered too many AcceptEx faults accepting client connections. winnt_mpm: falling back to 'AcceptFilter none'.

MPM recurre a una implementación más segura, pero algunas peticiones de clientes no fueron procesadas correctamente. Para evitar este error, usa "AcceptFilter" con el filtro "none" in el fichero "\xampp\apache\conf\extra\httpd-mpm.conf"

¿Por qué las imágenes y las hojas de estilo no se muestran?

A veces hay problemas mostrando imágenes y hojas de estilo. Especialmente si estos ficheros están almacenados en un dispositivo en red. En este caso, puedes activar (o añadir) una de las siguientes líneas en el fichero "\xampp\apache\conf\httpd.conf":

EnableSendfile off
EnableMMAP off

Este problema también puede estar causado por programas de regulación de ancho de banda, como NetLimiter.

¿Cómo puedo establecer la contraseña de root de MySQL?

La forma más fácil es usar la consola de seguridad, a la que puedes acceder a través de http://localhost/security/. Esta consola crea una contraseña para el usuario root de MySQL y ajusta la configuración de phpMyAdmin.

Otra forma es configurarlo con el "XAMPP Shell" (línea de comandos). Abre el shell y ejecuta este comando:mysqladmin.exe -u root password secret

¿Puedo usar mi propio servidor de MySQL?

Sí. Simplemente no inicies MySQL desde el paquete XAMPP. Por favor, ten en cuenta que dos servidores no pueden iniciarse en el mismo puerto. Si has seleccionado una contraseña para "root", no olvides editar el fichero "\xampp\phpMyAdmin\config.inc.php".

¿Cómo restrinjo el acceso a phpMyAdmin desde el exterior?

En una configuración básica de XAMPP, phpMyAdmin tiene acceso público.

Puedes cambiar la contraseña de root de MySQL y elegir el método de autenticación para phpMyAdmin desde la consola de seguridad en http://localhost/security/

Para acceder al servidor MySQL, phpMyAdmin te preguntará por un nombre de usuario y contraseña. No olvides fijar la contraseña del usuario "root" antes.

¿Dónde se encuentra el soporte a IMAP para PHP?

Por defecto, el soporte a IMAP para PHP está desactivado en XAMPP debido a algunos extraños errores de inicialización con algunas versiones home, como Windows 98. Si trabajas con sistemas NT, puedes abrir el fichero "\xampp\php\php.ini" para activar la extensión php eliminando el punto y coma inicial en la línea ";extension=php_imap.dll". Debería ser:
extension=php_imap.dll

Ahora reinicia Apache e IMAP debería funcionar. Puedes usar los mismos pasos para cualquier extensión que no esté habilitada en la configuración por defecto.

¿Por qué algunas aplicaciones open source de PHP no funcionan con XAMPP en Windows?

Muchas de las aplicaciones de PHP o extensiones que han sido escritas para Linux no han sido portadas a Windows.

¿Puedo borrar el directorio "install" tras la instalación?

Es mejor que no. Los scripts que se encuentran aquí aún son necesarios para todos los paquetes adicionales (add-ons) y actializaciones de XAMPP.

¿Cómo activo eAccelerator?

Como otras extensiones (Zend) , puedes activarla en "php.ini". En este fichero, descomenta la línea ";zend_extension = "\xampp\php\ext\php_eaccelerator.dll"". Debe ser:
zend_extension = "\xampp\php\ext\php_eaccelerator.dll"

¿Cómo arreglo el error de conexión a mi servidor MS SQL?

Si la extensión mssql no se cargó en el php.ini, a veces aparecerán problemas cuando sólo se use TCP/IP. Puedes arreglar este problema con un "ntwdblib.dll" de Microsoft más nuevo. Por favor, sustituye el fichero anterior en "\xampp\apache\bin" y "\xampp\php" por el nuevo. Debido a la licencia, no podemos empaquetar nuevas versiones de este fichero en XAMPP.

¿Cómo uso la extensión mcrypt de PHP?

Para ello, hemos abierto un topic en el foro con ejemplos y posibles soluciones: Topic de MCrypt

¿Funciona Microsoft Activer Server Pages (ASP) con XAMPP?

No. Y Apache::ASP con el Add-On de Perl tampoco. Apache::ASP sólo usa Perl-Script pero el ASP de Internet Information Server (IIS) también usa VBScript. Pero para ASP .NET hay un módulo de Apache de terceros disponible.