logo
Secciones

Entradas del blog


Compilar PHP y habilitar módulo en httpd/apache | Fedora

Sin comentarios

Obtenido de kinsta.com

Contexto

Sin por alguna razón que se desconoce quieren compilar PHP sólo porque sí, en este tutorial les muestro cómo se compila X versión para sistemas operativos basados en fedora.

1.- Instalar dependencias

sudo dnf install -y wget gcc gcc-c++ make automake autoconf httpd pkgconf re2c libxml2 libxml2-devel bzip2 bzip2-devel openssl openssl-devel curl curl-devel libjpeg-turbo libjpeg-turbo-devel libpng libpng-devel freetype freetype-devel oniguruma oniguruma-devel libzip libzip-devel httpd-devel re2c bison autoconf make libtool ccache libxml2-devel sqlite-devel

2.- Clonar el repositorio de PHP

En éste ejemplo se está clonando la versión en desarrollo, cambiar la url para otra versión

git clone https://github.com/php/php-src.git --branch=master

Si en github no se encuentran la versión que se requiere:

https://www.php.net/downloads.php

3.- Configurar e instalar

El comando configure se añaden las extensiones que se pueden añadir a al compilado que se hará. El listado de posibles extensiones o configuración se encuentra en: https://www.php.net/manual/en/extensions.alphabetical.php

cd ~/Downloads/php-src
./buildconf
./configure --with-apxs2=/usr/bin/apxs --with-openssl --with-curl --with-zlib --with-freetype --enable-mbstring --enable-sockets --enable-phar
make
sudo make install

Después de ésta comando, si todo fue correcto, al aplicar el comando php -v deberá mostrar una salida similar a la siguiente:

➜  ~ php -v
PHP 8.4.0-dev (cli) (built: Oct 14 2023 03:41:24) (ZTS)
Copyright (c) The PHP Group
Zend Engine v4.4.0-dev, Copyright (c) Zend Technologies

Y sólo para corroborar, lanzar el siguiente comando que creará una página de info de php:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

Y para visualizarlo abrir en el navegador en la ruta http://localhost/info.php

Al finalizar el proceso de compilación, si todo fue correcto, entonces en la ruta del código fuente compilado en libs debe estar el archivo libphp.so, la cual es la que se debe de mover a las libs

4.- Mover las librerías que se generó con el compilado

libtool --finish /home/linuxitos/Downloads/php-src/libs

5.- Editar el archivo httpd.conf

En fedora el archivo httpd.conf se localiza en el director /etc/httpd/conf y es necesario editarlo y añadir la librería que se acabó de compilar, es decir, es el proceso de añadirlo a apache.

sudo gnome-text-editor /etc/httpd/conf/httpd.conf

Añadir éstas tres líneas al archivo debajo de la línea que dice Include conf.modules.d/*.conf:

[...]

Include conf.modules.d/*.conf

LoadModule php_module modules/libphp.so
AddHandler php-script .php
Include conf.d/*.conf

[...]

6.- Reiniciar servicio de apache

sudo systemctl restart httpd

7.- Crear carpeta de proyectos y permisos al directorio

Sugerencia crear un directorio raiz en la ruta /var/www/html para guardar todos los proyectos que se desarrollen, de tal manera que sólo se cree uno y se le asigne permisos:

sudo mkdir /var/www/html/devs
sudo chmod -R 775 devs
sudo chown -R apache:tuUsuario devs

Y listo, eso sería todo, gracias por visitar

Comentarios:

Conoce la red social linuxClick
Redes sociales
Accesos directos