• CustomLog directive with pipe (python, mysql)

    From =?UTF-8?Q?Jo=C3=A3o_Carlos_Sousa_Di@21:1/5 to All on Wed Nov 17 15:07:30 2021
    Hello,

    I am trying to create a site with the Apache2 web server with a .conf file like:

    <IfModule mod_ssl.c>
    <VirtualHost _default_:443>
    ServerName 00000000000000000.net
    ServerAdmin webmaster@00000000000000000.net

    Redirect / https://www.google.com/

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    CustomLog "|/home/me/logger.py %h \"%r\"" common

    SSLEngine on

    SSLCertificateFile /.../cert.pem
    SSLCertificateKeyFile /.../key.pem

    </VirtualHost>
    </IfModule>

    Yes, I want double logging. Where the python file /home/me/logger.py is:

    #!/usr/bin/python3
    import pymysql

    connection=....

    Thus imports pymysql package (installed for the me user, also with access by root).

    However the second CustomLog fails: the error.log file shows:

    [Wed Nov 17 06:34:36.554862 2021] [core:notice] [pid 7912:tid 139954445958080] A
    H00094: Command line: '/usr/sbin/apache2'
    Traceback (most recent call last):
    File "/home/alibaba/myjlog.py", line 2, in <module>
    import pymysql
    ModuleNotFoundError: No module named 'pymysql'
    AH00106: piped log program '/home/me/logger.py %h "%r"' failed unexpectedly Traceback (most recent call last):
    File "/home/me/logger.py", line 2, in <module>
    import pymysql
    ModuleNotFoundError: No module named 'pymysql'

    The package pymysql is not accessible by the user used by apache (www-data) and this user has no area in the disk. I already changed the permissions of the package directory (chown -R 755 /home/me/.local). Also, the result of the command

    sudo -u www-data python3 -m site

    is:

    sys.path = [
    '/home/me',
    '/usr/lib/python36.zip',
    '/usr/lib/python3.6',
    '/usr/lib/python3.6/lib-dynload',
    '/home/me/.local/lib/python3.6/site-packages',
    '/usr/local/lib/python3.6/dist-packages',
    '/usr/lib/python3/dist-packages',
    ]
    USER_BASE: '/home/me/.local' (exists)
    USER_SITE: '/home/me/.local/lib/python3.6/site-packages' (exists) ENABLE_USER_SITE: True

    However the inacessibility of pymysql to apache is the origin of the current error.

    How can I write in my mysql database from the apache? Can I use the current method?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)