Manjaro Linux es una elegante distro de linux de origen austriaco-franco-aleman, basada en Arch Linux, del que hereda su estabilidad.
Es rolling-release, o sea que siempre tienes la última versión.
A pesar de que, para bien o para mal, mi sistema operativo principal desde 1998 es Debian, últimamente estoy trasteando con Manjaro Linux.
Esto es un tutorial para configurar los servidores apache y PHP en Manjaro 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- En versiones modernas de Manjaro, editar...
/etc/systemd/system/httpd.service.d/hardening.conf
Y hacer...
ProtectHome=off
Y luego...
systemctl daemon-reload
11- 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.