• Please be aware: Kaspersky Anti-Virus has been deprecated
    With the upgrade to Plesk Obsidian 18.0.64, "Kaspersky Anti-Virus for Servers" will be automatically removed from the servers it is installed on. We recommend that you migrate to Sophos Anti-Virus for Servers.
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

Resolved NO ngx_http_passenger_module

Dukemaster

Regular Pleskian
Hi friends,
I was pleased and happy to get this great tutorial by @UFHH01 installing NGINX with Brotli.
The install worked successful until the point of compilation.
/addons/nginx/nginx-1.13.4
with
ngx_cache_purge-2.3 \
ngx_slowfs_cache-1.10 \
ngx_pagespeed-1.12.34.2-stable
ngx_cache_purge-2.3 \
ngx_slowfs_cache-1.10 \
ngx_coolkit-0.2 \
ngx_headers-more-0.32

I started a two hour search to find a source to get it. Nothing. Only people with problems, other OS, other relations.
Here in this forum got the information that passenger directives should be in /etc/nginx/nginx.conf or something related with phusion(+passenger). I have nothing of this.
But my normal NGINX is running well by status (1.11.10)
="/etc/init.d/nginx status ● nginx.service - Startup script for nginx service Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2017-08-16 01:25:58 CEST; 1h 3min ago Process: 20886 ExecStop=/bin/kill -s QUIT $MAINPID (code=exited, status=0/SUCCESS) Process: 20899 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 20895 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 20891 ExecStartPre=/usr/bin/test $NGINX_ENABLED = yes (code=exited, status=0/SUCCESS) Main PID: 20903 (nginx) Tasks: 2 Memory: 10.4M CPU: 10.240s CGroup: /system.slice/nginx.service ├─20903 nginx: master process /usr/sbin/nginx └─20904 nginx: worker process Aug 16 01:25:58 server.arox.eu systemd[1]: Starting Startup script for nginx service... Aug 16 01:25:58 server.arox.eu nginx[20895]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok Aug 16 01:25:58 server.arox.eu nginx[20895]: nginx: configuration file /etc/nginx/nginx.conf test is s...sful Aug 16 01:25:58 server.arox.eu systemd[1]: Started Startup script for nginx service. Hint: Some lines were ellipsized, use -l to show in full."]
Please does someone have an idea how to solve the last step to paradise?

Nothing happens well last three days. I have the time to spend day and night, I and know how to search well on internet, but bad luck all over. Redis server, memcached, and now this. and no ideas serving static files faster, no ideas of browser caching google insights give me 48%. Worst time ever.
Wanted to run nginx alone for better performance but bad luck.

Greets and thanks for all help - As attachment my (second) installation, better the end of it.

Code:
./configure.....
......checking for struct dirent.d_type ... found
checking for sysconf(_SC_NPROCESSORS_ONLN) ... found
checking for openat(), fstatat() ... found
checking for getaddrinfo() ... found
configuring additional modules
adding module in /usr/share/passenger/ngx_http_passenger_module
./configure: error: no /usr/share/passenger/ngx_http_passenger_module/config was found
root@server:~/addons/nginx/nginx-1.13.4#     --add-module=/usr/share/nginx/modules/ngx_cache_purge-2.3 \
>     --add-module=/usr/share/nginx/modules/ngx_slowfs_cache-1.10 \
>     --add-module=/usr/share/nginx/modules/ngx_coolkit-0.2 \
>     --add-module=/usr/share/nginx/modules/ngx_headers-more-0.32 \
>
-bash: --add-module=/usr/share/nginx/modules/ngx_cache_purge-2.3: No such file or directory
root@server:~/addons/nginx/nginx-1.13.4# make
make: *** No rule to make target 'build', needed by 'default'.  Stop.
root@server:~/addons/nginx/nginx-1.13.4#
root@server:~/addons/nginx/nginx-1.13.4# make install
make: *** No rule to make target 'install'.  Stop.
root@server:~/addons/nginx/nginx-1.13.4#

Here another test with only ./configure
OpenSSL is not used...
Code:
root@server:~/addons/nginx/nginx-1.13.4# ./configure
checking for OS
 + Linux 4.4.0-92-generic x86_64
checking for C compiler ... found
 + using GNU C compiler
 + gcc version: 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
checking for gcc -pipe switch ... found
checking for -Wl,-E switch ... found
checking for gcc builtin atomic operations ... found
checking for C99 variadic macros ... found
checking for gcc variadic macros ... found
checking for gcc builtin 64 bit byteswap ... found
checking for unistd.h ... found
checking for inttypes.h ... found
checking for limits.h ... found
checking for sys/filio.h ... not found
checking for sys/param.h ... found
checking for sys/mount.h ... found
checking for sys/statvfs.h ... found
checking for crypt.h ... found
checking for Linux specific features
checking for epoll ... found
checking for EPOLLRDHUP ... found
checking for EPOLLEXCLUSIVE ... not found
checking for O_PATH ... found
checking for sendfile() ... found
checking for sendfile64() ... found
checking for sys/prctl.h ... found
checking for prctl(PR_SET_DUMPABLE) ... found
checking for crypt_r() ... found
checking for sys/vfs.h ... found
checking for nobody group ... not found
checking for nogroup group ... found
checking for poll() ... found
checking for /dev/poll ... not found
checking for kqueue ... not found
checking for crypt() ... not found
checking for crypt() in libcrypt ... found
checking for F_READAHEAD ... not found
checking for posix_fadvise() ... found
checking for O_DIRECT ... found
checking for F_NOCACHE ... not found
checking for directio() ... not found
checking for statfs() ... found
checking for statvfs() ... found
checking for dlopen() ... not found
checking for dlopen() in libdl ... found
checking for sched_yield() ... found
checking for sched_setaffinity() ... found
checking for SO_SETFIB ... not found
checking for SO_REUSEPORT ... found
checking for SO_ACCEPTFILTER ... not found
checking for SO_BINDANY ... not found
checking for IP_BIND_ADDRESS_NO_PORT ... found
checking for IP_TRANSPARENT ... found
checking for IP_BINDANY ... not found
checking for IP_RECVDSTADDR ... not found
checking for IP_SENDSRCADDR ... not found
checking for IP_PKTINFO ... found
checking for IPV6_RECVPKTINFO ... found
checking for TCP_DEFER_ACCEPT ... found
checking for TCP_KEEPIDLE ... found
checking for TCP_FASTOPEN ... found
checking for TCP_INFO ... found
checking for accept4() ... found
checking for eventfd() ... found
checking for int size ... 4 bytes
checking for long size ... 8 bytes
checking for long long size ... 8 bytes
checking for void * size ... 8 bytes
checking for uint32_t ... found
checking for uint64_t ... found
checking for sig_atomic_t ... found
checking for sig_atomic_t size ... 4 bytes
checking for socklen_t ... found
checking for in_addr_t ... found
checking for in_port_t ... found
checking for rlim_t ... found
checking for uintptr_t ... uintptr_t found
checking for system byte ordering ... little endian
checking for size_t size ... 8 bytes
checking for off_t size ... 8 bytes
checking for time_t size ... 8 bytes
checking for AF_INET6 ... found
checking for setproctitle() ... not found
checking for pread() ... found
checking for pwrite() ... found
checking for pwritev() ... found
checking for sys_nerr ... found
checking for localtime_r() ... found
checking for posix_memalign() ... found
checking for memalign() ... found
checking for mmap(MAP_ANON|MAP_SHARED) ... found
checking for mmap("/dev/zero", MAP_SHARED) ... found
checking for System V shared memory ... found
checking for POSIX semaphores ... not found
checking for POSIX semaphores in libpthread ... found
checking for struct msghdr.msg_control ... found
checking for ioctl(FIONBIO) ... found
checking for struct tm.tm_gmtoff ... found
checking for struct dirent.d_namlen ... not found
checking for struct dirent.d_type ... found
checking for sysconf(_SC_NPROCESSORS_ONLN) ... found
checking for openat(), fstatat() ... found
checking for getaddrinfo() ... found
checking for PCRE library ... found
checking for PCRE JIT support ... found
checking for zlib library ... found
creating objs/Makefile

Configuration summary
  + using system PCRE library
  + OpenSSL library is not used
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

root@server:~/addons/nginx/nginx-1.13.4# ^C

Greets
 
Last edited:
Hi Dukemaster,

first of all:

If you follow a tutorial and use a "configure" - command, pls. make sure, that you haven't got any issues/errors with it, because you shouldn't continue afterwards with "make" and furthermore with "make install", if the configuration - command wasn't successfull! Pls. don't just blindly follow the suggested steps, without READING the output of your commands. :rolleyes:

adding module in /usr/share/passenger/ngx_http_passenger_module
./configure: error: no /usr/share/passenger/ngx_http_passenger_module/config was found
Pls. make sure, that the passenger module has been installed and that the used path is correct, if you use ot in your "configure" - command. The best options is to search for the corresponding "config" with an example "locate" - command:
Code:
locate config | grep ngx_http_passenger_module
If you don't get any result, pls. consider to post the the result of
Code:
dpkg -l sw-nginx '*passenger*' | cat
... for further investigations.​


root@server:~/addons/nginx/nginx-1.13.4# --add-module=/usr/share/nginx/modules/ngx_cache_purge-2.3 \
> --add-module=/usr/share/nginx/modules/ngx_slowfs_cache-1.10 \
> --add-module=/usr/share/nginx/modules/ngx_coolkit-0.2 \
> --add-module=/usr/share/nginx/modules/ngx_headers-more-0.32 \
>
-bash: --add-module=/usr/share/nginx/modules/ngx_cache_purge-2.3: No such file or directory
As you can see, you just pasted a wrong command onto your command line. Pls. avoid just mistakes, as this can result in issues/errors/problems, which you may not be able to correct. Consider to paste copied commands first into a TXT - Editor of your choice, so that you are able to see, if you copied the correct lines.



Another ( important ) suggestion:

If you experience issues/errors/problems when you follow a tutorial, pls. post relevant questions/issues/errors/problems where you found the tutorial.

Please go to => Contribution - How to compile NGINX with additional modules ( pagespeed / cache_purge / headers-more / and others ) for further help/investigations and suggestions and see this thread as SOLVED. ;)
 
Okay thanks for help.
I edited my last posting during you wrote your answer, I think.
I did exactly what you suggested, I used a textfile and I do so since years. That's the best way ever to be have correct inputs, especially by long and complicated inputs, also for foums and blogs to avoid timeouts.
Here I did it because I used two newer packages. But I was unsure about the first line.
So, I followed exactly your tutorial.
Here is the output. I post it better here, because if posting now in the other thread it would be purely confusing. Nobody would know to what I'm refering to.

locate config | grep ngx_http_passenger_module is without result.

Code:
root@server:~/addons/nginx/nginx-1.13.4# cd
root@server:~# locate config | grep ngx_http_passenger_module
root@server:~# dpkg -l sw-nginx '*passenger*' | cat
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                     Version                      Architecture Description
+++-========================-============================-============-=============================================
un  libapache2-mod-passenger <none>                       <none>       (no description available)
un  ruby-passenger           <none>                       <none>       (no description available)
ii  sw-nginx                 1.11.10-ubuntu16.04.17040416 amd64        High performance web and reverse proxy server
un  sw-nginx-passenger       <none>                       <none>       (no description available)
root@server:~#
 
Last edited:
Thanks a lot, my friend. But sorry to say. I just looked and didn't find this recommendation in your tutorial.
Do you have a source to it, but I won't waste your time and try to make quick search. I'm happy that you point me to the right direction...:)
 
Last edited:
hI @UFHH01 could you please help me once more. Something seems so wrong. This April 1and1 gave me this 16.04 image, but not with the normal webhosting. But they send me immediately the correct webhosting licence key. So I had to switch to the webhosting edition first, I had to deinstall things I don't needed at this time like Git and Docker.
Do I'm missing this elementary files in present because of this different licence? I wonder why I have to install so many packages. Or my source list is not complete.

Here I would need a little help: Shall I do yes or no? Or first install something with javascript?

Code:
root@server:~/addons/nginx/nginx-1.13.4# locate config | grep ngx_http_passenger_module
root@server:~/addons/nginx/nginx-1.13.4# cd
root@server:~# aptitude install passenger passenger-dev passenger-native-libs
The following NEW packages will be installed:
  fonts-lato{a} javascript-common{a} libjs-jquery{a} libruby2.3{a} libyaml-0-2{a} passenger
  passenger-dev passenger-native-libs rake{a} ruby{a} ruby-did-you-mean{a} ruby-minitest{a}
  ruby-net-telnet{a} ruby-power-assert{a} ruby-test-unit{a} ruby2.3{a} rubygems-integration{a}
0 packages upgraded, 17 newly installed, 0 to remove and 0 not upgraded.
Need to get 15.8 MB of archives. After unpacking 109 MB will be used.
The following packages have unmet dependencies:
 plesk-base : Conflicts: javascript-common but 11 is to be installed.
The following actions will resolve these dependencies:

     Keep the following packages at their current version:
1)     javascript-common [Not Installed]

     Leave the following dependencies unresolved:
2)     libjs-jquery recommends javascript-common


Accept this solution? [Y/n/q/?]
 
Great @UFHH01 ,
with your help it worked. I accepted the solution from last posting!
Then I started compiling.
But the very last question came.

For the reason that you wrote this helpful tutorial with --with-debug I guess to go on with Y for Yes.
Or am I wrong?

Code:
root@server:~# cd /root/addons/nginx/nginx-1.13.4
root@server:~/addons/nginx/nginx-1.13.4# ./configure --prefix=/etc/nginx \
>     --sbin-path=/usr/sbin/nginx \
>     --conf-path=/etc/nginx/nginx.conf \
>     --error-log-path=/var/log/nginx/error.log \
>     --http-log-path=/var/log/nginx/access.log \
>     --lock-path=/var/lock/nginx.lock \
>     --pid-path=/var/run/nginx.pid \
>     --http-client-body-temp-path=/var/lib/nginx/body \
>     --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
>     --http-proxy-temp-path=/var/lib/nginx/proxy \
>     --http-scgi-temp-path=/var/lib/nginx/scgi \
>     --http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
>     --user=nginx \
>     --group=nginx \
>     --with-debug \
>     --with-file-aio \
>     --with-google_perftools_module \
>     --with-ipv6 \
>     --with-mail \
>     --with-mail_ssl_module \
>     --with-threads \
>     --with-select_module \
>     --with-stream \
>     --with-stream_ssl_module \
>     --with-http_addition_module \
>     --with-http_auth_request_module \
>     --with-http_dav_module \
>     --with-http_flv_module \
>     --with-http_geoip_module \
>     --with-http_gunzip_module \
>     --with-http_gzip_static_module \
>     --with-http_image_filter_module \
>     --with-http_mp4_module \
>     --with-http_perl_module \
>     --with-http_random_index_module \
>     --with-http_realip_module \
>     --with-http_secure_link_module \
>     --with-http_stub_status_module \
>     --with-http_sub_module \
>     --with-http_ssl_module \
>     --with-http_v2_module \
>     --with-http_xslt_module \
>     --with-poll_module \
>     --add-module=/usr/share/passenger/ngx_http_passenger_module \
>     --add-module=/usr/share/nginx/modules/ngx_pagespeed-1.12.34.2-stable
    --add-module=/usr/share/nginx/modules/ngx_cache_purge-2.3 \
    --add-module=/usr/share/nginx/modules/ngx_slowfs_cache-1.10 \
    --add-module=/usr/share/nginx/modules/ngx_coolkit-0.2 \
    --add-module=/usr/share/nginx/modules/ngx_headers-more-0.32 \checking for OS
 + Linux 4.4.0-92-generic x86_64
checking for C compiler ... found
 + using GNU C compiler
 + gcc version: 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
checking for gcc -pipe switch ... found
checking for -Wl,-E switch ... found
checking for gcc builtin atomic operations ... found
checking for C99 variadic macros ... found
checking for gcc variadic macros ... found
checking for gcc builtin 64 bit byteswap ... found
checking for unistd.h ... found
checking for inttypes.h ... found
checking for limits.h ... found
checking for sys/filio.h ... not found
checking for sys/param.h ... found
checking for sys/mount.h ... found
checking for sys/statvfs.h ... found
checking for crypt.h ... found
checking for Linux specific features
checking for epoll ... found
checking for EPOLLRDHUP ... found
checking for EPOLLEXCLUSIVE ... not found
checking for O_PATH ... found
checking for sendfile() ... found
checking for sendfile64() ... found
checking for sys/prctl.h ... found
checking for prctl(PR_SET_DUMPABLE) ... found
checking for crypt_r() ... found
checking for sys/vfs.h ... found
checking for poll() ... found
checking for /dev/poll ... not found
checking for kqueue ... not found
checking for crypt() ... not found
checking for crypt() in libcrypt ... found
checking for F_READAHEAD ... not found
checking for posix_fadvise() ... found
checking for O_DIRECT ... found
checking for F_NOCACHE ... not found
checking for directio() ... not found
checking for statfs() ... found
checking for statvfs() ... found
checking for dlopen() ... not found
checking for dlopen() in libdl ... found
checking for sched_yield() ... found
checking for sched_setaffinity() ... found
checking for SO_SETFIB ... not found
checking for SO_REUSEPORT ... found
checking for SO_ACCEPTFILTER ... not found
checking for SO_BINDANY ... not found
checking for IP_BIND_ADDRESS_NO_PORT ... found
checking for IP_TRANSPARENT ... found
checking for IP_BINDANY ... not found
checking for IP_RECVDSTADDR ... not found
checking for IP_SENDSRCADDR ... not found
checking for IP_PKTINFO ... found
checking for IPV6_RECVPKTINFO ... found
checking for TCP_DEFER_ACCEPT ... found
checking for TCP_KEEPIDLE ... found
checking for TCP_FASTOPEN ... found
checking for TCP_INFO ... found
checking for accept4() ... found
checking for kqueue AIO support ... not found
checking for Linux AIO support ... found
checking for int size ... 4 bytes
checking for long size ... 8 bytes
checking for long long size ... 8 bytes
checking for void * size ... 8 bytes
checking for uint32_t ... found
checking for uint64_t ... found
checking for sig_atomic_t ... found
checking for sig_atomic_t size ... 4 bytes
checking for socklen_t ... found
checking for in_addr_t ... found
checking for in_port_t ... found
checking for rlim_t ... found
checking for uintptr_t ... uintptr_t found
checking for system byte ordering ... little endian
checking for size_t size ... 8 bytes
checking for off_t size ... 8 bytes
checking for time_t size ... 8 bytes
checking for AF_INET6 ... found
checking for setproctitle() ... not found
checking for pread() ... found
checking for pwrite() ... found
checking for pwritev() ... found
checking for sys_nerr ... found
checking for localtime_r() ... found
checking for posix_memalign() ... found
checking for memalign() ... found
checking for mmap(MAP_ANON|MAP_SHARED) ... found
checking for mmap("/dev/zero", MAP_SHARED) ... found
checking for System V shared memory ... found
checking for POSIX semaphores ... not found
checking for POSIX semaphores in libpthread ... found
checking for struct msghdr.msg_control ... found
checking for ioctl(FIONBIO) ... found
checking for struct tm.tm_gmtoff ... found
checking for struct dirent.d_namlen ... not found
checking for struct dirent.d_type ... found
checking for sysconf(_SC_NPROCESSORS_ONLN) ... found
checking for openat(), fstatat() ... found
checking for getaddrinfo() ... found
configuring additional modules
adding module in /usr/share/passenger/ngx_http_passenger_module
checking for Math library ... found
checking for POSIX realtime library ... found
 + ngx_http_passenger_module was configured
adding module in /usr/share/nginx/modules/ngx_pagespeed-1.12.34.2-stable

You have set --with-debug for building nginx, but precompiled Debug binaries for
PSOL, which ngx_pagespeed depends on, aren't available.  If you're trying to
debug PSOL you need to build it from source.  If you just want to run nginx with
debug-level logging you can use the Release binaries.

Use the available Release binaries? [Y/n]

Greets and thanks
 
Hi Dukemaster,

I just looked and didn't find this recommendation in your tutorial
... and how long you ever will look for it at the mentioned tutorial, you will certainly not find it, as my tutorial is based on a standart Plesk installation and doesn't have to be listed additionally. You should be aware, that I certainly used the very same compiling options, as Plesk uses for it's "sw-nginx" - version, which you are able to verify with the command:
Code:
nginx -V
... when you have a standart Plesk installation - I only added additional modules at my above mentioned tutorial. ;)


Do you have a source to it
My ( example ) source - recommendations can be found over the Forum - Search ( => Search | Plesk Forum ), or by having a look at: => #9


This April 1and1 gave me this 16.04 image, but not with the normal webhosting. But they send me immediately the correct webhosting licence key. So I had to switch to the webhosting edition first, I had to deinstall things I don't needed at this time like Git and Docker.
Do I'm missing this elementary files in present because of this different licence? I wonder why I have to install so many packages. Or my source list is not complete.
Sorry, I am really not able to reproduce your issues/errors/problems with this explanations and you changed so many things in the past on your server, that I doubt, that anybody is able to reproduce it, to give you a decent answer, or a recommendation.

My advice is still:
Pls. don't de-install standart Plesk packages, even that you think, that you don't need them, or because you think, that less packages could speed up your server.
Pls. be aware, that some Plesk packages require the Plesk Web Pro Edition, or the Plesk Web Host Edition. Pls. get the correct licence key from your server hoster, which you paid for. :)

I personally don't like the idea of using images from the server hosters ( OVH, Strato, 1and1, ... ), as they are mostly limited and often enough they leave out libraries and packages, which you might need as a decent server administrator - especially, if you desire to built a unique server, with unique settings and configurations. Try to use official vendor sources and use the server provider images only for the basic installation routine of your server, over their Control Panel. :)


For the reason that you wrote this helpful tutorial with --with-debug I guess I should go on with Y for Yes.
Or am I wrong?
Pls. test and try what's best FOR YOU. I mostly use additional "debug" - binaries, but this doesn't have to be one of your hobbies. :p
 
Pls. get the correct licence key from your server hoster,
Hi, @UFHH01 that's exactly what I wrote. They gave me the correct licence key. But the default image is web pro edition or web admin edition. They told me to only switch it by chaning the key. I did it. But therefor I had installed components like Git and Docker which I had to deinstall. And other things which are usually default in webhosting edition were uninstalled, eg firewall. So I had to change 5 or 6 components to be in the right default webhosting edition like usually from default. I mentioned it only for the little, little possibility why it seems that I miss base plesk packages. And I never deinstalled base plesk packages. I never deinstalled anything from server, except these two components in 11 years, especially not over shell.

Sorry, I just released how far your tutorial thread went further. I didn't read further. Otherwise I would have wrote my problems there. And THANKS for good help, perhaps today is not the day for both of us.

Now I came successful to the next level but also again the next problem. I laugh about Missing OpenSSL. Last week I upgraded openssl successful to 1.0.2l
Code:
root@server:~/addons/nginx/nginx-1.13.4# openssl version -v
OpenSSL 1.0.2l  25 May 2017
What shall I do now? In your tutorial someone suggested a possibility, but first he uses CentOS and you didn't liked it, so I'm unsure if it's the right way to install openssl for twice. But I don't want to break it now so near to the end.

Code:
Use the available Release binaries? [Y/n] y
./configure: 158: /usr/share/nginx/modules/ngx_pagespeed-1.12.34.2-stable/config: [[: not found
./configure: 158: /usr/share/nginx/modules/ngx_pagespeed-1.12.34.2-stable/config: --add-module=/usr/share/ngi    --add-module=/usr/share/nginx/modules/ngx_headers-more-0.32 y: not found
mod_pagespeed_dir=/usr/share/nginx/modules/ngx_pagespeed-1.12.34.2-stable/psol/include
build_from_source=false
checking for psol ... found
List of modules (in reverse order of applicability): ngx_http_write_filter_module ngx_http_header_filter_module ngx_http_chunked_filter_module ngx_http_v2_filter_module ngx_http_range_header_filter_module ngx_pagespeed_etag_filter ngx_http_gzip_filter_module ngx_pagespeed ngx_http_postpone_filter_module ngx_http_ssi_filter_module ngx_http_charset_filter_module ngx_http_xslt_filter_module ngx_http_image_filter_module ngx_http_sub_filter_module ngx_http_addition_filter_module ngx_http_gunzip_filter_module ngx_http_userid_filter_module ngx_http_headers_filter_module
checking for psol-compiler-compat ... found
 + ngx_pagespeed was configured
checking for PCRE library ... found
checking for PCRE JIT support ... found
checking for OpenSSL library ... not found
checking for OpenSSL library in /usr/local/ ... not found
checking for OpenSSL library in /usr/pkg/ ... not found
checking for OpenSSL library in /opt/local/ ... not found

./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using --with-openssl=<path> option.

Lots of greets
 
Hi Dukemaster,

again, the solution is already given at the error - message:

... or build the OpenSSL library statically from the source
with nginx by using --with-openssl=<path> option

Locate your OpenSSL - path on your server and use:
Code:
./configure --prefix=/etc/nginx \
...
...
--with-http_ssl_module --with-openssl=/YOUR/UNIQUE/PATH/TO/YOUR/openssl-1.0.2l-version \
...
...
 
Uwe, what about releasing your own custom builds of sw-nginx packages with your own custom third-party Plesk repository?
 
I'm unsure about the absolute path to openssl should be /usr/src/openssl-1.0.2l after this really good path finder advice by Plesk, also (german). First I thought it is /usr/local/openssl-1.0.2l. "mlocate" after "updatedb" brought too much entries. Choosing the wrong one may cause unbelievable problems.
Wouldn't it be better then to also compile nginx with
 
Hi Dukemaster,

Choosing the wrong one may cause unbelievable problems.
:eek: ... which are your expected "unbelievable problems", please?
If you choose the wrong path, the "configure" - output will display another error message and you are able to use a different ( correct ) path. ;)

Don't you remember, HOW you ( manually ) upgraded your openssl - version, with which path?


Just a thought:
If I were you, I would have choosed "/usr/local/src/..."
 
Last edited by a moderator:
Hi @UFHH01 not really. We met today night, in my case, no sleep for around 30 hours. I'm much involved by only configuring a system which is secure and functional. Every day doing something else. What I learned during the last 3/4 of year is more like study at university. Sometimes it is so much, that I' don't know what I did yesterday, or better two or three days ago.
According what you mentioned, I'm not stupid, I did exactly what you recommended and suggested, in this time I had the same idea and searched for the tutorial which I used for updating openssl. So you and some other good men and women are my teachers and I'm the learning one. The last time I've tried to fix the remembering problem by rudimental writing down what I'm doing.
It's hard to believe, how you are able to do such a hardworking job, just incredible.

Greets and thanks
 
Last edited:
Hi @UFHH01,
Now the script has running without error, but one warning. Is it necessary to fix the
the >>"--with-ipv6" option is deprecated<<
problem. If "yes" could you please help further? I just read on internet that several communities recommend to leave this option out (delete it).

Code:
checking for perl
 + perl version: This is perl 5, version 22, subversion 1 (v5.22.1) built for x86_64-linux-gnu-thread-multi
 + perl interpreter multiplicity found
checking for GeoIP library ... found
checking for GeoIP IPv6 support ... found
checking for Google perftools ... found
creating objs/Makefile

Configuration summary
  + using threads
  + using system PCRE library
  + using OpenSSL library: /usr/local/src/openssl-1.0.2l
  + using system zlib library

  nginx path prefix: "/etc/nginx"
  nginx binary file: "/usr/sbin/nginx"
  nginx modules path: "/etc/nginx/modules"
  nginx configuration prefix: "/etc/nginx"
  nginx configuration file: "/etc/nginx/nginx.conf"
  nginx pid file: "/var/run/nginx.pid"
  nginx error log file: "/var/log/nginx/error.log"
  nginx http access log file: "/var/log/nginx/access.log"
  nginx http client request body temporary files: "/var/lib/nginx/body"
  nginx http proxy temporary files: "/var/lib/nginx/proxy"
  nginx http fastcgi temporary files: "/var/lib/nginx/fastcgi"
  nginx http uwsgi temporary files: "/var/lib/nginx/uwsgi"
  nginx http scgi temporary files: "/var/lib/nginx/scgi"

./configure: warning: the "--with-ipv6" option is deprecated
root@server:~/addons/nginx/nginx-1.13.4#

Greets
 
Last edited:
Hi @UFHH01 Thanks for helping: Something with openssl directory is wrong. The directory /usr/local/src/ is empty I just realized.

Code:
./configure: warning: the "--with-ipv6" option is deprecated
root@server:~/addons/nginx/nginx-1.13.4# make
make -f objs/Makefile
make[1]: Entering directory '/root/addons/nginx/nginx-1.13.4'
cd /usr/local/src/openssl-1.0.2l \
&& if [ -f Makefile ]; then make clean; fi \
&& ./config --prefix=/usr/local/src/openssl-1.0.2l/.openssl no-shared  \
&& make \
&& make install_sw LIBDIR=lib
/bin/sh: 1: cd: can't cd to /usr/local/src/openssl-1.0.2l
objs/Makefile:2018: recipe for target '/usr/local/src/openssl-1.0.2l/.openssl/include/openssl/ssl.h' failed
make[1]: *** [/usr/local/src/openssl-1.0.2l/.openssl/include/openssl/ssl.h] Error 2
make[1]: Leaving directory '/root/addons/nginx/nginx-1.13.4'
Makefile:8: recipe for target 'build' failed
make: *** [build] Error 2
root@server:~/addons/nginx/nginx-1.13.4#

Greets
 
Last edited:
Hi Dukemaster,

the logical "locate" - command would then be:
Code:
locate ssl.h | grep openssl-1.0.2l
or/and
Code:
locate .openssl | grep openssl-1.0.2l
... to find the correct path. :)
 
HI @UFHH01 this is the output. The second command has no result.


Code:
root@server:~/addons/nginx/nginx-1.13.4# locate ssl.h | grep openssl-1.0.2l
/usr/src/openssl-1.0.2l/include/openssl/kssl.h
/usr/src/openssl-1.0.2l/include/openssl/ssl.h
/usr/src/openssl-1.0.2l/ssl/kssl.h
/usr/src/openssl-1.0.2l/ssl/ssl.h
root@server:~/addons/nginx/nginx-1.13.4# ^C
root@server:~/addons/nginx/nginx-1.13.4# locate .openssl | grep openssl-1.0.2l
root@server:~/addons/nginx/nginx-1.13.4#
Additional question: Is my openssl correctly installed? I think so, because of working SSL at all.
Do I have to change the path for .\ configure this way?:
--with-http_ssl_module --with-openssl=/usr/src/openssl-1.0.2l \
I suggested this path first. Wonder why this is different? Perhaps you use another provider?
We both use the same OS Ubuntu 16.04.(3). But I never want to make it more complicated as it is.

Greets
 
Last edited:
Hi Dukemaster,

Do I have to change the path for .\ configure this way?:
--with-http_ssl_module --with-openssl=/usr/src/openssl-1.0.2l \
Correct.


Wonder why this is different? Perhaps you use another provider?
We both use the same OS Ubuntu 16.04.(3).
Well, everybody has it's very own paths, when it comes to ( manual ) installed/upgraded software packages, there is no "standart rule", when it comes to a unique "users choice". ;)
( apart from that, I use several operating systems on servers that I administrate, from Ubuntu 12.04 - 16.04, over CentOS 6 - 7 and Debian 7 - 8 )
 
Back
Top