Pautas para configurar un archivo de Python en DreamHost

Generalidades

Al crear un script de Python en DreamHost, hay ciertas reglas que se deben seguir para garantizar que el archivo funcione correctamente.

Extensiones de Archivo

Todos los scripts Python CGI en DreamHost deben terminar con las siguientes extensiones:

Extensiones Caso de uso
.fcgi Esta extensión usa FastCGI
.py Esta extensión usa CGI
.cgi Esta extensión usa CGI

Primera línea del archivo Python

La primera línea del archivo podría ser la ubicación del servidor de Python2 o Python 3

#!/usr/bin/python
#!/usr/bin/python3

Sin embargo, si has instalado una versión personalizada de Python, la primera línea de tu archivo debería apuntar a esa ubicación. Por ejemplo, después de instalar una versión personalizada de Python, ejecuta which python. La salida se verá así:

/home/username/opt/python-3.8.5/bin/python3

La primera línea de tu archivo debería verse así:

#!/home/username/opt/python-3.8.5/bin/python3

Permisos de Archivo

Los permisos del archivo deben establecerse en 755. Puedes cambiar esto corriendo el siguiente comando a través de SSH:

[server]$ chmod 755

Terminaciones de línea

Asegúrate de usar líneas nuevas de estilo UNIX, no Windows.

Ver salida

Si deseas ver la salida impresa de tu código Python, debes agregar esto como la primera línea de salida:

print "Content-type: text/html\n\n"

Ejemplo Hello World!

El código a continuación mostrará Hello World! en un navegador web. Asegúrate de cambiar el username a tu usuario Shell.

#!/home/username/opt/python-3.8.5/bin/python3

print("Content-type: text/html\n\n")
print("Hello World!")

Ejecución de Apache

Si no deseas que Apache ejecute archivos .py agrega lo siguiente a tu archivo .htaccess:

RemoveHandler .py

Grupo Unix

En DreamHost, todos los scripts Python CGI Y tu directorio primario inmediato deben tener tu usuario Unix y tu grupo Unix configurados para el usuario Unix de tu dominio Y el grupo UNIX PREDETERMINADO de ese usuario (de lo contrario, obtendrás un error interno del servidor desde el suexec de Apache).

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?