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.