En algún momento, su empresa necesitará ejecutar una pila LAMP (Linux Apache MySQL PHP) completa. Puede ser para un sitio web, una aplicación web, un backend, un frontend o cualquier cosa intermedia. Si es un desarrollador, ciertamente comprende la importancia de hacer que PHP funcione con servidores web y de bases de datos. Y si trabaja con uno de los muchos servicios de desarrollo de PHP en el mercado, este es o será su pan y mantequilla.
Y aunque puede ser un desarrollador de PHP estrella, no significa necesariamente que sepa cómo instalar PHP, MySQL y Apache y configurarlos y que funcionen entre sí.
Afortunadamente, la ayuda no está muy lejos. De hecho, eso es exactamente lo que vamos a hacer ahora: instalar PHP, Apache y MySQL y luego descubrir cómo configurar PHP.
Echaremos un vistazo a este proceso en el sistema operativo Linux (plataformas basadas en Ubuntu y Red Hat). Si Linux no es su herramienta preferida, solo necesita modificar algunos bits del proceso para que funcione con macOS o Windows.
Y dicho esto, manos a la obra.
Hay varias maneras de hacer que esto funcione. Puede instalar las piezas individualmente o como grupo (en Ubuntu). Primero, averigüemos cómo hacer esto, pieza por pieza.
Primero en Ubuntu. Recuerde, queremos instalar PHP de manera que funcione tanto con Apache como con MySQL.
Inicie sesión en su servidor Ubuntu e instale Apache con el comando:
sudo apt-get install apache2 -y
Cuando se complete esa instalación, instale el servidor MySQL con el comando:
sudo apt-get install mysql-server -y
Los dos comandos anteriores también seleccionarán algunas otras dependencias en el camino. Cuando se complete, asegúrese de proteger el servidor de la base de datos con el comando:
sudo mysql_secure_installation
Finalmente, instale PHP y los bits necesarios para conectarlo tanto a Apache como a MySQL con el comando:
sudo apt-get install php libapache2-mod-php php-mysql -y
Ahora tiene Apache, MySQL y PHP instalados en Ubuntu Server, junto con el software necesario para que funcionen juntos. Por supuesto, puede hacerlo mucho más fácil instalándolos todos juntos con un solo comando:
sudo apt-get install lamp-server^ -y
Una vez que todo esté instalado, querrá asegurarse de que tanto Apache como MySQL estén iniciados y habilitados con los comandos:
sudo systemctl start apache2 sudo systemctl enable apache2 sudo systemctl start mysql sudo systemctl enable mysql
Para hacer esto en una distribución basada en Red Hat (como CentOS 8 Stream), los comandos son bastante diferentes.
Para instalar Apache, el comando es:
sudo dnf install httpd -y
Para instalar el servidor de base de datos MySQL, el comando es:
sudo dnf install mysql-server -y
Asegure la instalación de la base de datos con el comando:
sudo mysql_secure_installation
Habilite Apache y MySQL con los comandos:
sudo systemctl start httpd sudo systemctl enable httpd sudo systemctl start mysql sudo systemctl enable mysql
Finalmente, para instalar PHP (y los bits de conexión), primero debe habilitar un repositorio específico (el repositorio EPEL) con el comando:
sudo dnf install https: //dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
A continuación, agregue el repositorio de Remi con el comando:
sudo dnf install https: //rpms.remirepo.net/enterprise/remi-release-8.rpm
Si obtiene un error de certificado después de ejecutar este comando, es posible que deba deshabilitar temporalmente las comprobaciones de certificados. Para hacer eso, emita el comando:
sudo nano /etc/yum.conf
En la parte inferior de ese archivo, agregue la línea:
sslverify= false
Guarde y cierre el archivo y luego vuelva a ejecutar el comando anterior para agregar el repositorio de Remi.
Finalmente emita el siguiente comando para instalar PHP y los diversos componentes:
sudo dnf -y install php php-{cli,fpm,mysqlnd,zip,devel,gd,mbstring,curl,xml,pear,bcmath,json}
Después de instalar PHP, asegúrese de eliminar la línea sslverify=false del archivo yum.conf.
Desafortunadamente, CentOS no tiene un equivalente para instalar lamp-server^, por lo que debe instalarlos una pieza a la vez.
Independientemente del sistema operativo que utilice, PHP se configura en el archivo php.ini. El truco es saber dónde se encuentra ese archivo. Por ejemplo, en CentOS 8 Stream, ese archivo está en /etc. Para editar el archivo php.ini en CentOS 8 Stream, debe ejecutar el comando:
sudo nano /etc/php.ini
En los servidores basados en Ubuntu, el archivo php.ini se encuentra en /etc/php/X/apache2/ (donde X es el número de versión de PHP). Por ejemplo, en Ubuntu 20.04, abriría el archivo para editarlo con el comando:
sudo nano /etc/php/ 7.4 /apache2/php.ini
En Windows, esa ruta sería C:\Archivos de programa\PHP\X\php.ini (donde X es el número de versión).
En macOS, esa ruta sería /etc/php.ini.
El archivo php.ini es bastante grande. A partir de PHP 7.4, el archivo tiene 1673 líneas, por lo que hay muchas opciones de configuración para revisar. Sin embargo, las opciones de configuración que desee editar dependerán de cuáles sean sus necesidades. Sin embargo, hay algunas opciones que se cambian más comúnmente dentro del archivo php.ini. Esas opciones son (enumeradas con sus valores predeterminados):
memory_limit = 128 M - the maximum amount of memory a script may consume. session.gc_maxlifetime = 1440 - how much time a user can be idle before a session is expired. upload_max_filesize = 2 M - the maximum size of the file that can be uploaded to the webserver. post_max_size = 8 M - the maximum value that the post variable should hold. allow_url_fopen = On - assists in opening url objects (such as files). max_execution_time = 30 the maximum time a script can run before being terminated ( in seconds).
La lista anterior consta de configuraciones comunes utilizadas con PHP junto con Apache y MySQL. Sin embargo, es posible que descubra que hay otras configuraciones que necesita modificar para que las cosas funcionen un poco mejor. Eso dependerá de sus necesidades y del software que haya instalado en su pila LAMP.
Una vez que tenga todo en su lugar, puede probar PHP creando un archivo info.php con el comando:
sudo nano / var /www/html/info.php
En ese archivo, pegue el siguiente contenido:
<?php phpinfo(); ?>
Guarde y cierre el archivo. Dirija un navegador web a http://SERVIDOR/info.php (donde SERVIDOR es la dirección IP o el dominio del servidor de alojamiento). Luego debería ver una página que enumera toda la información sobre su instalación de PHP.
Y ahí lo tienes, la instalación y configuración de PHP para Apache y MySQL. Una vez que tenga esta pila en funcionamiento, estará lista para entregársela a los desarrolladores de PHP de su empresa oa aquellos que haya contratado de una empresa de desarrollo externa para que hagan su magia.