apache y PHP en Garuda Linux

 

Garuda Linux es una distro de linux de origen indio basada en Arch Linux, del que hereda su estabilidad.

Es rolling-release, o sea que siempre tienes la última versión.

Si bien mi sistema operativo desde 1998 es Debian, últimamente estoy trasteando con Garuda Linux.

Esto es un tutorial para configurar los servidores apache y PHP en Garuda Linux.

 

 

1- Instalar apache y php cómodamente desde el entorno gráfico. Paquetes a instalar:

apache
php
php-fpm
php-gd

 

o si prefieres hacerlo desde la terminal:

sudo pacman -S apache php php-fpm php-gd

 

 

2- En /etc/httpd/conf/httpd.conf, descomentar:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule userdir_module modules/mod_userdir.so

Include conf/extra/httpd-userdir.conf

 

 

3- En /etc/httpd/conf/httpd.conf, añadir:

<IfModule dir_module>
	DirectoryIndex index.php index.html
</IfModule>

IncludeOptional conf/php-users/*.conf

 

 

4- crear directorio:

sudo mkdir -p /etc/httpd/conf/php-users

 

 

5- crear: /etc/httpd/conf/php-users/TU_USUARIO.conf, y pegar:

<Directory /home/TU_USUARIO/public_html>
	<FilesMatch \.php$>
		SetHandler "proxy:unix:/run/php-fpm-TU_USUARIO.sock|fcgi://localhost"
	</FilesMatch>
</Directory>
(sustituir TU_USUARIO por "tu usuario")

 

 

6- renombrar y vaciar www.conf:

sudo cp /etc/php/php-fpm.d/www.conf /etc/php/php-fpm.d/www.conf.OLD
sudo echo > /etc/php/php-fpm.d/www.conf

 

 

7- crear: /etc/php/php-fpm.d/TU_USUARIO.conf, y pegar:

[TU_USUARIO]
listen = /run/php-fpm-TU_USUARIO.sock
listen.allowed_clients = 127.0.0.1
listen.owner = http
listen.group = http
user = TU_USUARIO
group = TU_USUARIO

pm = dynamic
pm.max_children = 100
pm.start_servers = 3
pm.min_spare_servers = 3
pm.max_spare_servers = 10
pm.max_requests = 500
(sustituir TU_USUARIO por "tu usuario")

 

 

8- En /etc/php/php.ini, descomentar:

extension=curl
extension=exif
extension=gd
extension=zip

 

 

9- permisos y directorios:

chmod 0711 /home/TU_USUARIO
mkdir /home/TU_USUARIO/public_html
chmod 0755 /home/TU_USUARIO/public_html
echo "<?php \$a = '<h1>Hola PHP</h1>'; print \$a; ?>" > /home/TU_USUARIO/public_html/index.php
(sustituir TU_USUARIO por "tu usuario")

 

 

10- iniciar servers:

sudo systemctl start httpd
sudo systemctl start php-fpm

 

 

Ahora tienes apache funcionando para todos los usuarios, y PHP funcionando sólo para TU_USUARIO, y actuando "en nombre de" TU_USUARIO.
Olvídate de permisos 0777 en los directorios, o de suPHP o mod-ruid2.

Si quisieras habilitar PHP para "otro usuario", podrias repetir los pasos 5 y 7 sustituyendo TU_USUARIO por OTRO_USUARIO.

 

 

inicio