Also add:
LoadFile /lib64/libmath.so
Again, work out the correct path for the math library.
In other words, the shared Python library isn't itself linking -lm this time
and neither is Apache.
Graham
> On 3 Dec 2020, at 11:10 am, Anibal Xochipa <[email protected]> wrote:
>
> Now I'm getting:
>
> ● apache2.service - The Apache HTTP Server
> Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor
> preset: enabled)
> Active: failed (Result: exit-code) since Wed 2020-12-02 17:49:33 CST; 37s
> ago
> Docs: https://httpd.apache.org/docs/2.4/
> <https://httpd.apache.org/docs/2.4/>
> Process: 21591 ExecStart=/usr/sbin/apachectl start (code=exited,
> status=1/FAILURE)
>
> dic 02 17:49:33 andola-server systemd[1]: Starting The Apache HTTP Server...
> dic 02 17:49:33 andola-server apachectl[21591]: apache2: Syntax error on line
> 146 of /etc/apache2/apache2.conf: Syntax error on line 3 of
> /etc/apache2/mods-enabled/wsgi.load: Cannot load
> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/mod_wsgi/server/mod_wsgi-py38.cpython-38-arm-linux-gnueabihf.so
> into server:
> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/mod_wsgi/server/mod_wsgi-py38.cpython-38-arm-linux-gnueabihf.so:
> undefined symbol: sincos
> dic 02 17:49:33 andola-server apachectl[21591]: Action 'start' failed.
> dic 02 17:49:33 andola-server apachectl[21591]: The Apache error log may have
> more information.
> dic 02 17:49:33 andola-server systemd[1]: apache2.service: Control process
> exited, code=exited, status=1/FAILURE
> dic 02 17:49:33 andola-server systemd[1]: apache2.service: Failed with result
> 'exit-code'.
> dic 02 17:49:33 andola-server systemd[1]: Failed to start The Apache HTTP
> Server.
>
> Do I have a missing library maybe?
> El miércoles, 2 de diciembre de 2020 a la(s) 13:49:23 UTC-6, Graham Dumpleton
> escribió:
> Based on:
>
> * https://github.com/weechat/weechat/issues/1383
> <https://github.com/weechat/weechat/issues/1383>
>
> it is likely that the Python library on that system should have been linked
> with -lutil, but Apache (which is the main program in this case) isn't.
> Further, the Python distribution configuration is not properly setup to
> ensure that library is linked when building C extensions.
>
> The quick solution may be to find where libutil.so is located (possibly
> /lib64/libutil.so), and with the correct path, add a line:
>
> LoadFile /lib64/libutil.so
>
> just before the LoadModule line for mod_wsgi.
>
> Graham
>
>
>> On 3 Dec 2020, at 6:41 am, Anibal Xochipa <[email protected]
>> <applewebdata://5978B15B-FAF0-4946-89D1-DF329E2FC2D6>> wrote:
>>
>
>> The first time I putted the oputput from "mod_wsgi-express module-config" on
>> /etc/apache2/httpd.conf
>> Getting the result
>> Cannot load /usr/lib/apache2/modules/mod_wsgi.so into server:
>> /usr/lib/apache2/modules/mod_wsgi.so: cannot open shared object file: No
>> such file or directory
>>
>> On wsgi.load file I have
>> LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
>>
>> which gave me the last error
>>
>> Now I changed it with the output from "mod_wsgi-express module-config"
>> command getting the next result
>>
>> ● apache2.service - The Apache HTTP Server
>> Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor
>> preset: enabled)
>> Active: failed (Result: exit-code) since Wed 2020-12-02 13:14:12 CST; 25s
>> ago
>> Docs: https://httpd.apache.org/docs/2.4/
>> <https://httpd.apache.org/docs/2.4/>
>> Process: 18820 ExecStart=/usr/sbin/apachectl start (code=exited,
>> status=1/FAILURE)
>>
>> dic 02 13:14:12 andola-server systemd[1]: Starting The Apache HTTP Server...
>> dic 02 13:14:12 andola-server apachectl[18820]: apache2: Syntax error on
>> line 146 of /etc/apache2/apache2.conf: Syntax error on line 2 of
>> /etc/apache2/mods-enabled/wsgi.load: Cannot load
>> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/mod_wsgi/server/mod_wsgi-py38.cpython-38-arm-linux-gnueabihf.so
>> <http://mod_wsgi-py38.cpython-38-arm-linux-gnueabihf.so/> into server:
>> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/mod_wsgi/server/mod_wsgi-py38.cpython-38-arm-linux-gnueabihf.so
>> <http://mod_wsgi-py38.cpython-38-arm-linux-gnueabihf.so/>: undefined
>> symbol: forkpty
>> dic 02 13:14:12 andola-server apachectl[18820]: Action 'start' failed.
>> dic 02 13:14:12 andola-server apachectl[18820]: The Apache error log may
>> have more information.
>> dic 02 13:14:12 andola-server systemd[1]: apache2.service: Control process
>> exited, code=exited, status=1/FAILURE
>> dic 02 13:14:12 andola-server systemd[1]: apache2.service: Failed with
>> result 'exit-code'.
>> dic 02 13:14:12 andola-server systemd[1]: Failed to start The Apache HTTP
>> Server.
>>
>>
>> El miércoles, 2 de diciembre de 2020 a la(s) 13:09:12 UTC-6, Graham
>> Dumpleton escribió:
>> When uninstalling the system package for mod_wsgi, I would have expected the
>> existing wsgi.load file which contained the LoadModule line for
>> "modules/mod_wsgi.so" (or similar) to have been removed.
>>
>> You would have needed to have replaced the whole wsgi.load file with your
>> own which contained the output of running:
>>
>> mod_wsgi-express module-config
>>
>> What do you currently have in wsgi.load file?
>>
>> Where in the Apache configuration did you put the output of running the
>> "mod_wsgi-express module-config" command?
>>
>> Graham
>>
>>
>>> On 3 Dec 2020, at 6:04 am, Anibal Xochipa <aniba...@ <>gmail.com
>>> <http://gmail.com/>> wrote:
>>>
>>
>>> I did as you said, reinstalled and followed the instructions on the link
>>> you provided.
>>> I also enabled the module but now apache2 wont restart
>>>
>>> sudo systemctl status apache2.service
>>> ● apache2.service - The Apache HTTP Server
>>> Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor
>>> preset: enabled)
>>> Active: failed (Result: exit-code) since Wed 2020-12-02 12:50:25 CST;
>>> 51s ago
>>> Docs: https://httpd.apache.org/docs/2.4/
>>> <https://httpd.apache.org/docs/2.4/>
>>> Process: 18421 ExecStart=/usr/sbin/apachectl start (code=exited,
>>> status=1/FAILURE)
>>>
>>> dic 02 12:50:25 andola-server systemd[1]: Starting The Apache HTTP Server...
>>> dic 02 12:50:25 andola-server apachectl[18421]: apache2: Syntax error on
>>> line 146 of /etc/apache2/apache2.conf: Syntax error on line 1 of
>>> /etc/apache2/mods-enabled/wsgi.load: Cannot load
>>> /usr/lib/apache2/modules/mod_wsgi.so into server:
>>> /usr/lib/apache2/modules/mod_wsgi.so: cannot open shared object file: No
>>> such file or directory
>>> dic 02 12:50:25 andola-server apachectl[18421]: Action 'start' failed.
>>> dic 02 12:50:25 andola-server apachectl[18421]: The Apache error log may
>>> have more information.
>>> dic 02 12:50:25 andola-server systemd[1]: apache2.service: Control process
>>> exited, code=exited, status=1/FAILURE
>>> dic 02 12:50:25 andola-server systemd[1]: apache2.service: Failed with
>>> result 'exit-code'.
>>> dic 02 12:50:25 andola-server systemd[1]: Failed to start The Apache HTTP
>>> Server.
>>>
>>>
>>> I looked for it and /usr/lib/apache2/modules/mod_wsgi.so actually doesn't
>>> exists on that directory I can't find what's happening
>>>
>>> Anibal
>>>
>>> El martes, 1 de diciembre de 2020 a la(s) 16:01:55 UTC-6, Graham Dumpleton
>>> escribió:
>>> You will need to uninstall the system package for mod_wsgi and compile
>>> mod_wsgi yourself against Python 3.8.
>>>
>>> You can build/install it using 'pip install mod_wsgi' with Python 3.8
>>> virtual environment activated. Then configure Apache to use it.
>>>
>>> See:
>>>
>>> * https://pypi.org/project/mod-wsgi/ <https://pypi.org/project/mod-wsgi/>
>>>
>>> Graham
>>>
>>>
>>>> On 2 Dec 2020, at 8:45 am, Anibal Xochipa <aniba...@ <>gmail.com
>>>> <http://gmail.com/>> wrote:
>>>>
>>>
>>>> This is what I get:
>>>>
>>>> ls -lasd /home/pi/Andola
>>>> 4 drwxr-xr-x 16 pi www-data 4096 nov 30 17:56 /home/pi/Andola
>>>>
>>>> ls -lasd /home/pi/Andola/myDjangoEnv
>>>> 4 drwxr-xr-x 5 pi pi 4096 nov 16 15:29 /home/pi/Andola/myDjangoEnv
>>>>
>>>> ls -lasd /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/django*
>>>> 4 drwxr-xr-x 19 pi pi 4096 nov 30 15:06
>>>> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/django
>>>> 4 drwxr-xr-x 2 pi pi 4096 nov 17 18:24
>>>> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/django_allauth-0.42.0.dist-info
>>>> 4 drwxr-xr-x 2 pi pi 4096 nov 17 11:35
>>>> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/django_appconf-1.0.4.dist-info
>>>> 4 drwxr-xr-x 2 pi pi 4096 nov 17 18:15
>>>> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/django_crispy_forms-1.9.2.dist-info
>>>> 4 drwxr-xr-x 2 pi pi 4096 nov 17 11:35
>>>> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/django_imagekit-4.0.2.dist-info
>>>> 4 drwxr-xr-x 2 pi pi 4096 nov 16 16:42
>>>> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/django_phonenumber_field-4.0.0.dist-info
>>>> 4 drwxr-xr-x 2 pi pi 4096 nov 17 18:10
>>>> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/django_tinymce-3.1.0.dist-info
>>>> 4 drwxr-xr-x 2 pi pi 4096 nov 17 18:17
>>>> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/django_widget_tweaks-1.4.8.dist-info
>>>>
>>>> My virtual environment has python 3.8 as that's the one my application
>>>> needs, however I think wsgi seems to be pulling python 3.7 out of
>>>> somewhere.
>>>>
>>>> How do I now whether I'm using the wrong version of wsgi and what can I do
>>>> to switch for the right one?? I've been searching some tutorials but
>>>> haven't had any success
>>>> I installed wsgi using this command while my virtual environment was
>>>> activated:
>>>> sudo apt-get install libapache2-mod-wsgi-py3
>>>>
>>>> Thnk you for your help
>>>> El lunes, 30 de noviembre de 2020 a la(s) 21:26:22 UTC-6, Graham Dumpleton
>>>> escribió:
>>>> Two possibility come to mind immediately.
>>>>
>>>> The first is that the version of Python that mod_wsgi was compiled for is
>>>> different to the version of Python your virtual environment was created
>>>> using. You can't force mod_wsgi compiled for one Python version to use a
>>>> virtual environment for a different Python version.
>>>>
>>>> The second is that the permissions on the Python virtual environment root
>>>> directory are such that the Apache user cannot access it, or that the
>>>> Django package directory within the site-packages directory of the Python
>>>> virtual environment doesn't have permissions such that Apache user can
>>>> access it.
>>>>
>>>> What do you get for:
>>>>
>>>> ls -lasd /home/pi/Andola
>>>> ls -lasd /home/pi/Andola/myDjangoEnv
>>>> ls -lasd
>>>> /home/pi/Andola/myDjangoEnv/lib/python3.7/site-packages/django*
>>>>
>>>> Graham
>>>>
>>>>
>>>>> On 1 Dec 2020, at 2:16 pm, Anibal Xochipa <aniba...@ <>gmail.com
>>>>> <http://gmail.com/>> wrote:
>>>>>
>>>>
>>>>> I'm trying to deploy my Django app using Apache2 on a raspberry pi 4B
>>>>> running raspbian 10
>>>>> My project path looks like this
>>>>> /home/pi/Andola
>>>>> Inside that folder I created a Virtual environment called MyDjangoEnv
>>>>> running python 3.8.2 and Django 3.0.3 so the path to the virtual
>>>>> environment looks like this
>>>>> /home/pi/Andola/myDjangoEnv
>>>>> My wsgi.py file lives inside this folder: /home/pi/Andola/AnDjo/wsgi.py ,
>>>>> next to the settings.py , __init__.py , etc
>>>>>
>>>>>
>>>>> I copied the file 000-default.conf on /etc/apache2/sites-available to
>>>>> another one named django_project.conf in order to configure my own site.
>>>>> I configured it according to Django documentation and my new file looks
>>>>> like this:
>>>>>
>>>>> <VirtualHost *:80>
>>>>> # The ServerName directive sets the request scheme, hostname and port
>>>>> that
>>>>> # the server uses to identify itself. This is used when creating
>>>>> # redirection URLs. In the context of virtual hosts, the ServerName
>>>>> # specifies what hostname must appear in the request's Host: header to
>>>>> # match this virtual host. For the default virtual host (this file) this
>>>>> # value is not decisive as it is used as a last resort host regardless.
>>>>> # However, you must set it for any further virtual host explicitly.
>>>>> #ServerName www.example.com <http://www.example.com/>
>>>>>
>>>>> ServerAdmin webmaster@localhost
>>>>> DocumentRoot /var/www/html
>>>>>
>>>>> # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
>>>>> # error, crit, alert, emerg.
>>>>> # It is also possible to configure the loglevel for particular
>>>>> # modules, e.g.
>>>>> #LogLevel info ssl:warn
>>>>>
>>>>> ErrorLog ${APACHE_LOG_DIR}/error.log
>>>>> CustomLog ${APACHE_LOG_DIR}/access.log combined
>>>>>
>>>>> # For most configuration files from conf-available/, which are
>>>>> # enabled or disabled at a global level, it is possible to
>>>>> # include a line for only one particular virtual host. For example the
>>>>> # following line enables the CGI configuration for this host only
>>>>> # after it has been globally disabled with "a2disconf".
>>>>> #Include conf-available/serve-cgi-bin.conf
>>>>>
>>>>> Alias /static /home/pi/Andola/static
>>>>> <Directory /home/pi/Andola/static>
>>>>> Require all granted
>>>>> </Directory>
>>>>>
>>>>> Alias /media /home/pi/Andola/media
>>>>> <Directory /home/pi/Andola/media>
>>>>> Require all granted
>>>>> </Directory>
>>>>>
>>>>> <Directory /home/pi/Andola/AnDjo>
>>>>> <Files wsgi.py>
>>>>> Require all granted
>>>>> </Files>
>>>>> </Directory>
>>>>>
>>>>> WSGIScriptAlias / /home/pi/Andola/AnDjo/wsgi.py
>>>>> WSGIDaemonProcess django_app python-path=/home/pi/Andola/
>>>>> python-home=/home/pi/Andola/myDjangoEnv
>>>>> WSGIProcessGroup django_app
>>>>>
>>>>> </VirtualHost>
>>>>>
>>>>> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
>>>>>
>>>>> I think I gave the propper permissions to media folder and changed the
>>>>> ownership of my project folder (Andola) to www-data.
>>>>>
>>>>> My Django application runs totally fine when I use python manage.py
>>>>> runserver but whenever I try to run apache it gives me the 500 Internal
>>>>> Server Error and the next shows up in the error log
>>>>>
>>>>> [Mon Nov 30 20:47:16.396524 2020] [mpm_event:notice] [pid 10724:tid
>>>>> 3069383184] AH00491: caught SIGTERM, shutting down
>>>>> [Mon Nov 30 20:47:16.540219 2020] [mpm_event:notice] [pid 12812:tid
>>>>> 3069309456] AH00489: Apache/2.4.38 (Raspbian) mod_wsgi/4.6.5 Python/3.7
>>>>> configured -- resuming normal operations
>>>>> [Mon Nov 30 20:47:16.540623 2020] [core:notice] [pid 12812:tid
>>>>> 3069309456] AH00094: Command line: '/usr/sbin/apache2'
>>>>> [Mon Nov 30 20:47:20.764437 2020] [wsgi:error] [pid 12813:tid 3038991392]
>>>>> [remote ::1:52238] mod_wsgi (pid=12813): Failed to exec Python script
>>>>> file '/home/pi/Andola/AnDjo/wsgi.py'.
>>>>> [Mon Nov 30 20:47:20.764696 2020] [wsgi:error] [pid 12813:tid 3038991392]
>>>>> [remote ::1:52238] mod_wsgi (pid=12813): Exception occurred processing
>>>>> WSGI script '/home/pi/Andola/AnDjo/wsgi.py'.
>>>>> [Mon Nov 30 20:47:20.765543 2020] [wsgi:error] [pid 12813:tid 3038991392]
>>>>> [remote ::1:52238] Traceback (most recent call last):
>>>>> [Mon Nov 30 20:47:20.767301 2020] [wsgi:error] [pid 12813:tid 3038991392]
>>>>> [remote ::1:52238] File "/home/pi/Andola/AnDjo/wsgi.py", line 12, in
>>>>> <module>
>>>>> [Mon Nov 30 20:47:20.767372 2020] [wsgi:error] [pid 12813:tid 3038991392]
>>>>> [remote ::1:52238] from django.core.wsgi import get_wsgi_application
>>>>> [Mon Nov 30 20:47:20.767491 2020] [wsgi:error] [pid 12813:tid 3038991392]
>>>>> [remote ::1:52238] ModuleNotFoundError: No module named 'django'
>>>>>
>>>>> I ran the scripts here
>>>>> https://modwsgi.readthedocs.io/en/develop/user-guides/checking-your-installation.html
>>>>>
>>>>> <https://modwsgi.readthedocs.io/en/develop/user-guides/checking-your-installation.html>
>>>>> getting the next results:
>>>>>
>>>>> Python Installation in use:
>>>>> sys.version = '3.7.3 (default, Jul 25 2020, 13:03:44) \n[GCC 8.3.0]'
>>>>> sys.prefix = '/home/pi/Andola/myDjangoEnv'
>>>>>
>>>>> Python module search path:
>>>>> sys.path = ['/home/pi/Andola', '/usr/lib/python37.zip',
>>>>> '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload']
>>>>>
>>>>> Embedded or Daemon Mode
>>>>> mod_wsgi.process_group = 'django_app'
>>>>>
>>>>> Subinterpreter Being Used
>>>>> mod_wsgi.application_group = '192.168.1.70|'
>>>>>
>>>>> I can see that wsgi might not be using myDjangoEnv and a bad
>>>>> configuration is happening but as this is the first time I'm using wsgi
>>>>> and also the first time trying to make a website I've been kind of lost
>>>>> for the last few days /::
>>>>>
>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google Groups
>>>>> "modwsgi" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send an
>>>>> email to modwsgi+u...@ <>googlegroups.com <http://googlegroups.com/>.
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/modwsgi/0ecac6e4-53ad-43ad-ab9e-b498775a3275n%40googlegroups.com
>>>>>
>>>>> <https://groups.google.com/d/msgid/modwsgi/0ecac6e4-53ad-43ad-ab9e-b498775a3275n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>>>
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google Groups
>>>> "modwsgi" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an
>>>> email to modwsgi+u...@ <>googlegroups.com <http://googlegroups.com/>.
>>>
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/modwsgi/f34e15a9-1913-4fb4-bdbc-3e54c4ef3640n%40googlegroups.com
>>>>
>>>> <https://groups.google.com/d/msgid/modwsgi/f34e15a9-1913-4fb4-bdbc-3e54c4ef3640n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "modwsgi" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an
>>> email to modwsgi+u...@ <>googlegroups.com <http://googlegroups.com/>.
>>
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/modwsgi/32f25477-626e-4201-99ab-b2c7f7205c59n%40googlegroups.com
>>>
>>> <https://groups.google.com/d/msgid/modwsgi/32f25477-626e-4201-99ab-b2c7f7205c59n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "modwsgi" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected]
>> <applewebdata://5978B15B-FAF0-4946-89D1-DF329E2FC2D6>.
>
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/modwsgi/da342a54-3b0c-44af-9672-7cf8ebc9b1e0n%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/modwsgi/da342a54-3b0c-44af-9672-7cf8ebc9b1e0n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "modwsgi" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected]
> <mailto:[email protected]>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/modwsgi/8e7b3242-f2fd-4e70-8a60-d7228d4eb4dfn%40googlegroups.com
>
> <https://groups.google.com/d/msgid/modwsgi/8e7b3242-f2fd-4e70-8a60-d7228d4eb4dfn%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/modwsgi/D249D089-227A-4517-B106-E764A4E7F3D7%40gmail.com.