You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Estoy tratando de hacer funcionar el procesado que hace t-hoarder de todos los archivos comprimidos (.tar.gz) de un experimento. He documentado en la wiki parte del proceso.
Me está costando hacerlo funcionar por un problema de configuración de CGI. Caad vez que acedo a la web del experimento me sale el archivo tweets_talk_cgi.py como si lo quisiera descargar:
en vez de ejecutarlo.
Mira a ver si es esto
<Directory "/home/numeroteca/data/t-hoarder/web/scripts">
Options +ExecCGI
#AddHandler mod_python .py
#PythonHandler mod_python.publisher AddHandler cgi-script .pl
Order allow,deny
Allow from all
Tampoco me funciona esto. Se me había quedado el .pl de cuando traté de hacer este tutorial con un hello world con perl que no llegó a funcionar. De hecho creo que tengo que intentar que funcione eso para poder seguir adelante.
He cargado tu apache2.conf en mi servidor y funciona. Debe ser algo de la instalación de apache que te falte. Hay que verificar que está incluido el módulo de cgi.
Mira si existe el fichero /usr/lib/apache2/modules/mod_cgi.so
Es el fichero que intenta cargar el cgi.load
En vista de que nada me funciona y de que parece ser un problema de la instalaci'on de apache, he desistalado, purgado y vuelto a instalar.
Una vez instalado he ejecutado sudo a2enmod cgi para activar CGI, me dice:
Your MPM seems to be threaded. Selecting cgid instead of cgi.
Enabling module cgid.
To activate the new configuration, you need to run:
systemctl restart apache2
the cgi module is not compatible with your Apache installation, but the cgid module performs the exact same thing and is compatible with your apache installation, so..
it will use cgid instead,
but cgid it's already enabled, so it doesn't need to do any work
Si ejecuto sudo a2enmod cgid dice que Module cgid already enabled
Entonces ¿en qué archivo tengo que indicar que los .py sean ejecutados como CGI? ¿en serve-cgi-bin.conf, 000-default.conf o en /etc/apache2/apache2.conf o en varios?
con este código:
ScriptAlias "/scripts/" "/home/numeroteca/data/t-hoarder/web/scripts/"
<Directory /home/numeroteca/data/t-hoarder/web/scripts/>
Options +ExecCGI
AddHandler cgi-script .py
Order allow,deny
Allow from all
</Directory>
En mi instalación de apache2 solo tuve que configurar el apache2.conf e incluir el modulo CGI.
El enlace que me indicas es de un problema detectado hace cuatro años. https://askubuntu.com/questions/683126/1404-your-mpm-seems-to-be-threaded-selecting-cgid-instead-of-cgi-module-cgid en la versión 14 de Ubuntu
Yo instalé un servidor apache2 hace menos de un año sin ningún problema sobre ubuntu 18 LTS
Yo solo modificaría apache2.conf tal como lo tienes ahora que funciona en mi servidor
@skotperez sugiere, sin haber entrado a estudiar el tema en profundidad, que puede tener que ver con la versión de python que apache puede ejecutar, si es 2 y pido la 3 o viceversa.
Así es como lo configuró él para instalar Django, por si tuviera que ver. Este código va en el virtual hort:
Para crear un nuevo entorno virtual: mkvirtualenv my_django_environment
Para interactuar con el entorno virtual:
deactivate — Exit out of the current Python virtual environment
workon — List available virtual environments
workon name_of_environment — Activate the specified Python virtual environment
rmvirtualenv name_of_environment — Remove the specified environment.
En mi caso localhost porque así lo tengo configurado en local.
por aclarar cómo compaginar esto con actualizar t-hoarder.
make_experiment
Ojo, el archivo /t-hoarder/blob/master/scripts/make_experiment ha cambiado su última línea, así no hay que cambiar los permisos para que /t-hoarder/scripts/join_results.py tenga permisos de ejecución.
Activity
numeroteca commentedon Jun 21, 2020
Mi configuración de Apache
/etc/apache2/apache2.conf:https://gist.github.com/numeroteca/37460e94fd4a67f01d87c08249241693
congosto commentedon Jun 22, 2020
Por favor, ¿me podrías indicar cuales son los permisos del directorio /home/numeroteca/data/t-hoarder/web/scripts/ y del fichero tweets_talk_cgi.py?
numeroteca commentedon Jun 22, 2020
Estos son los permisos:
drwxr-xr-x
/home/numeroteca/data/t-hoarder/web/scripts/-rwxr-xr-x
tweets_talk_cgi.pycongosto commentedon Jun 22, 2020
Son los permisos correctos. Voy aprobar tu apache2.conf en mi servidor cambiando la ubicación de los datos
congosto commentedon Jun 22, 2020
Mira a ver si es esto
<Directory "/home/numeroteca/data/t-hoarder/web/scripts">
Options +ExecCGI
#AddHandler mod_python .py
#PythonHandler mod_python.publisher
AddHandler cgi-script .pl
Order allow,deny
Allow from all
debería ser AddHandler cgi-script .py
numeroteca commentedon Jun 22, 2020
Tampoco me funciona esto. Se me había quedado el .pl de cuando traté de hacer este tutorial con un hello world con perl que no llegó a funcionar. De hecho creo que tengo que intentar que funcione eso para poder seguir adelante.
congosto commentedon Jun 22, 2020
He cargado tu apache2.conf en mi servidor y funciona. Debe ser algo de la instalación de apache que te falte. Hay que verificar que está incluido el módulo de cgi.
Mira si existe el fichero /usr/lib/apache2/modules/mod_cgi.so
Es el fichero que intenta cargar el cgi.load
numeroteca commentedon Jun 24, 2020
En vista de que nada me funciona y de que parece ser un problema de la instalaci'on de apache, he desistalado, purgado y vuelto a instalar.
Una vez instalado he ejecutado
sudo a2enmod cgipara activar CGI, me dice:Que quiere decir según esto que:
Si ejecuto
sudo a2enmod cgiddice queModule cgid already enabledEntonces ¿en qué archivo tengo que indicar que los .py sean ejecutados como CGI? ¿en
serve-cgi-bin.conf,000-default.confo en/etc/apache2/apache2.confo en varios?con este código:
congosto commentedon Jun 24, 2020
En mi instalación de apache2 solo tuve que configurar el apache2.conf e incluir el modulo CGI.
El enlace que me indicas es de un problema detectado hace cuatro años. https://askubuntu.com/questions/683126/1404-your-mpm-seems-to-be-threaded-selecting-cgid-instead-of-cgi-module-cgid en la versión 14 de Ubuntu
Yo instalé un servidor apache2 hace menos de un año sin ningún problema sobre ubuntu 18 LTS
Yo solo modificaría apache2.conf tal como lo tienes ahora que funciona en mi servidor
numeroteca commentedon Jun 25, 2020
@skotperez sugiere, sin haber entrado a estudiar el tema en profundidad, que puede tener que ver con la versión de python que apache puede ejecutar, si es 2 y pido la 3 o viceversa.
Así es como lo configuró él para instalar Django, por si tuviera que ver. Este código va en el virtual hort:
Para instalar Django en entorno virtual:
sudo pip3 install virtualenvwrapperLuego hay que añadir las siguientes líneas a ~/.bashrc:
Para crear un nuevo entorno virtual:
mkvirtualenv my_django_environmentPara interactuar con el entorno virtual:
numeroteca commentedon Jan 25, 2021
He cambiado de instalación de Ubuntu, ahora estoy con la 20.04 y me vuelve a dar el mismo error. No sé muy bien qué mirar más.
numeroteca commentedon Feb 5, 2021
Avances:
tweets_talk_cgi.py
t-hoarder/web/scripts/tweets_talk_cgi.pytienen que modificarse:En mi caso localhost porque así lo tengo configurado en local.
por aclarar cómo compaginar esto con actualizar t-hoarder.
make_experiment
Ojo, el archivo /t-hoarder/blob/master/scripts/make_experiment ha cambiado su última línea, así no hay que cambiar los permisos para que
/t-hoarder/scripts/join_results.pytenga permisos de ejecución.Pasó /hace un año, no lo había visto) de
join_results.py ${experiment} --dir_in ${root_directory}/t-hoarder/store/${experiment} --dir_out ${root_directory}/t-hoarder/web/${experiment}a
python2.7 ${root_directory}/t-hoarder/scripts/join_results.py ${experiment} --dir_in ${root_directory}/t-hoarder/store/${experiment} --dir_out ${root_directory}/t-hoarder/web/${experiment}Como llevo un tiempo sin actualizar t-hoarder algunos cambios de
make_experimentno los tengo actualizados.En cualquier caso, el procesado de tuits funciona, el problema parece estar relacionado con hacer correr CGI en mi servidor local.