Mod_wsgi - configuration failed - apache

I am trying to install mod_wsgi using with apache2 but i cant:
I placed the mod_wsgi.so file in C:\Apache24\modules directory
In httpd conf file
1) when i try to LoadModule wsgi_module modules/mod_wsgi.so and restart apache then apache cannot be started - I get an error "The requested operation has failed"
2) when i remove the previous line and add "WSGIScriptAlias /myapp C:/wsgi-scripts/myapp.wsgi" i get the same error

reinstalled python for all users and this resolved itself, I must have installed python on windows for "just me" before

Related

Flask Apache Start Fails with Permission Denied

I am trying to install Flask on my CentOS 7.9.2009 VM running Apache HTTP Server. I've installed Python3.8 and mod_wsgi but when I attempt to start Apache I get the below Permissioned denied when loading the mod_wsgi. I've checked multiple blogs and forums and cannot find a resolution. Any idea why I am getting this error?
Error: cannot open shared object file: Permission denied
httpd: Syntax error on line 56 of /etc/httpd/conf/httpd.conf: Syntax error on line 1 of /etc/httpd/conf.modules.d/02-wsgi.conf: Cannot load /home/myuser/.local/lib/python3.8/site-packages/mod_wsgi/server/mod_wsgi-py38.cpython-38-x86_64-linux-gnu.so into server: /home/myuser/.local/lib/python3.8/site-packages/mod_wsgi/server/mod_wsgi-py38.cpython-38-x86_64-linux-gnu.so: cannot open shared object file: Permission denied
I installed python3.8 from source using ./configure --enable-optimizations --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib" but I am still getting the above permission denied error.
Below is how my app.conf file looks like and also output of mod_wsgi module-config.
app.conf:
LoadModule wsgi_module "/home/myuser/.local/lib/python3.8/site-packages/mod_wsgi/server/mod_wsgi-py38.cpython-38-x86_64-linux-gnu.so"
mod_wsgi module-config:
[myuser#mycentos conf.d]$ mod_wsgi-express module-config
LoadModule wsgi_module "/home/myuser/.local/lib/python3.8/site-packages/mod_wsgi/server/mod_wsgi-py38.cpython-38-x86_64-linux-gnu.so"
WSGIPythonHome "/usr/local"
I get the error when I try to start Apache - sudo systemctl start httpd.
The permission issue was because of SELinux enabled/enforced on my system. I reached out to one of the mod_wsgi source code authors and he pointed me to check this. For now disabling this resolved my immediate issue. If others have suggestions to resolve this without turning it off please suggest.
$ sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31

Apache mod_ssl could not be loaded

Trying to enable the mod_ssl module on Apache 2.4.25, I get the following error:
httpd: Syntax error on line 129 of /ld01/otsweb/build/apache/httpd24.conf: Cannot load modules/mod_ssl.so into server: \t0509-022 Cannot load module /usr/local/apache24/modules/mod_ssl.so.\n\t0509-150 Dependent module libssl.so could not be loaded.\n\t0509-022 Cannot load module libssl.so.\n\t0509-026 System error: A file or directory in the path name does not exist.\n\t0509-022 Cannot load module /usr/local/apache24/modules/mod_ssl.so.\n\t0509-150 Dependent module /usr/local/apache24/modules/mod_ssl.so could not be loaded.
Line 129 is the LoadModule ssl_module modules/mod_ssl.so line in the httpd.conf file.
I have the same configuration running correctly on another server. That server does not have a libssl.so file on it, yet Apache with SSL is running.
Apache was configured with: (OpenSSL version is 1.0.2k from openssl.org)
./configure --enable-mods-shared="proxy proxy_http" --enable-auth-digest --enable-ssl --with-ssl=/usr/local/ssl/bin
Has anyone seen this same error?
With the release of OpenSSL 1.0.2l we decided to reinstall Apache from scratch, and everything is working correctly. A clean install of both seems to have cleared out the problem.

Can't locate API module structure `config_log_module'

I have just installed Fedora 25 on my Raspberry Pi, and I have installed Apache using the command dnf install httpd.
I have then enabled the service: systemctl enable httpd.service.
Then started the service: service httpd start.
This fails and when I check the log using systemctl status httpd.service I see the following message:
httpd: Syntax error on line 214 of /etc/httpd/conf/httpd.conf: Can't locate API module structure `config_log_module'
[EDIT]: and line 214 of /etc/httpd/conf/httpd.conf reads:
LoadModule config_log_module modules/mod_log_config.so
The issue being that this file does exist - so I do not understand why it is failing for this reason?
It would help if you paste the line 214 of your config file to make sure, but it seems you are using an incorrect module identifier.
The correct module identifier for mod_log_config is log_config_module and not config_log_module as API the config complains about.
LoadModule log_config_module modules/mod_log_config.so
is there the "mod_log_config.so" file in address : "/etc/httpd/modules/mod_log_config.so" ?
what is the out put of this command on your httpd server :
ls -l /etc/httpd/modules/mod_log_config.so
seems this module does not exist.

Loading passenger_module in Apache

I'm having problem loading passenger_module into Apache.
# /usr/local/apache/conf.d/passenger.conf
LoadModule passenger_module modules/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/lib/ruby/1.8/phusion_passenger/locations.ini
PassengerRuby /usr/bin/ruby
PassengerInstanceRegistryDir /var/run/passenger-instreg
</IfModule>
Since I can't find modules/mod_passenger.so relative to the above config file, I specified the mod_passenger file that I found somewhere else which is at /usr/lib64/httpd/modules/mod_passenger.so. So the new config would be:
LoadModule passenger_module /usr/lib64/httpd/modules/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/lib/ruby/1.8/phusion_passenger/locations.ini
PassengerRuby /usr/bin/ruby
PassengerInstanceRegistryDir /var/run/passenger-instreg
</IfModule>
Running service httpd restart yield me this error:
httpd: Syntax error on line 28 of /usr/local/apache/conf/httpd.conf: Syntax error on line 1 of /usr/local/apache/conf/includes/pre_main_global.conf:
Syntax error on line 3 of /usr/local/apache/conf.d/passenger.conf: Cannot load /usr/lib64/httpd/modules/mod_passenger.so into server: /usr/lib64/httpd/modules/mod_passenger.so: undefined symbol: ap_escape_html
It's actually loaded on the top of the apache config.
By the way, if I do:
/usr/bin/passenger-config validate-install
I'll get:
You are about to validate Passenger against the following
Apache installation:
Apache 2.4.16
apxs2 : /usr/bin/apxs
Executable: /usr/local/apache/bin/httpd
However, 1 other Apache installation(s) have been found on your system:
Apache 2.4.16
apxs2 : /usr/local/apache/bin/apxs
Executable: /usr/local/apache/bin/httpd
If I do chose y, I'll get:
* Checking whether this Passenger install is in PATH... ✓
* Checking whether there are no other Passenger installations... ✓
* Checking whether Apache is installed... ✓
* Checking whether the Passenger module is correctly configured in Apache... ✓
It'd be great if you guys can shared some light on this issue. Feel free to ask more info if you have to. Thanks in advance.
I'm using centos-release-6-8.el6.centos.12.3.x86_64
I am running Centos 7, Apache 2.4 and Passenger 5.0.28 all installed with yum. I am running passenger as an apache module.
You have Centos 6 and it looks like your apache is a custom install, however I thought going through my config files might help.
The passenger config on my server is split between:
# /etc/httpd/conf.modules.d/10-passenger.conf
### Begin automatically installed Phusion Passenger load snippet ###
LoadModule passenger_module modules/mod_passenger.so
### End automatically installed Phusion Passenger load snippet ###
and
# /etc/httpd/conf.d/passenger.conf
### Begin automatically installed Phusion Passenger config snippet ###
<IfModule mod_passenger.c>
PassengerRoot /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini
PassengerRuby /usr/bin/ruby
PassengerInstanceRegistryDir /var/run/passenger-instreg
</IfModule>
### End automatically installed Phusion Passenger config snippet ###
I can see the module itself, seems to reside in both /etc/httpd/modules/mod_passenger.so and /usr/lib64/httpd/modules/mod_passenger.so.
All apache modules show up in both directories and all the files look the same.
Did you install passenger running passenger-install-apache2-module?
Any other messages in the apache log (usually /var/log/httpd/error_log)?

Apache2 cannot load mod_tile

I had installed mod_tile and apache2 and tile server worked without problem. after that i installed php5.5.3. it changed all file structures of apache2 conf. i think something has changed. "LoadModule tile_module"had been removed from the config file. I added it in new apache2.conf file. but now when i restart apache it shows this message:
apache2: Syntax error on line 141 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/mod_tile.conf: Cannot load /usr/lib/apache2/modules/mod_tile.so into server: /usr/lib/apache2/modules/mod_tile.so: undefined symbol: unixd_set_global_mutex_perms
Action 'configtest' failed.
and this is /etc/apache2/mods-enabled/mod_tile.conf
LoadModule tile_module /usr/lib/apache2/modules/mod_tile.so