跳至主要内容

Configuración de Entornos de Servidor de Desarrollo y Producción PHP

Como la mayoría de los desarrolladores saben, para que un servidor funcione de forma fiable, se necesita un ecosistema de software completo. Componentes fundamentales como Apache, PHP y MySQL son como los "órganos" del servidor: todos son esenciales y deben trabajar juntos en armonía. Asumiremos que ya comprendes los principios básicos del funcionamiento de los servidores, así que centrémonos en las estrategias de configuración específicas.

Entre las muchas arquitecturas de servidor, la pila LAMP (Linux, Apache, MySQL, PHP) es una configuración clásica. No solo es fácil de instalar, sino que también cuenta con un fuerte apoyo de la comunidad y puede manejarlo todo, desde blogs personales hasta plataformas de comercio electrónico de tamaño mediano.

Por supuesto, las opciones tecnológicas son siempre diversas. Nginx, como estrella emergente, se desempeña excepcionalmente bien en escenarios de alta concurrencia debido a su arquitectura basada en eventos. Puedes realizar pruebas comparativas para elegir la solución que mejor se adapte a tus necesidades. Sin embargo, independientemente del servidor web que elijas, la filosofía de configuración de PHP sigue siendo la misma: debes diferenciar estrictamente entre los entornos de desarrollo y producción.

La seguridad es el salvavidas de un entorno de producción. Ahora, veamos una configuración paso a paso de estos dos entornos.

Entorno de Desarrollo

Windows


Configurar un entorno de desarrollo en Windows no requiere la compra de una costosa edición de servidor del sistema operativo; los paquetes integrados de terceros lo hacen todo fácil. Algunas de estas aplicaciones son XAMPP y WAMP. Todas estas aplicaciones de terceros hacen lo mismo: instalar Apache, MySQL y PHP dentro del programa.

XAMPP es el más utilizado (puedes descargarlo en www.apachefriends.org) porque es multiplataforma. XAMPP significa cross-platform (multiplataforma), Apache, MariaDB, PHP, Perl. La instalación de XAMPP es muy sencilla. Después de hacer doble clic en el instalador, simplemente mantén la configuración predeterminada. Sin embargo, asegúrate de marcar la opción "Developer Tools". Este paso crucial configurará automáticamente php.ini para habilitar el modo de depuración. Si no se muestran los mensajes de error, puedes navegar manualmente a C:\xampp\php\php.ini y realizar los siguientes cambios:

display_errors = On display_startup_errors = On error_reporting = E_ALL

Una vez que XAMPP haya terminado de instalarse, se abrirá un panel de control que puedes usar para iniciar, detener y configurar los servicios.


Después de instalar y ejecutar XAMPP, el directorio raíz web se encuentra en c:xampp/htdocs/. Aquí es donde creas tu sitio/aplicación. Para ver tu trabajo, simplemente introduce localhost en la barra de direcciones de tu navegador e inmediatamente se iniciará el archivo index en htdocs.

Mac


La instalación en Mac es muy similar a Windows. La forma más fácil y económica de configurar tu entorno de desarrollo es instalar una aplicación de terceros, como ServBay o MAMP.

ServBay es mi favorito personal aquí, y puedes descargarlo en www.servbay.com. Con ServBay, no necesitas hacer nada más. Simplemente haz clic en la versión de PHP que desees, ve a por un café, y cuando regreses, PHP estará instalado. Ni siquiera necesitas abrir la terminal. Todo el proceso tarda menos de 3 minutos, por eso lo recomiendo. El panel de control integrado de ServBay muestra información clave en tiempo real, como el estado del servicio, el uso del puerto y los flujos de registro.

Además, ServBay viene con phpMyAdmin y Adminer, lo que nos ahorra la molestia de la configuración.

Linux (basado en Debian)


En el mundo de Linux, abogo por las instalaciones nativas para lograr un rendimiento óptimo. Primero, actualiza los repositorios de software para garantizar la compatibilidad de los componentes. Puedes hacerlo ejecutando los siguientes comandos en la terminal:

sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade

Estos comandos simplemente aseguran que tu sistema esté actualizado con las últimas versiones del software. Esto también ayuda a garantizar que no tengas ningún problema de dependencia.

Después de actualizar tu sistema, Apache2 ya debería estar instalado en la mayoría de las máquinas Linux. Sin embargo, si no estás seguro, simplemente ejecuta sudo apt-get install apache2 (recuerda, si algo ya está instalado, ejecutar el comando de instalación solo verificará si hay una versión actualizada de ese software).

Ahora también necesitarás instalar una base de datos. Puedes usar cualquier base de datos que desees, pero yo uso MySQL. Para instalar MySQL, ejecuta lo siguiente en tu terminal:

sudo apt-get install mysql-server sudo mysql_secure_installation

Sigue las instrucciones e introduce una contraseña segura.

Una vez que estés seguro de que tienes Apache2 y MySQL instalados, puedes instalar PHP ejecutando:

sudo apt-get install php

Esto instalará PHP con su configuración predeterminada, por lo que deberás localizar el archivo php.ini, que se puede encontrar en /etc/php/7.0/apache2 y /etc/php/7.0/cli. Deberás actualizar la sección "Error handling and logging" (alrededor de la línea 392) para mostrar todos los errores. Hay comentarios que te ayudarán a realizar los cambios correctos. Sin embargo, una regla simple es: para desarrollo, activar *todo*, y para producción, desactivar *todo*.

También querrás instalar phpMyAdmin, lo que facilitará mucho la configuración y modificación de tu base de datos.

Hacerlo es bastante simple, solo abre tu terminal y escribe:

sudo apt-get install phpmyadmin

Una vez que hayas hecho eso, debes configurar el archivo de configuración de Apache para incluir phpMyAdmin. Esto se puede hacer ejecutando lo siguiente:

sudo echo -e "\nInclude /etc/phpmyadmin/apache.conf" >> /etc/apache2/apache2.conf

Ahora todo lo que necesitas hacer es iniciar Apache y MySQL, y todo funcionará. Usa el siguiente comando para hacerlo:

sudo service apache2 start && service mysql start

Y listo, todo configurado en tu máquina Linux.

Entorno de Producción


Cuando tu código se enfrenta a usuarios reales, la configuración segura es tu armadura digital. En Mac, esto es muy fácil. Con ServBay, puedes desactivar varios parámetros con un solo clic y luego puedes comenzar a codificar inmediatamente con tu IDE preferido.

Sin embargo, ya sea que estés ejecutando un servidor Windows o un servidor Linux, los principios para ajustar php.ini son los mismos:

  1. Desactivar la visualización de todos los errores: display_errors = Off
  2. Habilitar el registro de errores: log_errors = On
  3. Especificar la ruta del registro: error_log = /var/log/php_errors.log

En Linux, se recomienda utilizar una herramienta de rotación de registros para evitar que los archivos de registro crezcan demasiado:

sudo apt install logrotate -y

Para servidores Windows, se recomienda utilizar regularmente el Visor de eventos para verificar los registros del sistema.

Nota importante: Las diferencias de configuración entre los entornos de desarrollo y producción deben gestionarse a través de un sistema de control de versiones, como el uso de ramas de Git para diferenciar los archivos de configuración del entorno.

Gracias por leer mi tutorial, y espero que te ayude a configurar tu sistema para el propósito exacto que necesitas.

评论

此博客中的热门博文

Modern PHP Development in 2024

In 2024, PHP remains a strong contender in modern web development. Despite a decline in its ranking on the TIOBE index, PHP is still one of the most widely used programming languages for websites. Its practicality, efficiency, and performance improvements make it a solid choice. For instance, the latest versions of PHP (like PHP 8.1 and above) have shown significant speed enhancements, making it competitive with Python or Node.js, and even faster in some scenarios. PHP’s development speed is also quite rapid, similar to Python, and it boasts a rich set of built-in functions and libraries that facilitate quick development. Additionally, PHP is relatively easy to deploy, especially for large-scale applications. Applications handling millions of requests can efficiently achieve load balancing with proper endpoint caching in PHP. The advantages and development trends of PHP are evident in several areas. Firstly, PHP is favored for its simple and readable syntax, making it particularly suit...

Must-have for slacking off! 2024 Efficient Dev Tools for Increasing Productivity

  Being a programmer is challenging with the constant flow of code and demands. Balancing work and relaxation is a tough task, but there are powerful tools to ease the workload. “The right tools for the job” — This article aims to help you discover some handy tools. DevDocs — Your Offline Documentation Companion DevDocs  , an offline API documentation browser, supports multilingual, offering developers a quick and efficient way to access tech docs. From front-end to back-end and mobile development, it integrates official documentation, providing a sleek, user-friendly interface. ServBay — A Developer’s Dream ServBay  is hailed as a must-have tool for web developers, providing an instant, all-in-one web development environment. It eliminates the hassle of setting up PHP, Nodejs, Redis, and databases, allowing developers to focus on coding. It includes a range of commonly used web development service software and tools, covering web servers, databases, programming languages...

Best MAMP Alternatives in 2025

  2025 is coming. Are you still using MAMP? There are many local  web development  tools available online, but MAMP is often regarded as a leading choice among developers and freelancers for building and testing websites prior to going live. However, despite its popularity, MAMP does have its limitations. Developers are continually on the lookout for a more efficient  localhost  solution that not only enhances their local web development experience but also simplifies the transition to live environments and fosters better collaboration within teams. If you’re in search of an alternative to MAMP, you’ve come to the right place. I’ve put together a list of the top MAMP alternatives that offer similar functionalities, which you can utilize for your local site development. Before diving deeper, let’s first examine the limitations of MAMP. To start, MAMP provides only  a limited number of PHP versions . For developers who are used to testing their websites acros...