msys2 / MSYS2-packages

Package scripts for MSYS2.
https://packages.msys2.org
BSD 3-Clause "New" or "Revised" License
1.3k stars 490 forks source link

Apache httpd #3260

Open weberjn opened 2 years ago

weberjn commented 2 years ago

Hi

would appreciate if you could include Apache httpd in Base Packages:

https://httpd.apache.org/download.cgi

Others would like nginx, too.

For me Msys2 has become the environment where I develop and can experiment without root or Administrator, so httpd would help a lot.

1480c1 commented 2 years ago

Would this be better for mingw-packages instead? Are you looking for a native Windows httpd or one specific to the msys2 base environment (or another question would be can you build Apache httpd with mingw-w64)?

weberjn commented 2 years ago

There are several options to get Apache httpd for Windows, but I'd like to have httpd included in msys2 base with http.conf under /etc and the server startable from the shell.

Mys2 is the Unix on my Windows desktop, I run all command line tools like ssh, git, maven or curl from its bash.

mingw is "too far apart", its inconvenient to remember to start a mingw64 shell for e.g. ldapsearch.

Biswa96 commented 2 years ago

Do you know how to build it for native Windows platform and the source code repository?

weberjn commented 2 years ago

Do you know how to build it for native Windows platform and the source code repository?

Haven't looked into it. The idea is to get httpd and its future updates from pacman.

Actually I had googled for it, and got this SO post

The build process completed successfully, but usefull to say that the runtime can't be used since httpd is not able to load its dynamic modules

Biswa96 commented 2 years ago

Found this repository https://github.com/apache/httpd. The cmake file need some modification for mingw.

Biswa96 commented 2 years ago

httpd requires newer apr v1.7.0 library. Otherwise httpd fails with this error:

httpd/os/win32/util_win32.c:18:10: fatal error: arch/win32/apr_arch_file_io.h: No such file or directory
   18 | #include "arch/win32/apr_arch_file_io.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I have tried to build apr v1.7.0 but it also fails with the following error

checking whether int64_t and int use fmt %d... no
checking whether int64_t and long use fmt %ld... no
checking whether int64_t and long long use fmt %lld... no
configure: error: could not determine the string function for int64_t

The config.log has billions C standard macro. Feel free to update apr.

weberjn commented 2 years ago

I have installed pacman -S pcre-devel then copied in apr + apr-util https://httpd.apache.org/docs/current/install.html -> APR and APR-Util

./configure --prefix=/home/weberjn/oss/apache24 --with-included-apr

make install (takes ages)

modules do not work, there are no .so created, but the exes are there and can be started, but the server does not listen without the modules. even with Mutex posixsem

[Fri Nov 11 14:44:52.167209 2022] [core:crit] [pid 47935:tid 34359738384] AH00136: Server MUST relinquish startup privileges before accepting connections. Please ensure mod_unixd or other system security module is loaded. AH00016: Configuration Failed