python cgi

Sziasztok,

termux alatt próbálok beüzemelni apache2-t, és alatta python-t meg bash-t cgi-vel, mert legyen cgi.
Ha a python nem tartalmaz import-ot, akkor minden ok, de importokkal 500-as hiba jelenik meg a browserben.
Terminalból futattva nem jelenik meg semmilyen hiba.

Biztos a httpd.conf a hibás (gondolom), ötlet?

Üdv,
Róbert

httpd.conf

ServerRoot "/data/data/com.termux/files/usr"
Listen 8080
LoadModule mpm_prefork_module libexec/apache2/mod_mpm_prefork.so
LoadModule authn_file_module libexec/apache2/mod_authn_file.so
LoadModule authn_core_module libexec/apache2/mod_authn_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule authz_groupfile_module libexec/apache2/mod_authz_groupfile.so
LoadModule authz_user_module libexec/apache2/mod_authz_user.so
LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule access_compat_module libexec/apache2/mod_access_compat.so
LoadModule auth_basic_module libexec/apache2/mod_auth_basic.so
LoadModule reqtimeout_module libexec/apache2/mod_reqtimeout.so
LoadModule include_module libexec/apache2/mod_include.so
LoadModule filter_module libexec/apache2/mod_filter.so
LoadModule mime_module libexec/apache2/mod_mime.so
LoadModule log_config_module libexec/apache2/mod_log_config.so
LoadModule env_module libexec/apache2/mod_env.so
LoadModule headers_module libexec/apache2/mod_headers.so
LoadModule setenvif_module libexec/apache2/mod_setenvif.so
LoadModule version_module libexec/apache2/mod_version.so
LoadModule slotmem_shm_module libexec/apache2/mod_slotmem_shm.so
LoadModule unixd_module libexec/apache2/mod_unixd.so
LoadModule status_module libexec/apache2/mod_status.so
LoadModule autoindex_module libexec/apache2/mod_autoindex.so
LoadModule cgi_module libexec/apache2/mod_cgi.so
LoadModule negotiation_module libexec/apache2/mod_negotiation.so
LoadModule dir_module libexec/apache2/mod_dir.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule alias_module libexec/apache2/mod_alias.so
LoadModule php7_module /data/data/com.termux/files/usr/libexec/apache2/libphp7.so

SetHandler application/x-httpd-php

DirectoryIndex index.php

ServerAdmin info@dady.hu
ServerName localhost:8080

AllowOverride none
Require all denied

DocumentRoot "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs"

Options Indexes FollowSymLinks
AllowOverride None
Require all granted
AddHandler cgi-script py
Order allow,deny
Allow from all

Options Indexes FollowSymLinks
AllowOverride None
Options +ExecCGI
Order allow,deny
AddHandler cgi-script .py
Allow from all

Options Indexes FollowSymLinks
AllowOverride None
Options +ExecCGI
Order allow,deny
AddHandler cgi-script .py .cgi
Allow from all

DirectoryIndex index.py index.html

Require all denied

ErrorLog "var/log/apache2/error_log"
LogLevel warn

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio

CustomLog "var/log/apache2/access_log" common

ScriptAlias /cgi-bin/ "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs/cgi-bin/"

RequestHeader unset Proxy early

TypesConfig etc/apache2/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

Include etc/apache2/extra/proxy-html.conf

SSLRandomSeed startup builtin
SSLRandomSeed connect builtin

Hozzászólások

nekem rengeeg pythonban irt cgi-m fut mindenfele, centos, ubi16, slackware is. nem hiszem hogy az apacs konfnak koze van hozza, de amugy nezz bele az error log-ba hogy milyen hibaval szallt el a cgi importtal. lehet egg cache-t nem tudja letrehozni a www-data/apache user homejaba, az a baj?

Ejha, hirtelen en is sopredek lettem? Mert meg mertem kerdezni, egy smiley kiseretében, hogy honnan jott a plusz info? Azt is jo tudni. Bar szerintem inkább vegyél egy mély levegőt, és lazíts kicsit... Egyébként meg van nevem, nem is szoktam tikolni, egy guglinyira vagy tőle. Miért kéne itt nem a nickemen lenni? Mivel nevebb az hogy HZ, mint az, hogy kroozo?

Milyen python van hozzá? Termuxos vagy valami külső?
És annyit kérhetnék, hogy a konfigot a pastebinre?
A hup lenyeli a < ... > karaktereket.

Szerintem a Termux mindenhol azonos csomagokat hasznal, es nem nyul ki a rendszer tobbi reszere. Szoval ha az egyiken megy, akkor a tobbin is.

Amugy sub. Engem is erdekelne a megoldas, jol johet a jovoben. Mondjuk Termuxban en lighttpd-t probaltam (mar nemtom mennyi sikerrel, meg az elozo telefonomon, reg volt).

--
Any A.I. smart enough to pass a Turing test is smart enough to know to fail it. -Ian McDonald

Hogy is van a mondás? "Láttam már karón varjút!" :)
A ferdeszeműekből én bármit kinézek, egyáltalán nem vagyok biztos benne, hogy a különböző API-kba nem buheráltak bele valamit, ami az eredeti, Google-féle változatban másképp működik. Meg hát a franc se tudja, hogy pl. a knox - bár nincs bekapcsolva - nem csinál-e valami disznóságot a háttérben.

Importokkal nálam semmi gond.
Pl.

import time

...
print(time.asctime())
...

szépen kirakja a pontos időt.
Látni kéne error.log-ot. Arra tippelnék, hogy kapsz valami warningot az importok közben, mielőtt kiküldené a
print("Content-type: text/html\n\n") -t.

AppArmor/SELinux nincs véletlen beállítva? (bocs, ha nagyon idióta kérdés, nem ismerem a termux-ot)

Minden import-ra hibát dob? A sys-t sem tudod beimportálni? Ha az menne, akkor kellene egy print(sys.prefix) kimenet.

Amúgy próbáld meg az Apache konfigban a SetEnv PYTHONPATH "/usr/..." beállítást - nem tudom, az Apache milyen lebutított beállításokkal fut.

Nem véletlenül van beállítva: androidon az alap. :)
Én bemásoltam a kérdező konfigját a saját mobilomra, nálam úgy általában működnek az importok.
Ebből arra tippelnék, hogy vagy valami olyat importál ami problémás vagy eleve a programjában van valami hiba. Végülis a hibaüzenet sem ismert, asszem...