Debian Linux apache2 Habilitar cgi python perl ruby por usuarios en Directorios public_html/cgi-bin : userdir.conf
Por: Alexander Arias
Fecha: 2022-11-13
1. Activar cgi en apache 2
$ sudo a2enmod cgi
2. Guardar una copia de /etc/apache2/mods-enabled/userdir.conf
$ cp /etc/apache2/mods-enabled/userdir.conf /etc/apache2/mods-enabled/userdir.conf.old
3. Permitir a los directorios cgi-bin del user1 y user2, se hace de dos formas:
para user1 con SetHandler cgi-script, esta habilita todo lo que este en la carpeta como cgi
para user2 con AddHandler cgi-script .cgi .pl .py .rb
<Directory /home/user1/public_html/cgi-bin> Options +ExecCGI SetHandler cgi-script </Directory> <Directory /home/user2/public_html/cgi-bin> Options +ExecCGI AddHandler cgi-script .cgi .pl .py .rb </Directory>
<IfModule mod_userdir.c> UserDir public_html UserDir disabled root <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS </Directory> <Directory /home/user1/public_html/cgi-bin> Options +ExecCGI SetHandler cgi-script </Directory> <Directory /home/user2/public_html/cgi-bin> Options +ExecCGI AddHandler cgi-script .cgi .pl .py .rb </Directory> </IfModule> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
$ systemctl restart apache2
$ mkdir /home/user1/public_html/cgi-bin
$ mkdir /home/user2/public_html/cgi-bin
#!/usr/bin/python3 print("Content-type: text/html\n") print("<html>\n<body>") print("<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">") print("CGI Script Test Page User1") print("</div>") print("</body>\n</html>")
#!/usr/bin/python3 print("Content-type: text/html\n") print("<html>\n<body>") print("<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">") print("CGI Script Test Page User2") print("</div>") print("</body>\n</html>")
9. ir a un browser y escribir con dominio o localhost:
localhot/~user1/cgi-bin/test.cgi
CGI Script Test Page User1
localhot/~user2/cgi-bin/test.cgi
CGI Script Test Page User2
10. Una observación de AddHandler para user2 es que deja ver el contenido de la carpeta cgi-bin y de alli se ven los cgi pero no descagan, se ejecutan al descargar
Referencias:
https://www.server-world.info/en/note?os=Debian_11&p=httpd&f=5
https://www.server-world.info/en/note?os=Debian_10&p=httpd&f=5
https://es.wikieducator.org/Usuario:Lmorillas/desarrollo_web_servidor/apache_cgi
No hay comentarios:
Publicar un comentario