Este es un script pruebaescritura.wsgi de prueba, cambiad USUARIO Y DIRECTORIO_WEB por el que corresponda:
import os
import sys
import datetime
import string
import random
ruta = os.path.abspath("/home/USUARIO/tmp")
sys.path.append('/home/USUARIO/public_html/DIRECTORIO_WEB')
sys.path.append(ruta)
sys.stdout = sys.stderr
def application(environ, start_response):
status = '200 OK'
output = 'Hello World!\n'
print >> environ['wsgi.errors'], "application debug #1"
archivo = datetime.datetime.isoformat(datetime.datetime.now(),"-") + ".txt"
try:
output += str(path) + "\n"
except Exception as e:
output += "%s \n" % e
try:
fi = open(os.path.join(path,archivo),"w")
chars = "".join( [random.choice(string.letters[:26]) for i in xrange(15)] )
fi.write(chars + "\n")
fi.close()
output += "OK! \n"
except Exception as e:
output += "%s \n" % e
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
print >> environ['wsgi.errors'], "application debug #2"
return [output]
Y aquí el correspondiente .htaccess
Options +Indexes
SetHandler wsgi-script
RewriteEngine On
RewriteCond %{REQUEST_URI} !(pruebaescritura.wsgi)
RewriteRule ^(.*)$ pruebaescritura.wsgi/$1 [L]
Si se añade el siguiente código nos dará el usuario con el que se ejecuta el script:
import pwd
output += str(pwd.getpwuid(os.getuid())[0]) + "\n"