Cómo instalar y configurar PHP y MySQL en Windows
PHP y MySQL son una poderosa combinación cuando se trata de proporcionar contenido dinámico a la base de usuarios. A lo largo de los años, estos dos productos han crecido más allá de su nicho inicial y ahora impulsan algunos de los sitios más ocupados del mundo. Si bien ambos productos son de código abierto y inicialmente se ejecutaban en UNIX/Linux, durante mucho tiempo, ambos también han estado disponibles para la plataforma Windows. En este artículo, proporcionaré instrucciones paso a paso para instalar y configurar estos productos en un entorno Windows. Para algunos de ustedes, la información presentada aquí será simplista, pero este artículo está diseñado para ser una guía completa para lograr el objetivo en el título del artículo.
Paso 1: Instalar el rol del servidor de aplicaciones en su sistema Windows Server 2003 R2
Para este ejemplo, utilizaré IIS como mi servidor web. También puede optar por usar PHP y MySQL con Apache, en cuyo caso no necesita IIS, pero no seguiré esta ruta en este ejemplo.
Para instalar el rol del servidor de aplicaciones en su sistema, desde el menú Inicio, elija "Administrar su servidor". En la ventana principal de "Administrar su servidor", haga clic en la opción "Agregar o quitar un rol" (Figura A).
Figura A |
Instalar el rol del servidor de aplicaciones en su servidor permite alojar sitios web. |
Windows buscará en su servidor los roles existentes y luego le proporcionará una lista completa de roles disponibles para la instalación (Figura B).
Figura B |
El rol del servidor de aplicaciones incluye tanto IIS como ASP.net. |
Durante el proceso de instalación del rol del servidor, es posible que se le solicite insertar su CD de Windows Server. Los archivos necesarios para este rol se encuentran en el CD 1.
Cuando haya terminado, la pantalla de "Administrar su servidor" se actualizará para reflejar la adición del nuevo rol.
10 pasos para reinstalar Windows y optimizar su rendimientoPaso 2: Descargar PHP y MySQL
En este punto, su servidor está listo para comenzar a servir páginas web. Pero, dado que aún no ha instalado PHP o MySQL, las páginas serán estáticas. Antes de poder instalar PHP y MySQL, debe descargar las versiones para Windows del software desde sus respectivos sitios web.
MySQL
Comenzaré con la instalación de MySQL. Al momento de escribir este artículo, MySQL 5.1 está en beta, con la versión 5.0 disponible para uso general. Aunque estoy instalando MySQL en una edición de 64 bits de Windows, descargaré la versión de 32 bits del producto. Después de todo, PHP, que estará en el mismo servidor, aún no está disponible de forma general para hardware de 64 bits, lo que significa que IIS también debe ser de 32 bits en el servidor, por lo que no hay forma de mantenerse completamente en 64 bits. MySQL está disponible en tres ediciones: Essentials, Complete o una edición sin instalador.
- Essentials: El paquete Essentials es un archivo de instalación MSI destinado a satisfacer las necesidades de la mayoría de los usuarios.
- Complete: El paquete Complete, como se puede esperar, incluye más componentes que Essentials, incluidas una suite de herramientas de evaluación comparativa.
- Noinstall: Este paquete es igual al paquete Complete, pero no incluye el Asistente de configuración ni un instalador y debe instalarse manualmente.
Para los fines de este artículo, el paquete Essentials es recomendable. En este caso, el archivo que estoy descargando se llama mysql-essential-5.0.24a-win32.msi y se guarda en mi escritorio.
PHP
Para agregar dinamismo a su sitio, el uso de un lenguaje como PHP es una necesidad, especialmente si desea extraer información de una base de datos como MySQL. Hay dos versiones diferentes de PHP: una serie 4.x y una serie 5.x. Si está utilizando scripts de un sitio más antiguo, es posible que necesite la versión 4.x de PHP, ya que la versión 5.x introduce una serie de cambios. Dado que estoy creando un sitio completamente nuevo, usaré la última edición del producto. Al momento de escribir este artículo, esa es la versión 5.1.6.
El nombre del archivo descargado es php-5.1.6-Win32.zip.
Paso 3: Instalar MySQL
El proceso de instalación es bastante sencillo, pero proporcionaré una mirada paso a paso a este proceso, así como al proceso de configuración.
Cómo administrar relaciones de confianza en Active DirectoryInstalación de MySQL
La primera pantalla del instalador es bastante típica y le pide que elija el tipo de instalación que desea realizar. Estoy haciendo una instalación típica, que instalará MySQL en C:\Program Files (x86)\MySQL\MySQL Server 5.0. Para sistemas operativos de 32 bits, el directorio de destino será C:\Program Files\MySQL\MySQL Server 5.0. (Figura C)
Figura C |
¿Qué tipo de instalación desea realizar? |
No mostraré la pantalla de resumen. ¡Lo creas o no, esta es toda la "instalación" para PHP 5! El verdadero trabajo viene después.
Configuración de MySQL
Inmediatamente después de la instalación, se inicia el Asistente de configuración de MySQL, que hace una serie de preguntas sobre cómo planea usar su servidor. A través de sus respuestas, el Asistente de configuración de MySQL crea el archivo de configuración del servidor de bases de datos, que contiene los parámetros de ajuste que permiten que su servidor haga su trabajo.
Cómo personalizar el color de los símbolos en una lista con viñetas en WordEl primer paso en el proceso de configuración es decidir cómo desea configurar su servidor. ¿Desea que se le hagan una serie de preguntas sobre el uso del servidor o quiere que MySQL use un archivo de configuración predefinido que pueda manipular a mano? Para este ejemplo, optaré por la opción Detallada. (Figura D)
Figura D |
¿Desea un análisis detallado o solo utilizar una configuración predefinida? |
Para tomar decisiones adecuadas sobre cuánta RAM y otros recursos dedicarle a la función de base de datos, el Asistente de configuración de MySQL le pregunta cómo planea utilizar el servidor. (Figura E) Si está dedicando el servidor solo al trabajo de la base de datos, MySQL utilizará toda la RAM y los recursos que tenga disponibles. Dado que mi servidor de prueba también funcionará como un servidor web y de bases de datos, elegiré la selección Server Machine.
Cómo hacer que el contenido de tu documento de Word se ajuste a una sola páginaFigura E |
¿Qué tipo de servidor está utilizando? |
Nuevamente, el asistente de configuración hace otra pregunta que ayuda a la herramienta a brindarle el mejor sistema ajustado para sus propósitos. Para mi ejemplo, he optado por utilizar la opción Base de datos multifuncional (Figura F), que es adecuada para uso general.
Figura F |
¿Cómo planea utilizar la base de datos? |
La siguiente etapa del proceso le pide que defina la configuración de su espacio de tabla InnoDB. He elegido utilizar la configuración predeterminada. (Figura G)
Figura G |
Elija sus opciones de configuración de InnoDB. |
Como se puede ver en la Figura H a continuación, el siguiente paso del proceso es determinar aproximadamente cuántas conexiones simultáneas tendrá en su base de datos de MySQL. No subestime este número. Si se queda sin conexiones, los usuarios adicionales de su sitio no podrán acceder a la base de datos. Sin embargo, tampoco se vuelva demasiado loco, ya que las conexiones adicionales de la base de datos requieren recursos adicionales. Es un equilibrio.
Cómo instalar APFS para Windows: una solución para la compatibilidad de sistemas operativosFigura H |
El número de conexiones a su base de datos es una consideración importante de recursos. |
La base de datos MySQL se accede generalmente a través de TCP/IP. MySQL, de forma predeterminada, utiliza el puerto 3306 para la comunicación. Puede desactivar TCP/IP o cambiar el número de puerto en la página de configuración que se muestra en la Figura I. Además en esta página, puede elegir la opción Enable Strict Mode, que hace que MySQL sea menos tolerante ante errores sintácticos menores. Si es muy nuevo en esto, recomiendo que desactive el modo estricto mientras aprende para aliviar la frustración, pero con el tiempo, intente usar el modo estricto, ya que reducirá la probabilidad de que los datos erróneos lleguen a su base de datos.
Figura I |
Configuración de TCP/IP y modo estricto. |
No diré mucho sobre la siguiente pantalla. (Figura J) Dado que solo estoy usando inglés, seleccioné el conjunto de caracteres estándar.
Figura J |
Elija su opción de conjunto de caracteres. |
En la siguiente pantalla del asistente de configuración, se le pregunta si desea instalar MySQL como un servicio de Windows y si ese servicio debe iniciarse cuando se inicia el servidor. Además, decida si desea que los comandos de MySQL se agreguen a la ruta de acceso de Windows. Por el bien de la cordura, tengo el servicio de MySQL iniciándose con el sistema operativo y he optado por modificar la ruta del sistema. (Figura K)
Cómo acceder y configurar el firewall de Windows Defender en Windows 10Figura K |
Seleccione opciones ambientales. |
La seguridad de su servidor web y base de datos es un elemento crítico. Como tal, debe asignar una contraseña root sólida para su servidor de bases de datos, no habilitar el acceso remoto de root a menos que sea absolutamente necesario y no crear una cuenta anónima. (Figura L)
Figura L |
Proporcione alguna forma de seguridad para su servidor de bases de datos. |
La configuración de seguridad es el último elemento de configuración en el asistente. Una vez completado, el asistente prepara su configuración, escribe la configuración en C:\Program Files [{x86)}]\MySQL\MySQL Server 5.0\my.ini y luego inicia el servicio de la base de datos.
Ahora tiene un servidor de base de datos MySQL en funcionamiento. Pasemos a PHP.
Paso 4: Instalar y configurar PHP
Esta es probablemente la parte más difícil de todo el proceso. Hacer que PHP funcione con IIS 6 puede ser un desafío. Proporcionaré una mirada completa de cómo lograr este objetivo.
Instalar PHP
Su primera tarea es instalar PHP a partir del contenido del archivo ZIP que descargó anteriormente. Por lo general, instalo PHP en una carpeta llamada C:\PHP5. Para hacer esto en su entorno:
- Cree una carpeta llamada PHP5 en su unidad C:.
- Descomprima el contenido del archivo descargado en esta ubicación. La herramienta de extracción de archivos ZIP integrada de Windows Server 2003 R2 funciona muy bien para este propósito.
¡Lo creas o no, esa es toda la "instalación" para PHP 5! Ahora, pasemos a algo un poco más difícil: la configuración de PHP.
Configurar PHP
Hay algunos pasos que deben seguirse para hacer que PHP funcione en Windows con IIS.
- Agregue el directorio C:\PHP5 a la variable de entorno de su sistema. (Figura M) Esto permitirá que su sistema encuentre más fácilmente los archivos DLL de PHP que necesita.
- Elija Inicio y haga clic con el botón derecho en Mi equipo.
- En el menú contextual resultante, seleccione Propiedades.
- En la página de propiedades, seleccione la pestaña Avanzado.
- Haga clic en el botón Variables de entorno.
- Dentro de la lista de variables del sistema, haga doble clic en la variable de ruta.
- Al final de la variable de ruta, agregue ";C:\PHP" (sin las comillas).
- Reinicie su servidor.
Figura M |
Modifique su ruta del sistema para incluir el directorio de PHP. |
- Copie el archivo C:\PHP5\php.ini-dist y guárdelo como C:\PHP5\php.ini. Este es el archivo de configuración de PHP. La versión -dist es solo un ejemplo.
- Ahora, cree una variable del sistema llamada "PHPRC" y asígnele la ruta del archivo php.ini. Si opta por hacer esto en lugar de crear una entrada de registro para lograr el mismo objetivo, asegúrese de que su variable PHPRC contenga solo la ruta de php.ini y no la ruta más el nombre del archivo php.ini.
- Finalmente, para que PHP funcione con MySQL, debe realizar algunos cambios en el archivo c:\php5\php.ini.
- Abra c:\php5\php.ini con su editor de texto favorito.
- Busque la opción de configuración "extension_dir" y asegúrese de que la línea diga: extension_dir = "./ext". Esto le indica a PHP dónde encontrar los módulos adicionales para cargar. Necesita al menos un módulo para poder usar MySQL con PHP.
- Busque la línea que dice ";extension=php_mysql.dll" y elimine el punto y coma inicial. En el archivo php.ini, el punto y coma se utiliza para comentar una línea de configuración. En este caso, queremos descomentar la línea que carga el módulo MySQL de PHP.
- Justo debajo de la línea anterior, agregue: "extension=php_mysqli.dll". Este módulo habilita algunas funciones adicionales de MySQL en versiones más nuevas del producto.
Configurar IIS para ejecutarse en modo de 32 bits (solo Windows de 64 bits)
Los binarios Windows oficiales de PHP aún no están disponibles para una arquitectura de Windows de 64 bits, pero aún puede ejecutarlos en Windows de 64 bits. Sin embargo, para que funcione, debe ejecutar IIS 6 en modo de emulación de 32 bits. Para hacer esto, desde su servidor de Windows, haga lo siguiente:
- Vaya a un símbolo del sistema.
- Desde la ventana del símbolo del sistema, cambie a la carpeta C:\Inetpub\Adminscripts. Si Windows está instalado en una unidad que no sea "C:", utilice esa letra de unidad en su lugar.
- Mientras está en la carpeta Adminscripts, escriba el siguiente comando:
cscript adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1. El valor "1" para Enable32bitAppOnWin64 indica a Windows que ejecute w3svc en modo de 32 bits, mientras que el valor "0" indica 64 bits. - Escriba iisreset.
- Reinicie el servidor.
Configurar IIS
Aunque PHP está configurado, antes de poder comenzar a usarlo, debe indicarle a IIS cómo puede usar el nuevo servicio. Hasta que haga esto, intentar cargar archivos PHP en un navegador web desde su servidor IIS solo producirá errores.
Puede ejecutar PHP de dos formas con IIS: mediante ISAPI o como una extensión CGI. Dado que el método ISAPI generalmente da mejores resultados, seguiremos ese camino en este artículo. Para comenzar, debe agregar la extensión ISAPI de PHP a IIS.
- Vaya a Inicio | Herramientas administrativas | Administrador de servicios de Internet (IIS).
- Seleccione el nombre del servidor | Extensiones de servicios web.
- En el panel derecho, haga clic en la opción "Agregar una nueva extensión de servicio web...".
- En la pantalla resultante, en el campo "Nombre de extensión", ingrese "PHP ISAPI".
- Haga clic en el botón Agregar.
- Navegue hasta el archivo C:\PHP5\php5isapi.dll.
- Haga clic en Aceptar.
- Marque la casilla "Establecer estado de extensión en Permitido". (Figura N)
- Haga clic en Aceptar.
Figura N |
Apunte la nueva extensión al archivo php5isapi.dll en la carpeta C:\PHP5. |
Agregue extensión nueva (.php)
- Vaya a Inicio | Herramientas administrativas | Administrador de servicios de Internet (IIS).
- Haga clic derecho en Sitios web y, en el menú contextual resultante, elija Propiedades.
- En la página de propiedades, seleccione la pestaña Directorio principal.
- Haga clic en el botón Configuración.
- Haga clic en el botón Agregar.
- En la ventana Agregar/Editar mapeo de extensión de aplicación, junto al cuadro Ejecutable, haga clic en el botón Examinar y localice el archivo C:\PHP5\php5isapi.dll.
- En el campo Extensión, ingrese ".php". (Figura O)
- En el encabezado Verbos, elija la opción "Limitar a" e ingrese "GET, POST, HEAD" en el cuadro de texto.
- Haga clic en Aceptar hasta volver a la ventana principal del Administrador de IIS.
Figura O |
La extensión PHP le indica a IIS cómo manejar las solicitudes de las páginas .php. |
También, en IIS, asegúrese de configurar los permisos para su sitio para que pueda ejecutar scripts:
- Vaya a Inicio | Herramientas administrativas | Administrador de servicios de Internet (IIS).
- Haga clic derecho en Sitios web y, en el menú contextual resultante, elija Propiedades.
- En la página de propiedades, seleccione la pestaña Directorio principal.
- En la Configuración de aplicaciones, cambie la opción "Permisos de ejecución" a "Solo scripts". (Figura P)
Figura P |
Cambie la configuración en IIS para que se puedan ejecutar scripts. |
Por último, en IIS, asegúrese de agregar una página PHP predeterminada, como index.php. De esta manera, evitará que los usuarios necesiten especificar la ruta completa, incluido el nombre del script PHP, a una carpeta específica en su servidor web. En cambio, si el usuario visita un directorio y existe un archivo llamado index.php, IIS lo cargará automáticamente.
- Vaya a Inicio | Herramientas administrativas | Administrador de servicios de Internet (IIS).
- Haga clic derecho en Sitios web y, en el menú contextual resultante, elija Propiedades.
- En la página de propiedades, seleccione la pestaña Documentos.
- Haga clic en el botón Agregar.
- En la pantalla Agregar página de contenido, escriba "index.php". (Figura Q)
- Haga clic en Aceptar.
- Haga clic en Aceptar nuevamente. Si recibe un mensaje sobre un nodo secundario también afectado, haga clic en Aceptar.
Figura Q |
La página de índice se cargará si ninguna de las páginas anteriores existe. |
Probar PHP
Ahora es el momento de probar PHP para asegurarse de que puede servir páginas dinámicas utilizando IIS.
- En su directorio web de IIS (normalmente C:\Inetpub\wwwroot), cree un archivo llamado phpinfo.php.
- En este archivo, pegue una sola línea de texto: . Este es en realidad un script completo de PHP y se utiliza para mostrar la configuración completa de su servidor web basado en PHP.
- Ahora, desde cualquier máquina, visite http://{su servidor}/phpinfo.php o, desde el servidor, visite http://127.0.0.1/phpinfo.php.
- Si recibe un error, algo no está configurado correctamente.
- Debería obtener una pantalla similar a la que se muestra a continuación. (Figura R)
- Asegúrese de que haya una sección en phpinfo para MySQL. Si no es así, vuelva atrás y asegúrese de haber modificado correctamente el archivo php.ini para cargar los módulos de MySQL.
Figura R |
La página de prueba de PHP incluye una descripción general de la configuración completa de PHP. |
Paso 5: Probar la conexión web de MySQL
Para ver si la instalación fue realmente exitosa, necesita una base de datos de muestra para probar. Para este artículo, utilizaré las herramientas de línea de comandos de MySQL para crear una pequeña base de datos de muestra cuyo único propósito es asegurarse de que la conexión PHP/MySQL funcione.
Para crear esta base de datos de muestra:
- Primero, necesita crear la base de datos real. Esto se logra con el siguiente comando: mysqladmin -uroot -p******* create sample. Nota: Si recibe un error aquí, asegúrese de que la contraseña sea correcta (el parámetro -u especifica el nombre de usuario a utilizar y el parámetro -p es la contraseña que asignó en el paso de configuración de MySQL).
- Ahora, cree la tabla y agregue algunos datos. Nuevamente, desde la línea de comandos, ejecute el siguiente comando:
- C:>mysql -uroot -p******* sample. Reemplace los "*" aquí con la misma contraseña que usó antes. Los pasos restantes se realizan desde el shell de comandos de MySQL.
- En el símbolo de MySQL, ingrese: CREATE TABLE sample_table ( FirstName varchar(30), MiddleName varchar(30), LastName varchar(30) ); mysql> INSERT into sample_table Values ( "Scott", "David", "Lowe" ); mysql> INSERT into sample_table Values ( "Ralph", "John", "Malph" );
- Observe que los puntos y comas en los pasos anteriores son muy importantes.
- Utilizar la cuenta de usuario root para acceder a la base de datos desde el servidor web es un importante riesgo de seguridad. Por lo tanto, debe crear una cuenta de usuario separada para este propósito. Escriba el siguiente comando en el shell de MySQL: GRANT ALL ON sample.* to Webuser@localhost identified by 'password';
- Escriba 'quit' para salir del shell de MySQL.
A continuación, necesita un script de PHP en su servidor web que pueda leer el contenido de esta nueva base de datos. Si esta parte tiene éxito, tiene un sistema IIS/PHP/MySQL en funcionamiento.
- En su directorio raíz web (normalmente C:\inetpub\wwwroot), cree un archivo llamado dbtest.php.
- En este archivo, pegue el siguiente código PHP:
<? $Username = "Webuser"; $Password = "password"; $Database = "sample"; $Hostname = "localhost"; $MySQLConnection = mysql_connect($Hostname, $Username, $Password) or die("Unable to connect to MySQL Database!!"); $MySQLSelectedDB = mysql_select_db($Database, $MySQLConnection) or die("Could not Set the Database!!"); $MySQLRecordSet = mysql_query("SELECT * FROM sample_table"); print "First Name - " . "Middle Name - " . "Last Name<br>"; while ($MyRow = mysql_fetch_array($MySQLRecordSet, MYSQL_ASSOC)) { print $MyRow['FirstName'] . " - " . $MyRow['MiddleName'] . " - " . $MyRow['LastName'] . "<br>"; } mysql_close($MySQLConnection); ? >
Guarde este archivo y luego apunte su navegador web a http://{su servidor}/dbtest.php. Debería obtener algo similar a la Figura S a continuación.
Figura S |
Si ve los tres nombres, su configuración es exitosa. |
Mejor idea
Nunca dije que el proceso de instalación y configuración sería fácil. Sin embargo, si sigue estos pasos, debería tener un sistema MySQL/PHP funcional en poco tiempo. Si tiene comentarios o sugerencias para facilitar este proceso, me encantaría escucharlos y, si obtengo suficientes ideas buenas, las publicaremos en otro artículo.
En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Microsoft, allí encontraras muchos artículos similares a Cómo instalar y configurar PHP y MySQL en Windows , tenemos lo ultimo en tecnología 2023.
Artículos Relacionados