Ubuntu error ssl modules require the openssl library

I'm trying to compile nginx from source with the SSL module enabled. When I run this command: ./configure --with-http_ssl_module it does its usual checks to see if everything is installed correct...

I’m trying to compile nginx from source with the SSL module enabled. When I run this command:

./configure --with-http_ssl_module

it does its usual checks to see if everything is installed correctly, and then this pops up:

checking for OpenSSL library … 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= option.

I know for a fact that OpenSSL is installed, because when I do openssl version I get OpenSSL 1.0.1 14 Mar 2012

So I’m pretty stumped. I thought maybe OpenSSL isn’t isntalled in its default location, which is why nginx can’t find it, but I have no idea where this is as it came pre-installed with the server. How can I find out where this is?

The server is running Ubuntu 12.04 LTS.

Thanks.

asked Aug 11, 2012 at 18:17

James Linton's user avatar

1

Most likely you’re missing the libssl-dev package.

But why not save yourself all the trouble and just use a PPA for nginx?

answered Aug 11, 2012 at 18:19

Michael Hampton's user avatar

Michael HamptonMichael Hampton

240k42 gold badges488 silver badges954 bronze badges

8

In case you want to check that libssl is installed in the right place, you can type which openssl and then ldd /path/to/openssl.

answered Aug 11, 2012 at 19:25

Even when OpenSSL is already installed (brew install openssl), configure itself suggests a workaround, which worked for me:

./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master--with-openssl=~/GitHub/openssl/openssl

answered Dec 11, 2017 at 12:30

Pnemonic's user avatar

2

If anyone still facing issue compiling nginx from source with the pcre related error, compile with «—with-pcre» attribute. And for providing pcre path, don’t provide installed path. Provide pcre software path.

  1. Install pcre with

./configure

make

sudo make install

Then, provide the path of pcre source path.

./configure --prefix=/path/to/nginxToBeInstalled/mayBeInOpt/nginx-1.16.0/ --with-openssl=/path/to/installed/openssl-1.1.1b/ --with-pcre=/path/to/your/downloaded/extracted/pcre-8.42

In my case,

./configure --prefix=/opt/nginx-1.16.0/ --with-openssl=/opt/openssl-1.1.1b/ --with-pcre=/media/username/personal/Software/pcre-8.42

Thank you.

answered Jul 8, 2019 at 6:53

learner's user avatar

You have to specify the path were OpenSSL libraries set add it like this

PKG_CONFIG_PATH="/usr/lib/x86_64-linux-gnu/pkgconfig/" ./configure 

I found it path by searching for openssl.pc file find / -name 'openssl.pc' reference

answered Oct 26, 2020 at 21:39

Salem F's user avatar

Salem FSalem F

1631 silver badge10 bronze badges

Содержание

  1. Установка модулей в Nginx на примере http_geoip_module
  2. Шаг 1. Загружаем Nginx
  3. Шаг 2. Сборка Nginx с необходимыми модулями
  4. Исправление ошибок в процессе конфигурации
  5. Теперь собираем Nginx
  6. Добавление модулей nginx в Linux (Debian/Ubuntu/CentOS/AlmaLinux)
  7. Добавление модулей nginx в Linux (Debian/Ubuntu/CentOS /AlmaLinux)
  8. ./configure: error: SSL modules require the OpenSSL library. #2
  9. Comments

Установка модулей в Nginx на примере http_geoip_module

При установке Nginx штатными средствами ОС, нет возможности сконфигурировать его установку, чтобы добавить или убрать модули, и Nginx устанавливается “как есть”. Что же делать, если нам необходимо добавить модуль? Нужно пересобрать Nginx вручную.
Об этом и пойдет речь.

Предположим, что нам необходимо добавить в nginx модуль ngx_http_geo_module . Вывод команды nginx -V покажет нам, что Nginx собран без него.

Вывод команды nginx -V лучше всего сохранить, поскольку данная информация нам потребуется в дальнейшем.

Шаг 1. Загружаем Nginx

Загружаем ту же версию Nginx, что и установлена.

Распакуем архив и перейдём в папку nginx-1.6.3 :

Для сборки потребуются дополнительные пакеты, если они еще не установлены в системе, то производим их установку.

Шаг 2. Сборка Nginx с необходимыми модулями

Приступаем к установке Nginx с добавлением необходимого модуля ngx_http_geo_module

Из ранее сохраненного вывод команды nginx -V копируем текст начиная с —prefix=

Должно получиться так:

В процессе установки возможно будут ошибки, исправляем их.

Исправление ошибок в процессе конфигурации

Ошибка

Исправляем

Ошибка

Исправляем

Ошибка

Исправляем

Ошибка

Исправляем

При успешной конфигурации вывод будет приблизительно следующий:

Теперь собираем Nginx

После сборки проверяем установленные модули командой nginx -V

Как видим, —with-http_geoip_module присутствует.

Источник

Добавление модулей nginx в Linux (Debian/Ubuntu/CentOS/AlmaLinux)

При установке nginx штатными средствами ОС в Linux ( apt, aptitude, yum, dnf ) нет возможности сконфигурировать его установку, чтобы добавить или убрать какие-либо модули и nginx устанавливается «как есть».

Что же делать, если нам необходимо добавить какой-либо модуль? Правильно, нужно пересобрать nginx вручную. О том, как это правильно сделать в Linux, рассказываем в статье.

Добавление модулей nginx в Linux (Debian/Ubuntu/CentOS /AlmaLinux)

Предположим, для примера, что нам необходимо добавить в nginx модуль http_mp4_module. Вывод команды nginx -V покажет нам, что nginx собран без него.

Сохраним вывод команды nginx -V в какой-нибудь текстовый редактор — эта информация нам пригодится при конфигурировании. Видим, что версия nginx у нас установлена 1.18.0 — скачиваем такую же версию:

Распакуем архив и перейдём в папку nginx-1.18.0:

Далее для сборки нам потребуется установить в систему дополнительные пакеты.

Для Debian/Ubuntu выполняем:

После предложения продолжить установку — Do you want to continue? [Y/n] — нажимаем Y .

Для CentOS/AlmaLinux выполняем:

После предложения продолжить установку — Is this ok [y/d/N] — нажимаем y .

После установки пакетов приступаем к конфигурированию nginx с добавлением модуля http_mp4_module.

Для этого копируем из текстового редактора вывод команды nginx -V , начиная с —prefix= и до первого —add-module= (все присутствующие в выводе —add_module= нам не нужны). После чего пишем в консоли ./configure и вставляем скопированное из редактора. В нашем случае есть вывод:

поэтому просто копируем все, кроме этой строки.

В конец строки добавляем —with-http_mp4_module чтобы получилось так:

Нажимаем Enter и ждём окончания процесса.

В процессе конфигурирования возможно будут появляться ошибки. Способы их устранения описаны ниже.

Для Debian/Ubuntu исправляется установкой libpcre++-dev:

Для CentOS/AlmaLinux исправляется установкой pcre-devel:

Источник

./configure: error: SSL modules require the OpenSSL library. #2

101-g0780600+dfsg-3 [68.2 kB] Get:21 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libsasl2-2 amd64 2.1.27

101-g0780600+dfsg-3 [105 kB] Get:22 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libldap-common all 2.4.44+dfsg-5+deb9u2 [85.5 kB] Get:23 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libldap-2.4-2 amd64 2.4.44+dfsg-5+deb9u2 [219 kB] Get:24 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libnghttp2-14 amd64 1.18.1-1 [79.1 kB] Get:25 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libpsl5 amd64 0.17.0-3 [41.8 kB] Get:26 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-1+b1 [60.4 kB] Get:27 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libssh2-1 amd64 1.7.0-1 [138 kB] Get:28 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libcurl3-gnutls amd64 7.52.1-5+deb9u8 [290 kB] Get:29 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 liberror-perl all 0.17024-1 [26.9 kB] Get:30 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 git-man all 1:2.11.0-3+deb9u4 [1433 kB] Get:31 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 git amd64 1:2.11.0-3+deb9u4 [4167 kB] Get:32 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 liblocale-gettext-perl amd64 1.07-3+b1 [18.7 kB] Get:33 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libpcrecpp0v5 amd64 2:8.39-3 [151 kB] Get:34 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libassuan0 amd64 2.4.3-2 [42.5 kB] Get:35 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 pinentry-curses amd64 1.0.0-2 [50.5 kB] Get:36 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libnpth0 amd64 1.3-1 [14.6 kB] Get:37 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 readline-common all 7.0-3 [70.4 kB] Get:38 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libreadline7 amd64 7.0-3 [151 kB] Get:39 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 gnupg-agent amd64 2.1.18-8

deb9u3 [554 kB] Get:40 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libksba8 amd64 1.3.5-2 [99.7 kB] Get:41 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libsqlite3-0 amd64 3.16.2-5+deb9u1 [572 kB] Get:42 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 gnupg amd64 2.1.18-8

deb9u3 [1128 kB] Get:43 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libpopt0 amd64 1.16-10+b2 [49.4 kB] Get:44 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libssl1.0.2 amd64 1.0.2l-2+deb9u3 [1294 kB] Get:45 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 netbase all 5.4 [19.1 kB] Get:46 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 bzip2 amd64 1.0.6-8.1 [47.5 kB] Get:47 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 krb5-locales all 1.15-1+deb9u1 [93.8 kB] Get:48 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 less amd64 481-2.1 [126 kB] Get:49 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 manpages all 4.10-2 [1222 kB] Get:50 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 openssh-client amd64 1:7.4p1-10+deb9u4 [778 kB] Get:51 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 xz-utils amd64 5.2.2-1.2+b1 [266 kB] Get:52 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 binutils amd64 2.28-5 [3770 kB] Get:53 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libc-dev-bin amd64 2.24-11+deb9u3 [258 kB] Get:54 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 linux-libc-dev amd64 4.9.130-2 [1373 kB] Get:55 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libc6-dev amd64 2.24-11+deb9u3 [2361 kB] Get:56 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libisl15 amd64 0.18-1 [564 kB] Get:57 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libmpfr4 amd64 3.1.5-1 [556 kB] Get:58 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libmpc3 amd64 1.0.3-1+b2 [39.9 kB] Get:59 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 cpp-6 amd64 6.3.0-18+deb9u1 [6584 kB] Get:60 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 cpp amd64 4:6.3.0-4 [18.7 kB] Get:61 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libcc1-0 amd64 6.3.0-18+deb9u1 [30.6 kB] Get:62 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libgomp1 amd64 6.3.0-18+deb9u1 [73.3 kB] Get:63 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libitm1 amd64 6.3.0-18+deb9u1 [27.3 kB] Get:64 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libatomic1 amd64 6.3.0-18+deb9u1 [8966 B] Get:65 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libasan3 amd64 6.3.0-18+deb9u1 [311 kB] Get:66 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 liblsan0 amd64 6.3.0-18+deb9u1 [115 kB] Get:67 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libtsan0 amd64 6.3.0-18+deb9u1 [257 kB] Get:68 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libubsan0 amd64 6.3.0-18+deb9u1 [107 kB] Get:69 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libcilkrts5 amd64 6.3.0-18+deb9u1 [40.5 kB] Get:70 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libmpx2 amd64 6.3.0-18+deb9u1 [11.2 kB] Get:71 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libquadmath0 amd64 6.3.0-18+deb9u1 [131 kB] Get:72 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libgcc-6-dev amd64 6.3.0-18+deb9u1 [2296 kB] Get:73 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 gcc-6 amd64 6.3.0-18+deb9u1 [6900 kB] Get:74 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 gcc amd64 4:6.3.0-4 [5196 B] Get:75 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libstdc++-6-dev amd64 6.3.0-18+deb9u1 [1420 kB] Get:76 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 g++-6 amd64 6.3.0-18+deb9u1 [7094 kB] Get:77 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 g++ amd64 4:6.3.0-4 [1546 B] Get:78 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 make amd64 4.1-9.1 [302 kB] Get:79 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libdpkg-perl all 1.18.25 [1287 kB] Get:80 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 patch amd64 2.7.5-1+deb9u1 [112 kB] Get:81 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 dpkg-dev all 1.18.25 [1595 kB] Get:82 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 build-essential amd64 12.3 [7346 B] Get:83 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 openssl amd64 1.1.0f-3+deb9u2 [725 kB] Get:84 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 ca-certificates all 20161130+nmu1+deb9u1 [182 kB] Get:85 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libcurl3 amd64 7.52.1-5+deb9u8 [292 kB] Get:86 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 curl amd64 7.52.1-5+deb9u8 [228 kB] Get:87 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 dirmngr amd64 2.1.18-8

deb9u3 [597 kB] Get:88 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libfakeroot amd64 1.21-3.1 [45.7 kB] Get:89 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 fakeroot amd64 1.21-3.1 [85.6 kB] Get:90 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libalgorithm-diff-perl all 1.19.03-1 [48.7 kB] Get:91 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libalgorithm-diff-xs-perl amd64 0.04-4+b2 [11.6 kB] Get:92 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libalgorithm-merge-perl all 0.08-3 [12.7 kB] Get:93 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libexpat1-dev amd64 2.2.0-2+deb9u1 [134 kB] Get:94 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libfile-fcntllock-perl amd64 0.22-3+b2 [35.3 kB] Get:95 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libluajit-5.1-common all 2.0.4+dfsg-1 [36.6 kB] Get:96 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libluajit-5.1-2 amd64 2.0.4+dfsg-1+b1 [207 kB] Get:97 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libluajit-5.1-dev amd64 2.0.4+dfsg-1+b1 [224 kB] Get:98 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libpam0g-dev amd64 1.1.8-3.6 [184 kB] Get:99 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libpcre16-3 amd64 2:8.39-3 [258 kB] Get:100 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libpcre32-3 amd64 2:8.39-3 [248 kB] Get:101 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libpcre3-dev amd64 2:8.39-3 [647 kB] Get:102 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libsasl2-modules amd64 2.1.27

101-g0780600+dfsg-3 [102 kB] Get:103 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libxext6 amd64 2:1.3.3-1+b2 [52.5 kB] Get:104 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libxmuu1 amd64 2:1.1.2-2 [23.5 kB] Get:105 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 manpages-dev all 4.10-2 [2145 kB] Get:106 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 rename all 0.20-4 [12.5 kB] Get:107 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 rsync amd64 3.1.2-1+deb9u1 [393 kB] Get:108 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 xauth amd64 1:1.0.9-1+b2 [39.6 kB] Get:109 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 zlib1g-dev amd64 1:1.2.8.dfsg-5 [205 kB] Get:110 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 gnupg-l10n all 2.1.18-8

deb9u3 [893 kB] Get:111 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 publicsuffix all 20181003.1334-0+deb9u1 [104 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 68.6 MB in 11s (5832 kB/s) Selecting previously unselected package perl-modules-5.24. (Reading database . 7027 files and directories currently installed.) Preparing to unpack . /000-perl-modules-5.24_5.24.1-3+deb9u4_all.deb . Unpacking perl-modules-5.24 (5.24.1-3+deb9u4) . Selecting previously unselected package libgdbm3:amd64. Preparing to unpack . /001-libgdbm3_1.8.3-14_amd64.deb . Unpacking libgdbm3:amd64 (1.8.3-14) . Selecting previously unselected package libperl5.24:amd64. Preparing to unpack . /002-libperl5.24_5.24.1-3+deb9u4_amd64.deb . Unpacking libperl5.24:amd64 (5.24.1-3+deb9u4) . Selecting previously unselected package perl. Preparing to unpack . /003-perl_5.24.1-3+deb9u4_amd64.deb . Unpacking perl (5.24.1-3+deb9u4) . Selecting previously unselected package libgmp10:amd64. Preparing to unpack . /004-libgmp10_2%3a6.1.2+dfsg-1_amd64.deb . Unpacking libgmp10:amd64 (2:6.1.2+dfsg-1) . Selecting previously unselected package libnettle6:amd64. Preparing to unpack . /005-libnettle6_3.3-1+b2_amd64.deb . Unpacking libnettle6:amd64 (3.3-1+b2) . Selecting previously unselected package libhogweed4:amd64. Preparing to unpack . /006-libhogweed4_3.3-1+b2_amd64.deb . Unpacking libhogweed4:amd64 (3.3-1+b2) . Selecting previously unselected package libidn11:amd64. Preparing to unpack . /007-libidn11_1.33-1_amd64.deb . Unpacking libidn11:amd64 (1.33-1) . Selecting previously unselected package libffi6:amd64. Preparing to unpack . /008-libffi6_3.2.1-6_amd64.deb . Unpacking libffi6:amd64 (3.2.1-6) . Selecting previously unselected package libp11-kit0:amd64. Preparing to unpack . /009-libp11-kit0_0.23.3-2_amd64.deb . Unpacking libp11-kit0:amd64 (0.23.3-2) . Selecting previously unselected package libtasn1-6:amd64. Preparing to unpack . /010-libtasn1-6_4.10-1.1+deb9u1_amd64.deb . Unpacking libtasn1-6:amd64 (4.10-1.1+deb9u1) . Selecting previously unselected package libgnutls30:amd64. Preparing to unpack . /011-libgnutls30_3.5.8-5+deb9u4_amd64.deb . Unpacking libgnutls30:amd64 (3.5.8-5+deb9u4) . Selecting previously unselected package libkeyutils1:amd64. Preparing to unpack . /012-libkeyutils1_1.5.9-9_amd64.deb . Unpacking libkeyutils1:amd64 (1.5.9-9) . Selecting previously unselected package libkrb5support0:amd64. Preparing to unpack . /013-libkrb5support0_1.15-1+deb9u1_amd64.deb . Unpacking libkrb5support0:amd64 (1.15-1+deb9u1) . Selecting previously unselected package libk5crypto3:amd64. Preparing to unpack . /014-libk5crypto3_1.15-1+deb9u1_amd64.deb . Unpacking libk5crypto3:amd64 (1.15-1+deb9u1) . Selecting previously unselected package libkrb5-3:amd64. Preparing to unpack . /015-libkrb5-3_1.15-1+deb9u1_amd64.deb . Unpacking libkrb5-3:amd64 (1.15-1+deb9u1) . Selecting previously unselected package libgssapi-krb5-2:amd64. Preparing to unpack . /016-libgssapi-krb5-2_1.15-1+deb9u1_amd64.deb . Unpacking libgssapi-krb5-2:amd64 (1.15-1+deb9u1) . Selecting previously unselected package libunistring0:amd64. Preparing to unpack . /017-libunistring0_0.9.6+really0.9.3-0.1_amd64.deb . Unpacking libunistring0:amd64 (0.9.6+really0.9.3-0.1) . Selecting previously unselected package libidn2-0:amd64. Preparing to unpack . /018-libidn2-0_0.16-1+deb9u1_amd64.deb . Unpacking libidn2-0:amd64 (0.16-1+deb9u1) . Selecting previously unselected package libsasl2-modules-db:amd64. Preparing to unpack . /019-libsasl2-modules-db_2.1.27

101-g0780600+dfsg-3_amd64.deb . Unpacking libsasl2-modules-db:amd64 (2.1.27

101-g0780600+dfsg-3) . Selecting previously unselected package libsasl2-2:amd64. Preparing to unpack . /020-libsasl2-2_2.1.27

101-g0780600+dfsg-3_amd64.deb . Unpacking libsasl2-2:amd64 (2.1.27

101-g0780600+dfsg-3) . Selecting previously unselected package libldap-common. Preparing to unpack . /021-libldap-common_2.4.44+dfsg-5+deb9u2_all.deb . Unpacking libldap-common (2.4.44+dfsg-5+deb9u2) . Selecting previously unselected package libldap-2.4-2:amd64. Preparing to unpack . /022-libldap-2.4-2_2.4.44+dfsg-5+deb9u2_amd64.deb . Unpacking libldap-2.4-2:amd64 (2.4.44+dfsg-5+deb9u2) . Selecting previously unselected package libnghttp2-14:amd64. Preparing to unpack . /023-libnghttp2-14_1.18.1-1_amd64.deb . Unpacking libnghttp2-14:amd64 (1.18.1-1) . Selecting previously unselected package libpsl5:amd64. Preparing to unpack . /024-libpsl5_0.17.0-3_amd64.deb . Unpacking libpsl5:amd64 (0.17.0-3) . Selecting previously unselected package librtmp1:amd64. Preparing to unpack . /025-librtmp1_2.4+20151223.gitfa8646d.1-1+b1_amd64.deb . Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-1+b1) . Selecting previously unselected package libssh2-1:amd64. Preparing to unpack . /026-libssh2-1_1.7.0-1_amd64.deb . Unpacking libssh2-1:amd64 (1.7.0-1) . Selecting previously unselected package libcurl3-gnutls:amd64. Preparing to unpack . /027-libcurl3-gnutls_7.52.1-5+deb9u8_amd64.deb . Unpacking libcurl3-gnutls:amd64 (7.52.1-5+deb9u8) . Selecting previously unselected package liberror-perl. Preparing to unpack . /028-liberror-perl_0.17024-1_all.deb . Unpacking liberror-perl (0.17024-1) . Selecting previously unselected package git-man. Preparing to unpack . /029-git-man_1%3a2.11.0-3+deb9u4_all.deb . Unpacking git-man (1:2.11.0-3+deb9u4) . Selecting previously unselected package git. Preparing to unpack . /030-git_1%3a2.11.0-3+deb9u4_amd64.deb . Unpacking git (1:2.11.0-3+deb9u4) . Selecting previously unselected package liblocale-gettext-perl. Preparing to unpack . /031-liblocale-gettext-perl_1.07-3+b1_amd64.deb . Unpacking liblocale-gettext-perl (1.07-3+b1) . Selecting previously unselected package libpcrecpp0v5:amd64. Preparing to unpack . /032-libpcrecpp0v5_2%3a8.39-3_amd64.deb . Unpacking libpcrecpp0v5:amd64 (2:8.39-3) . Selecting previously unselected package libassuan0:amd64. Preparing to unpack . /033-libassuan0_2.4.3-2_amd64.deb . Unpacking libassuan0:amd64 (2.4.3-2) . Selecting previously unselected package pinentry-curses. Preparing to unpack . /034-pinentry-curses_1.0.0-2_amd64.deb . Unpacking pinentry-curses (1.0.0-2) . Selecting previously unselected package libnpth0:amd64. Preparing to unpack . /035-libnpth0_1.3-1_amd64.deb . Unpacking libnpth0:amd64 (1.3-1) . Selecting previously unselected package readline-common. Preparing to unpack . /036-readline-common_7.0-3_all.deb . Unpacking readline-common (7.0-3) . Selecting previously unselected package libreadline7:amd64. Preparing to unpack . /037-libreadline7_7.0-3_amd64.deb . Unpacking libreadline7:amd64 (7.0-3) . Selecting previously unselected package gnupg-agent. Preparing to unpack . /038-gnupg-agent_2.1.18-8

deb9u3_amd64.deb . Unpacking gnupg-agent (2.1.18-8

deb9u3) . Selecting previously unselected package libksba8:amd64. Preparing to unpack . /039-libksba8_1.3.5-2_amd64.deb . Unpacking libksba8:amd64 (1.3.5-2) . Selecting previously unselected package libsqlite3-0:amd64. Preparing to unpack . /040-libsqlite3-0_3.16.2-5+deb9u1_amd64.deb . Unpacking libsqlite3-0:amd64 (3.16.2-5+deb9u1) . Selecting previously unselected package gnupg. Preparing to unpack . /041-gnupg_2.1.18-8

deb9u3_amd64.deb . Unpacking gnupg (2.1.18-8

deb9u3) . Selecting previously unselected package libpopt0:amd64. Preparing to unpack . /042-libpopt0_1.16-10+b2_amd64.deb . Unpacking libpopt0:amd64 (1.16-10+b2) . Selecting previously unselected package libssl1.0.2:amd64. Preparing to unpack . /043-libssl1.0.2_1.0.2l-2+deb9u3_amd64.deb . Unpacking libssl1.0.2:amd64 (1.0.2l-2+deb9u3) . Selecting previously unselected package netbase. Preparing to unpack . /044-netbase_5.4_all.deb . Unpacking netbase (5.4) . Selecting previously unselected package bzip2. Preparing to unpack . /045-bzip2_1.0.6-8.1_amd64.deb . Unpacking bzip2 (1.0.6-8.1) . Selecting previously unselected package krb5-locales. Preparing to unpack . /046-krb5-locales_1.15-1+deb9u1_all.deb . Unpacking krb5-locales (1.15-1+deb9u1) . Selecting previously unselected package less. Preparing to unpack . /047-less_481-2.1_amd64.deb . Unpacking less (481-2.1) . Selecting previously unselected package manpages. Preparing to unpack . /048-manpages_4.10-2_all.deb . Unpacking manpages (4.10-2) . Selecting previously unselected package openssh-client. Preparing to unpack . /049-openssh-client_1%3a7.4p1-10+deb9u4_amd64.deb . Unpacking openssh-client (1:7.4p1-10+deb9u4) . Selecting previously unselected package xz-utils. Preparing to unpack . /050-xz-utils_5.2.2-1.2+b1_amd64.deb . Unpacking xz-utils (5.2.2-1.2+b1) . Selecting previously unselected package binutils. Preparing to unpack . /051-binutils_2.28-5_amd64.deb . Unpacking binutils (2.28-5) . Selecting previously unselected package libc-dev-bin. Preparing to unpack . /052-libc-dev-bin_2.24-11+deb9u3_amd64.deb . Unpacking libc-dev-bin (2.24-11+deb9u3) . Selecting previously unselected package linux-libc-dev:amd64. Preparing to unpack . /053-linux-libc-dev_4.9.130-2_amd64.deb . Unpacking linux-libc-dev:amd64 (4.9.130-2) . Selecting previously unselected package libc6-dev:amd64. Preparing to unpack . /054-libc6-dev_2.24-11+deb9u3_amd64.deb . Unpacking libc6-dev:amd64 (2.24-11+deb9u3) . Selecting previously unselected package libisl15:amd64. Preparing to unpack . /055-libisl15_0.18-1_amd64.deb . Unpacking libisl15:amd64 (0.18-1) . Selecting previously unselected package libmpfr4:amd64. Preparing to unpack . /056-libmpfr4_3.1.5-1_amd64.deb . Unpacking libmpfr4:amd64 (3.1.5-1) . Selecting previously unselected package libmpc3:amd64. Preparing to unpack . /057-libmpc3_1.0.3-1+b2_amd64.deb . Unpacking libmpc3:amd64 (1.0.3-1+b2) . Selecting previously unselected package cpp-6. Preparing to unpack . /058-cpp-6_6.3.0-18+deb9u1_amd64.deb . Unpacking cpp-6 (6.3.0-18+deb9u1) . Selecting previously unselected package cpp. Preparing to unpack . /059-cpp_4%3a6.3.0-4_amd64.deb . Unpacking cpp (4:6.3.0-4) . Selecting previously unselected package libcc1-0:amd64. Preparing to unpack . /060-libcc1-0_6.3.0-18+deb9u1_amd64.deb . Unpacking libcc1-0:amd64 (6.3.0-18+deb9u1) . Selecting previously unselected package libgomp1:amd64. Preparing to unpack . /061-libgomp1_6.3.0-18+deb9u1_amd64.deb . Unpacking libgomp1:amd64 (6.3.0-18+deb9u1) . Selecting previously unselected package libitm1:amd64. Preparing to unpack . /062-libitm1_6.3.0-18+deb9u1_amd64.deb . Unpacking libitm1:amd64 (6.3.0-18+deb9u1) . Selecting previously unselected package libatomic1:amd64. Preparing to unpack . /063-libatomic1_6.3.0-18+deb9u1_amd64.deb . Unpacking libatomic1:amd64 (6.3.0-18+deb9u1) . Selecting previously unselected package libasan3:amd64. Preparing to unpack . /064-libasan3_6.3.0-18+deb9u1_amd64.deb . Unpacking libasan3:amd64 (6.3.0-18+deb9u1) . Selecting previously unselected package liblsan0:amd64. Preparing to unpack . /065-liblsan0_6.3.0-18+deb9u1_amd64.deb . Unpacking liblsan0:amd64 (6.3.0-18+deb9u1) . Selecting previously unselected package libtsan0:amd64. Preparing to unpack . /066-libtsan0_6.3.0-18+deb9u1_amd64.deb . Unpacking libtsan0:amd64 (6.3.0-18+deb9u1) . Selecting previously unselected package libubsan0:amd64. Preparing to unpack . /067-libubsan0_6.3.0-18+deb9u1_amd64.deb . Unpacking libubsan0:amd64 (6.3.0-18+deb9u1) . Selecting previously unselected package libcilkrts5:amd64. Preparing to unpack . /068-libcilkrts5_6.3.0-18+deb9u1_amd64.deb . Unpacking libcilkrts5:amd64 (6.3.0-18+deb9u1) . Selecting previously unselected package libmpx2:amd64. Preparing to unpack . /069-libmpx2_6.3.0-18+deb9u1_amd64.deb . Unpacking libmpx2:amd64 (6.3.0-18+deb9u1) . Selecting previously unselected package libquadmath0:amd64. Preparing to unpack . /070-libquadmath0_6.3.0-18+deb9u1_amd64.deb . Unpacking libquadmath0:amd64 (6.3.0-18+deb9u1) . Selecting previously unselected package libgcc-6-dev:amd64. Preparing to unpack . /071-libgcc-6-dev_6.3.0-18+deb9u1_amd64.deb . Unpacking libgcc-6-dev:amd64 (6.3.0-18+deb9u1) . Selecting previously unselected package gcc-6. Preparing to unpack . /072-gcc-6_6.3.0-18+deb9u1_amd64.deb . Unpacking gcc-6 (6.3.0-18+deb9u1) . Selecting previously unselected package gcc. Preparing to unpack . /073-gcc_4%3a6.3.0-4_amd64.deb . Unpacking gcc (4:6.3.0-4) . Selecting previously unselected package libstdc++-6-dev:amd64. Preparing to unpack . /074-libstdc++-6-dev_6.3.0-18+deb9u1_amd64.deb . Unpacking libstdc++-6-dev:amd64 (6.3.0-18+deb9u1) . Selecting previously unselected package g++-6. Preparing to unpack . /075-g++-6_6.3.0-18+deb9u1_amd64.deb . Unpacking g++-6 (6.3.0-18+deb9u1) . Selecting previously unselected package g++. Preparing to unpack . /076-g++_4%3a6.3.0-4_amd64.deb . Unpacking g++ (4:6.3.0-4) . Selecting previously unselected package make. Preparing to unpack . /077-make_4.1-9.1_amd64.deb . Unpacking make (4.1-9.1) . Selecting previously unselected package libdpkg-perl. Preparing to unpack . /078-libdpkg-perl_1.18.25_all.deb . Unpacking libdpkg-perl (1.18.25) . Selecting previously unselected package patch. Preparing to unpack . /079-patch_2.7.5-1+deb9u1_amd64.deb . Unpacking patch (2.7.5-1+deb9u1) . Selecting previously unselected package dpkg-dev. Preparing to unpack . /080-dpkg-dev_1.18.25_all.deb . Unpacking dpkg-dev (1.18.25) . Selecting previously unselected package build-essential. Preparing to unpack . /081-build-essential_12.3_amd64.deb . Unpacking build-essential (12.3) . Selecting previously unselected package openssl. Preparing to unpack . /082-openssl_1.1.0f-3+deb9u2_amd64.deb . Unpacking openssl (1.1.0f-3+deb9u2) . Selecting previously unselected package ca-certificates. Preparing to unpack . /083-ca-certificates_20161130+nmu1+deb9u1_all.deb . Unpacking ca-certificates (20161130+nmu1+deb9u1) . Selecting previously unselected package libcurl3:amd64. Preparing to unpack . /084-libcurl3_7.52.1-5+deb9u8_amd64.deb . Unpacking libcurl3:amd64 (7.52.1-5+deb9u8) . Selecting previously unselected package curl. Preparing to unpack . /085-curl_7.52.1-5+deb9u8_amd64.deb . Unpacking curl (7.52.1-5+deb9u8) . Selecting previously unselected package dirmngr. Preparing to unpack . /086-dirmngr_2.1.18-8

deb9u3_amd64.deb . Unpacking dirmngr (2.1.18-8

deb9u3) . Selecting previously unselected package libfakeroot:amd64. Preparing to unpack . /087-libfakeroot_1.21-3.1_amd64.deb . Unpacking libfakeroot:amd64 (1.21-3.1) . Selecting previously unselected package fakeroot. Preparing to unpack . /088-fakeroot_1.21-3.1_amd64.deb . Unpacking fakeroot (1.21-3.1) . Selecting previously unselected package libalgorithm-diff-perl. Preparing to unpack . /089-libalgorithm-diff-perl_1.19.03-1_all.deb . Unpacking libalgorithm-diff-perl (1.19.03-1) . Selecting previously unselected package libalgorithm-diff-xs-perl. Preparing to unpack . /090-libalgorithm-diff-xs-perl_0.04-4+b2_amd64.deb . Unpacking libalgorithm-diff-xs-perl (0.04-4+b2) . Selecting previously unselected package libalgorithm-merge-perl. Preparing to unpack . /091-libalgorithm-merge-perl_0.08-3_all.deb . Unpacking libalgorithm-merge-perl (0.08-3) . Selecting previously unselected package libexpat1-dev:amd64. Preparing to unpack . /092-libexpat1-dev_2.2.0-2+deb9u1_amd64.deb . Unpacking libexpat1-dev:amd64 (2.2.0-2+deb9u1) . Selecting previously unselected package libfile-fcntllock-perl. Preparing to unpack . /093-libfile-fcntllock-perl_0.22-3+b2_amd64.deb . Unpacking libfile-fcntllock-perl (0.22-3+b2) . Selecting previously unselected package libluajit-5.1-common. Preparing to unpack . /094-libluajit-5.1-common_2.0.4+dfsg-1_all.deb . Unpacking libluajit-5.1-common (2.0.4+dfsg-1) . Selecting previously unselected package libluajit-5.1-2:amd64. Preparing to unpack . /095-libluajit-5.1-2_2.0.4+dfsg-1+b1_amd64.deb . Unpacking libluajit-5.1-2:amd64 (2.0.4+dfsg-1+b1) . Selecting previously unselected package libluajit-5.1-dev:amd64. Preparing to unpack . /096-libluajit-5.1-dev_2.0.4+dfsg-1+b1_amd64.deb . Unpacking libluajit-5.1-dev:amd64 (2.0.4+dfsg-1+b1) . Selecting previously unselected package libpam0g-dev:amd64. Preparing to unpack . /097-libpam0g-dev_1.1.8-3.6_amd64.deb . Unpacking libpam0g-dev:amd64 (1.1.8-3.6) . Selecting previously unselected package libpcre16-3:amd64. Preparing to unpack . /098-libpcre16-3_2%3a8.39-3_amd64.deb . Unpacking libpcre16-3:amd64 (2:8.39-3) . Selecting previously unselected package libpcre32-3:amd64. Preparing to unpack . /099-libpcre32-3_2%3a8.39-3_amd64.deb . Unpacking libpcre32-3:amd64 (2:8.39-3) . Selecting previously unselected package libpcre3-dev:amd64. Preparing to unpack . /100-libpcre3-dev_2%3a8.39-3_amd64.deb . Unpacking libpcre3-dev:amd64 (2:8.39-3) . Selecting previously unselected package libsasl2-modules:amd64. Preparing to unpack . /101-libsasl2-modules_2.1.27

101-g0780600+dfsg-3_amd64.deb . Unpacking libsasl2-modules:amd64 (2.1.27

101-g0780600+dfsg-3) . Selecting previously unselected package libxext6:amd64. Preparing to unpack . /102-libxext6_2%3a1.3.3-1+b2_amd64.deb . Unpacking libxext6:amd64 (2:1.3.3-1+b2) . Selecting previously unselected package libxmuu1:amd64. Preparing to unpack . /103-libxmuu1_2%3a1.1.2-2_amd64.deb . Unpacking libxmuu1:amd64 (2:1.1.2-2) . Selecting previously unselected package manpages-dev. Preparing to unpack . /104-manpages-dev_4.10-2_all.deb . Unpacking manpages-dev (4.10-2) . Selecting previously unselected package rename. Preparing to unpack . /105-rename_0.20-4_all.deb . Unpacking rename (0.20-4) . Selecting previously unselected package rsync. Preparing to unpack . /106-rsync_3.1.2-1+deb9u1_amd64.deb . Unpacking rsync (3.1.2-1+deb9u1) . Selecting previously unselected package xauth. Preparing to unpack . /107-xauth_1%3a1.0.9-1+b2_amd64.deb . Unpacking xauth (1:1.0.9-1+b2) . Selecting previously unselected package zlib1g-dev:amd64. Preparing to unpack . /108-zlib1g-dev_1%3a1.2.8.dfsg-5_amd64.deb . Unpacking zlib1g-dev:amd64 (1:1.2.8.dfsg-5) . Selecting previously unselected package gnupg-l10n. Preparing to unpack . /109-gnupg-l10n_2.1.18-8

deb9u3_all.deb . Unpacking gnupg-l10n (2.1.18-8

deb9u3) . Selecting previously unselected package publicsuffix. Preparing to unpack . /110-publicsuffix_20181003.1334-0+deb9u1_all.deb . Unpacking publicsuffix (20181003.1334-0+deb9u1) . Setting up libquadmath0:amd64 (6.3.0-18+deb9u1) . Setting up libnpth0:amd64 (1.3-1) . Setting up libgomp1:amd64 (6.3.0-18+deb9u1) . Setting up libatomic1:amd64 (6.3.0-18+deb9u1) . Setting up readline-common (7.0-3) . Setting up perl-modules-5.24 (5.24.1-3+deb9u4) . Setting up libgdbm3:amd64 (1.8.3-14) . Setting up manpages (4.10-2) . Setting up libperl5.24:amd64 (5.24.1-3+deb9u4) . Setting up libnettle6:amd64 (3.3-1+b2) . Setting up git-man (1:2.11.0-3+deb9u4) . Setting up libpopt0:amd64 (1.16-10+b2) . Setting up libcc1-0:amd64 (6.3.0-18+deb9u1) . Setting up less (481-2.1) . debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline Setting up make (4.1-9.1) . Setting up libasan3:amd64 (6.3.0-18+deb9u1) . Setting up libnghttp2-14:amd64 (1.18.1-1) . Setting up libluajit-5.1-common (2.0.4+dfsg-1) . Setting up libxext6:amd64 (2:1.3.3-1+b2) . Setting up libldap-common (2.4.44+dfsg-5+deb9u2) . Setting up libcilkrts5:amd64 (6.3.0-18+deb9u1) . Setting up libreadline7:amd64 (7.0-3) . Setting up libubsan0:amd64 (6.3.0-18+deb9u1) . Setting up libtsan0:amd64 (6.3.0-18+deb9u1) . Setting up libsasl2-modules-db:amd64 (2.1.27

101-g0780600+dfsg-3) . Setting up linux-libc-dev:amd64 (4.9.130-2) . Setting up libsasl2-2:amd64 (2.1.27

101-g0780600+dfsg-3) . Setting up libksba8:amd64 (1.3.5-2) . Setting up libxmuu1:amd64 (2:1.1.2-2) . Setting up libtasn1-6:amd64 (4.10-1.1+deb9u1) . Setting up gnupg-l10n (2.1.18-8

deb9u3) . Setting up bzip2 (1.0.6-8.1) . Setting up rsync (3.1.2-1+deb9u1) . invoke-rc.d: could not determine current runlevel invoke-rc.d: policy-rc.d denied execution of restart. Setting up liblsan0:amd64 (6.3.0-18+deb9u1) . Setting up xauth (1:1.0.9-1+b2) . Setting up perl (5.24.1-3+deb9u4) . update-alternatives: using /usr/bin/prename to provide /usr/bin/rename (rename) in auto mode update-alternatives: warning: skip creation of /usr/share/man/man1/rename.1.gz because associated file /usr/share/man/man1/prename.1.gz (of link group rename) doesn’t exist Setting up libfile-fcntllock-perl (0.22-3+b2) . Setting up libssl1.0.2:amd64 (1.0.2l-2+deb9u3) . debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline Setting up libmpx2:amd64 (6.3.0-18+deb9u1) . Setting up libgmp10:amd64 (2:6.1.2+dfsg-1) . Setting up libssh2-1:amd64 (1.7.0-1) . Setting up patch (2.7.5-1+deb9u1) . Setting up krb5-locales (1.15-1+deb9u1) . Processing triggers for libc-bin (2.24-11+deb9u3) . Setting up publicsuffix (20181003.1334-0+deb9u1) . Setting up libunistring0:amd64 (0.9.6+really0.9.3-0.1) . Setting up xz-utils (5.2.2-1.2+b1) . update-alternatives: using /usr/bin/xz to provide /usr/bin/lzma (lzma) in auto mode update-alternatives: warning: skip creation of /usr/share/man/man1/lzma.1.gz because associated file /usr/share/man/man1/xz.1.gz (of link group lzma) doesn’t exist update-alternatives: warning: skip creation of /usr/share/man/man1/unlzma.1.gz because associated file /usr/share/man/man1/unxz.1.gz (of link group lzma) doesn’t exist update-alternatives: warning: skip creation of /usr/share/man/man1/lzcat.1.gz because associated file /usr/share/man/man1/xzcat.1.gz (of link group lzma) doesn’t exist update-alternatives: warning: skip creation of /usr/share/man/man1/lzmore.1.gz because associated file /usr/share/man/man1/xzmore.1.gz (of link group lzma) doesn’t exist update-alternatives: warning: skip creation of /usr/share/man/man1/lzless.1.gz because associated file /usr/share/man/man1/xzless.1.gz (of link group lzma) doesn’t exist update-alternatives: warning: skip creation of /usr/share/man/man1/lzdiff.1.gz because associated file /usr/share/man/man1/xzdiff.1.gz (of link group lzma) doesn’t exist update-alternatives: warning: skip creation of /usr/share/man/man1/lzcmp.1.gz because associated file /usr/share/man/man1/xzcmp.1.gz (of link group lzma) doesn’t exist update-alternatives: warning: skip creation of /usr/share/man/man1/lzgrep.1.gz because associated file /usr/share/man/man1/xzgrep.1.gz (of link group lzma) doesn’t exist update-alternatives: warning: skip creation of /usr/share/man/man1/lzegrep.1.gz because associated file /usr/share/man/man1/xzegrep.1.gz (of link group lzma) doesn’t exist update-alternatives: warning: skip creation of /usr/share/man/man1/lzfgrep.1.gz because associated file /usr/share/man/man1/xzfgrep.1.gz (of link group lzma) doesn’t exist Setting up libfakeroot:amd64 (1.21-3.1) . Setting up libluajit-5.1-2:amd64 (2.0.4+dfsg-1+b1) . Setting up openssl (1.1.0f-3+deb9u2) . Setting up libsqlite3-0:amd64 (3.16.2-5+deb9u1) . Setting up libalgorithm-diff-perl (1.19.03-1) . Setting up liblocale-gettext-perl (1.07-3+b1) . Setting up libmpfr4:amd64 (3.1.5-1) . Setting up libpcrecpp0v5:amd64 (2:8.39-3) . Setting up libpcre32-3:amd64 (2:8.39-3) . Setting up libmpc3:amd64 (1.0.3-1+b2) . Setting up binutils (2.28-5) . Setting up libffi6:amd64 (3.2.1-6) . Setting up libc-dev-bin (2.24-11+deb9u3) . Setting up libpcre16-3:amd64 (2:8.39-3) . Setting up libkeyutils1:amd64 (1.5.9-9) . Setting up libsasl2-modules:amd64 (2.1.27

101-g0780600+dfsg-3) . Setting up ca-certificates (20161130+nmu1+deb9u1) . debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline Updating certificates in /etc/ssl/certs. 151 added, 0 removed; done. Setting up manpages-dev (4.10-2) . Setting up libc6-dev:amd64 (2.24-11+deb9u3) . Setting up libassuan0:amd64 (2.4.3-2) . Setting up libitm1:amd64 (6.3.0-18+deb9u1) . Setting up libidn11:amd64 (1.33-1) . Setting up libluajit-5.1-dev:amd64 (2.0.4+dfsg-1+b1) . Setting up netbase (5.4) . Setting up zlib1g-dev:amd64 (1:1.2.8.dfsg-5) . Setting up libpam0g-dev:amd64 (1.1.8-3.6) . Setting up libpcre3-dev:amd64 (2:8.39-3) . Setting up libidn2-0:amd64 (0.16-1+deb9u1) . Setting up libgcc-6-dev:amd64 (6.3.0-18+deb9u1) . Setting up libstdc++-6-dev:amd64 (6.3.0-18+deb9u1) . Setting up liberror-perl (0.17024-1) . Setting up rename (0.20-4) . update-alternatives: using /usr/bin/file-rename to provide /usr/bin/rename (rename) in auto mode update-alternatives: warning: skip creation of /usr/share/man/man1/rename.1.gz because associated file /usr/share/man/man1/file-rename.1p.gz (of link group rename) doesn’t exist Setting up libpsl5:amd64 (0.17.0-3) . Setting up libdpkg-perl (1.18.25) . Setting up fakeroot (1.21-3.1) . update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode update-alternatives: warning: skip creation of /usr/share/man/man1/fakeroot.1.gz because associated file /usr/share/man/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn’t exist update-alternatives: warning: skip creation of /usr/share/man/man1/faked.1.gz because associated file /usr/share/man/man1/faked-sysv.1.gz (of link group fakeroot) doesn’t exist update-alternatives: warning: skip creation of /usr/share/man/es/man1/fakeroot.1.gz because associated file /usr/share/man/es/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn’t exist update-alternatives: warning: skip creation of /usr/share/man/es/man1/faked.1.gz because associated file /usr/share/man/es/man1/faked-sysv.1.gz (of link group fakeroot) doesn’t exist update-alternatives: warning: skip creation of /usr/share/man/fr/man1/fakeroot.1.gz because associated file /usr/share/man/fr/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn’t exist update-alternatives: warning: skip creation of /usr/share/man/fr/man1/faked.1.gz because associated file /usr/share/man/fr/man1/faked-sysv.1.gz (of link group fakeroot) doesn’t exist update-alternatives: warning: skip creation of /usr/share/man/sv/man1/fakeroot.1.gz because associated file /usr/share/man/sv/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn’t exist update-alternatives: warning: skip creation of /usr/share/man/sv/man1/faked.1.gz because associated file /usr/share/man/sv/man1/faked-sysv.1.gz (of link group fakeroot) doesn’t exist Setting up libkrb5support0:amd64 (1.15-1+deb9u1) . Setting up libhogweed4:amd64 (3.3-1+b2) . Setting up libalgorithm-merge-perl (0.08-3) . Setting up libisl15:amd64 (0.18-1) . Setting up dpkg-dev (1.18.25) . Setting up libalgorithm-diff-xs-perl (0.04-4+b2) . Setting up libp11-kit0:amd64 (0.23.3-2) . Setting up libexpat1-dev:amd64 (2.2.0-2+deb9u1) . Setting up pinentry-curses (1.0.0-2) . Setting up cpp-6 (6.3.0-18+deb9u1) . Setting up gnupg-agent (2.1.18-8

deb9u3) . Setting up cpp (4:6.3.0-4) . Setting up libk5crypto3:amd64 (1.15-1+deb9u1) . Setting up gnupg (2.1.18-8

deb9u3) . Setting up libgnutls30:amd64 (3.5.8-5+deb9u4) . Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-1+b1) . Setting up gcc-6 (6.3.0-18+deb9u1) . Setting up g++-6 (6.3.0-18+deb9u1) . Setting up libldap-2.4-2:amd64 (2.4.44+dfsg-5+deb9u2) . Setting up libkrb5-3:amd64 (1.15-1+deb9u1) . Setting up dirmngr (2.1.18-8

deb9u3) . Setting up gcc (4:6.3.0-4) . Setting up libgssapi-krb5-2:amd64 (1.15-1+deb9u1) . Setting up g++ (4:6.3.0-4) . update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode Setting up openssh-client (1:7.4p1-10+deb9u4) . Setting up build-essential (12.3) . Setting up libcurl3:amd64 (7.52.1-5+deb9u8) . Setting up libcurl3-gnutls:amd64 (7.52.1-5+deb9u8) . Setting up git (1:2.11.0-3+deb9u4) . Setting up curl (7.52.1-5+deb9u8) . Processing triggers for libc-bin (2.24-11+deb9u3) . Processing triggers for ca-certificates (20161130+nmu1+deb9u1) . Updating certificates in /etc/ssl/certs. 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d. done. % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 992k 100 992k 0 0 643k 0 0:00:01 0:00:01 —:—:— 643k Removing intermediate container 049abadf287d —> 5261fd8ab10f Step 4/7 : ARG modules —> Running in c8db8a98b17c Removing intermediate container c8db8a98b17c —> c4cea438972a Step 5/7 : RUN export NGINX_RAW_VERSION=$(echo $NGINX_VERSION | sed ‘s/-.*//g’) && cd /usr/src/nginx-$NGINX_RAW_VERSION && configure_args=»; IFS=’,’; for module in $; do module_repo=$(echo $module | sed -E ‘s@^(((https?|git)://)?[^:]+).*@1@g’); module_tag=$(echo $module | sed -E ‘s@^(((https?|git)://)?[^:]+):?([^:/]*)@4@g’); dirname=$(echo «$» | sed -E ‘s@^.*/|..*$@@g’); git clone «$«; cd $; if [ -n «$» ]; then git checkout «$«; fi; cd ..; configure_args=»$ —add-dynamic-module=./$«; done; unset IFS && eval ./configure $ && make modules && mkdir /modules && cp $(pwd)/objs/*.so /modules —> Running in 1155349c2281 Cloning into ‘nginx-upload-module’. checking for OS + Linux 4.15.0-39-generic x86_64 checking for C compiler . found + using GNU C compiler + gcc version: 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) 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 . 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 prctl(PR_SET_KEEPCAPS) . found checking for capabilities . 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_TRANSPARENT . found checking for IP_BINDANY . not found checking for IP_BIND_ADDRESS_NO_PORT . 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 clock_gettime(CLOCK_MONOTONIC) . 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 sysconf(_SC_LEVEL1_DCACHE_LINESIZE) . found checking for openat(), fstatat() . found checking for getaddrinfo() . found configuring additional dynamic modules adding module in ./nginx-upload-module + ngx_http_upload_module 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=

option. The command ‘/bin/sh -c export NGINX_RAW_VERSION=$(echo $NGINX_VERSION | sed ‘s/-.*//g’) && cd /usr/src/nginx-$NGINX_RAW_VERSION && configure_args=»; IFS=’,’; for module in $; do module_repo=$(echo $module | sed -E ‘s@^(((https?|git)://)?[^:]+).*@1@g’); module_tag=$(echo $module | sed -E ‘s@^(((https?|git)://)?[^:]+):?([^:/]*)@4@g’); dirname=$(echo «$» | sed -E ‘s@^.*/|..*$@@g’); git clone «$«; cd $; if [ -n «$» ]; then git checkout «$«; fi; cd ..; configure_args=»$ —add-dynamic-module=./$«; done; unset IFS && eval ./configure $ && make modules && mkdir /modules && cp $(pwd)/objs/*.so /modules’ returned a non-zero code: 1″>

The text was updated successfully, but these errors were encountered:

Источник

При установке nginx штатными средствами ОС в Linux (apt, aptitude, yum, dnf) нет возможности сконфигурировать его установку, чтобы добавить или убрать какие-либо модули и nginx устанавливается «как есть».

Что же делать, если нам необходимо добавить какой-либо модуль? Правильно, нужно пересобрать nginx вручную. О том, как это правильно сделать в Linux, рассказываем в статье.

Добавление модулей nginx в Linux (Debian/Ubuntu/CentOS/AlmaLinux)

Предположим, для примера, что нам необходимо добавить в nginx модуль http_mp4_module. Вывод команды nginx -V покажет нам, что nginx собран без него.

nginx -V

Результат:

nginx version: nginx/1.18.0 (Ubuntu)
built with OpenSSL 1.1.1f  31 Mar 2020
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-lUTckl/nginx-1.18.0=. 
-fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time 
-D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC' 
--prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log 
--error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid 
--modules-path=/usr/lib/nginx/modules --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 --with-debug 
--with-compat --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module 
--with-http_realip_module --with-http_auth_request_module --with-http_v2_module 
--with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module 
--with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic 
--with-http_sub_module --with-http_xslt_module=dynamic --with-stream=dynamic 
--with-stream_ssl_module --with-mail=dynamic --with-mail_ssl_module

Сохраним вывод команды nginx -V в какой-нибудь текстовый редактор — эта информация нам пригодится при конфигурировании. Видим, что версия nginx у нас установлена 1.18.0 — скачиваем такую же версию:

wget http://nginx.org/download/nginx-1.18.0.tar.gz

Распакуем архив и перейдём в папку nginx-1.18.0:

tar -xvf nginx-1.18.0.tar.gz
cd nginx-1.18.0

Далее для сборки нам потребуется установить в систему дополнительные пакеты.

Для Debian/Ubuntu выполняем:

apt install build-essential 

После предложения продолжить установку — Do you want to continue? [Y/n] — нажимаем Y.

Для CentOS/AlmaLinux выполняем:

yum install gcc gcc-c++ kernel-devel
yum groupinstall 'Development Tools'

После предложения продолжить установку — Is this ok [y/d/N] — нажимаем y.

После установки пакетов приступаем к конфигурированию nginx с добавлением модуля http_mp4_module.

Для этого копируем из текстового редактора вывод команды nginx -V, начиная с —prefix= и до первого —add-module= (все присутствующие в выводе —add_module= нам не нужны). После чего пишем в консоли ./configure и вставляем скопированное из редактора. В нашем случае есть вывод:

--add-dynamic-module=/build/nginx-d8gVax/nginx-1.18.0/debian/modules/http-geoip2

поэтому просто копируем все, кроме этой строки.

В конец строки добавляем —with-http_mp4_module чтобы получилось так:

./configure --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf 
--http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log 
--lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules 
--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 --with-debug --with-compat --with-pcre-jit 
--with-http_ssl_module --with-http_stub_status_module --with-http_realip_module 
--with-http_auth_request_module --with-http_v2_module --with-http_dav_module 
--with-http_slice_module --with-threads --with-http_addition_module --with-http_gunzip_module 
--with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_sub_module 
--with-http_xslt_module=dynamic --with-stream=dynamic --with-stream_ssl_module 
--with-mail=dynamic --with-mail_ssl_module --with-http_mp4_module

Нажимаем Enter и ждём окончания процесса.

В процессе конфигурирования возможно будут появляться ошибки. Способы их устранения описаны ниже.

Ошибка:

./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.

Для Debian/Ubuntu исправляется установкой libpcre++-dev:

apt install libpcre++-dev

Для CentOS/AlmaLinux исправляется установкой pcre-devel:

yum install pcre-devel

Ошибка:

./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.

Для Debian/Ubuntu:

apt install libssl-dev

Для CentOS/AlmaLinux:

yum install openssl-devel 

Ошибка:

./configure: error: the GeoIP module requires the GeoIP library.
You can either do not enable the module or install the library.

Для Debian/Ubuntu:

apt install libgeoip-dev

Для CentOS/AlmaLinux:

yum install GeoIP-devel

Ошибка:

./configure: error: the HTTP XSLT module requires the libxml2/libxslt
libraries. You can either do not enable the module or install the libraries.

Для Debian/Ubuntu:

apt install libxslt1-dev

Для CentOS/AlmaLinux:

yum install libxslt-devel

Ошибка:

./configure: error: the HTTP gzip module requires the zlib library
You can either do not enable the module or install the libraries.

Для Debian/Ubuntu:

apt install zlib1g-dev

Для CentOS/AlmaLinux:

yum install zlib-devel

Ошибка:

./configure: error: the HTTP image filter module requires the GD library.
You can either do not enable the module or install the libraries.

Для Debian/Ubuntu:

apt install libgd-dev

Для CentOS/AlmaLinux:

yum install gd gd-devel

Каждый раз после apt install или yum install недостающего пакета запускаем заново.

./configure --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf 
--http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log 
--lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules 
--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 --with-compat --with-debug --with-pcre-jit 
--with-http_ssl_module --with-http_stub_status_module --with-http_realip_module 
--with-http_auth_request_module --with-http_v2_module --with-http_dav_module 
--with-http_slice_module --with-threads --with-http_addition_module --with-http_gunzip_module 
--with-http_gzip_static_module --with-http_sub_module --with-http_mp4_module

После успешного окончания конфигурирования увидим на экране что-то вроде:

Configuration summary
  + using threads
  + using system PCRE library
  + using system OpenSSL library
  + using system zlib library

  nginx path prefix: "/usr/share/nginx"
  nginx binary file: "/usr/share/nginx/sbin/nginx"
  nginx modules path: "/usr/lib/nginx/modules"
  nginx configuration prefix: "/etc/nginx"
  nginx configuration file: "/etc/nginx/nginx.conf"
  nginx pid file: "/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"

Теперь можно собрать бинарник nginx — выполняем 2 команды:

make
make install

По окончании сборки проверяем, что nginx собрался с нужным нам модулем:

/usr/share/nginx/sbin/nginx -V

Результат:

nginx version: nginx/1.18.0
built by gcc 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
built with OpenSSL 1.1.1f  31 Mar 2020
TLS SNI support enabled
configure arguments: --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf 
--http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log 
--lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules 
--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 --with-debug --with-compat --with-pcre-jit 
--with-http_ssl_module --with-http_stub_status_module --with-http_realip_module 
--with-http_auth_request_module --with-http_v2_module --with-http_dav_module 
--with-http_slice_module --with-threads --with-http_addition_module --with-http_gunzip_module 
--with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_sub_module 
--with-http_xslt_module=dynamic --with-stream=dynamic --with-stream_ssl_module 
--with-mail=dynamic --with-mail_ssl_module --with-http_mp4_module

Как видим, --with-http_mp4_module в выводе команды присутствует — всё получилось. Осталось заменить текущий бинарник nginx новым, который мы только что собрали.

Останавливаем nginx:

systemctl stop nginx

Переименовываем (на всякий случай) текущий nginx в nginx_back:

mv /usr/sbin/nginx /usr/sbin/nginx_back

Перемещаем на его место новый собраный бинарник:

mv /usr/share/nginx/sbin/nginx /usr/sbin/nginx

Удаляем ненужную больше папку /etc/nginx/sbin:

rm -Rf /usr/share/nginx/sbin

Проверяем ещё раз, что nginx у нас теперь тот, что нужно:

nginx -V

Результат:

nginx version: nginx/1.18.0
built by gcc 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
built with OpenSSL 1.1.1f  31 Mar 2020
TLS SNI support enabled
configure arguments: --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf 
--http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log 
--lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules 
--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 --with-debug --with-compat --with-pcre-jit 
--with-http_ssl_module --with-http_stub_status_module --with-http_realip_module 
--with-http_auth_request_module --with-http_v2_module --with-http_dav_module 
--with-http_slice_module --with-threads --with-http_addition_module --with-http_gunzip_module 
--with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_sub_module 
--with-http_xslt_module=dynamic --with-stream=dynamic --with-stream_ssl_module 
--with-mail=dynamic --with-mail_ssl_module --with-http_mp4_module

Запускаем nginx:

systemctl start nginx

Удаляем ненужную больше папку и архив nginx-1.8.1:

cd ../
rm -Rf nginx-1.18.0/
rm -Rf nginx-1.18.0.tar.gz

I was trying to install node.js and found OpenSSL support missing during ./configure.

How can I fix it? Is it a mandatory step? Would the --without-ssl option fix the problem?

# ./configure

Checking for gcc                         : ok
Checking for library dl                  : not found
Checking for openssl                     : not found
Checking for function SSL_library_init   : not found
Checking for header openssl/crypto.h     : not found
/home/ec2-user/node-v0.6.6/wscript:374: error: Could not autodetect OpenSSL 
                                               support.

Make sure OpenSSL development packages are installed. Use configure --without-ssl 
to disable this message.

Bradd Szonye's user avatar

asked Dec 27, 2011 at 9:51

P K's user avatar

1

Yes, it’s a mandatory step. You cannot remove OpenSSL from a program uses it, the same way you couldn’t remove random engine parts from a car.

The OpenSSL library is usually already installed, but you have to install the header files. Depending on your Linux distribution, you’ll need these packages:

  • Red Hat, Fedora, CentOS — openssl-devel
  • Debian, Ubuntu — libssl-dev
  • Arch — openssl

Technically one could replace OpenSSL with, say, NSS, but that’s not the point here.

answered Dec 27, 2011 at 10:41

user1686's user avatar

user1686user1686

401k59 gold badges846 silver badges916 bronze badges

4

debian:

apt-get install libssl-dev

apt-get install linux-headers-$(uname -r)

Kevin Panko's user avatar

Kevin Panko

7,22622 gold badges43 silver badges52 bronze badges

answered Oct 7, 2014 at 18:18

Albert E's user avatar

Albert EAlbert E

1211 silver badge2 bronze badges

5

No, it isn’t.

You can still compile nodejs with ./configure --without-ssl

Kevin Panko's user avatar

Kevin Panko

7,22622 gold badges43 silver badges52 bronze badges

answered Jun 15, 2012 at 6:23

grigoris's user avatar

grigorisgrigoris

511 silver badge1 bronze badge

This is showing up on Google for a problem that may come up with some installations — possibly links-g. I had the problem on Archlinux with links-utf8 and links-g-directfb.

Likely presentation:

checking OPENSSL_CFLAGS... 
checking OPENSSL_LIBS... -lssl -lcrypto 
checking for OpenSSL... no
configure: error: OpenSSL not found

Try this:

sed -i "/ac_cpp=/s/$CPPFLAGS/$CPPFLAGS -O2/" configure

Using this command before your ./configure step should fix it.

Kevin Panko's user avatar

Kevin Panko

7,22622 gold badges43 silver badges52 bronze badges

answered Jul 1, 2013 at 22:48

anon_ssl_angel's user avatar

1

You must install openssl-devel in your OS with:

yum install openssl-devel.x86_64

./configure --with-tls

make install

Leathe's user avatar

Leathe

7644 silver badges11 bronze badges

answered Nov 10, 2015 at 10:10

bedjaoui djounaydi's user avatar

If you don’t succeed with libssl-dev only, over Debian distro, you could include both SSL Library versions same time

apt-get install libssl-dev libssl1.0

answered Feb 11, 2019 at 14:31

PYK's user avatar

Не могу собрать сборку Nginx + Rtmp, 3 дня тому назад установил  ubuntu и собрал сборку, сегодня удалил и чистую поставил ubuntu, но теперь не могу собрать сборку.

ive@live-P5KC:/usr/src/nginx-1.8.0$ sudo ./configure --with-http_xslt_module --without-http_rewrite_module  --add-module=//usr/src/nginx-rtmp-module/          checking for OS
 + Linux 3.19.0-25-generic x86_64
checking for C compiler ... found
 + using GNU C compiler
 + gcc version: 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04)
checking for gcc -pipe switch ... found
checking for gcc builtin atomic operations ... found
checking for C99 variadic macros ... found
checking for gcc variadic macros ... 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 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 sched_setaffinity() ... 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 SO_SETFIB ... not found
checking for SO_ACCEPTFILTER ... not 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 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 setproctitle() ... not found
checking for pread() ... found
checking for pwrite() ... 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/src/nginx-rtmp-module/
 + ngx_rtmp_module was configured
checking for OpenSSL library ... 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.

ive@live-P5KC:/usr/src/nginx-1.8.0$ sudo openssl version -a
OpenSSL 1.0.1f 6 Jan 2014
built on: Thu Jun 11 15:28:12 UTC 2015
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx)
compiler: cc -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/lib/ssl"

./configure ... 

Install an error when performing environmental pre -testing:

./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.

If this error message appears, it means that nginx has related front dependencies that openssl-devel is not installed

[[email protected] nginx-1.12.2]# yum -y install openssl openssl-devel
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: repo.virtualhosting.hk
 * epel: hkg.mirror.rackspace.com
 * extras: mirror.xtom.com.hk
 * updates: mirror-hk.koddos.net
Resolving Dependencies
--> Running transaction check
---> Package openssl.x86_64 1:1.0.2k-22.el7_9 will be updated
...
...
Installed:
  openssl-devel.x86_64 1:1.0.2k-24.el7_9                                                                                                                                                                                                    
Dependency Installed:
  keyutils-libs-devel.x86_64 0:1.5.8-3.el7   krb5-devel.x86_64 0:1.15.1-51.el7_9   libcom_err-devel.x86_64 0:1.42.9-19.el7   libkadm5.x86_64 0:1.15.1-51.el7_9   libselinux-devel.x86_64 0:2.5-15.el7   libsepol-devel.x86_64 0:2.5-10.el7  
  libverto-devel.x86_64 0:0.2.5-4.el7       
Updated:
  openssl.x86_64 1:1.0.2k-24.el7_9                                                                                                                                                                                                          
Dependency Updated:
  openssl-libs.x86_64 1:1.0.2k-24.el7_9                                                                                                                                                                                                     
Complete!

Execute it again after installation

[[email protected] nginx-1.12.2]# ./configure --prefix=/opt/nginx/ --user=nginx --group=nginx --with-pcre --with-http_v2_module --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-mail_ssl_module --with-file-aio --with-http_v2_module --with-threads --with-stream --with-stream_ssl_module

The error is not there,

Configuration summary
  + using threads
  + using system PCRE library
  + using system OpenSSL library
  + using system zlib library
  nginx path prefix: "/opt/nginx/"
  nginx binary file: "/opt/nginx//sbin/nginx"
  nginx modules path: "/opt/nginx//modules"
  nginx configuration prefix: "/opt/nginx//conf"
  nginx configuration file: "/opt/nginx//conf/nginx.conf"
  nginx pid file: "/opt/nginx//logs/nginx.pid"
  nginx error log file: "/opt/nginx//logs/error.log"
  nginx http access log file: "/opt/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"

Continue to execute the compilation and installation command

[[email protected] nginx-1.12.2]# make && make install

Get it!

В данной статье я хочу рассмотреть установку веб-сервера Nginx самой последней версии, на примере операционной системы Ubuntu Server 16.04. В качестве основы будущего сервера эта операционная система была выбрана не случайно, выбор системы основывался на определенной версии встроенных библиотек OpenSSL.

Дело в том, что изначально было задумано постепенно перевести сайт на HTTPS шифрование, дополнительно прикрутив поддержку нового протокола HTTP/2, а для этого необходимо наличие библиотек OpenSSL не ниже 1.0.2 версии. На данный момент нужная версия библиотек OpenSSL присутствует лишь в Ubuntu Server 16.04, которая поставляется с ними «из коробки».

openssl ubuntuКонечно версию библиотек можно и обновить, можно собрать Nginx с нужными библиотеками, но зачем совершать лишние движения, тем более что все делается с нуля? Поэтому выбор был очевиден, но что-то я отвлекся, продолжаем ближе к теме.

В системных репозиториях любой ОС всегда присутствует устаревшая версия сервера Nginx. На момент написания статьи в системных репозиториях Ubuntu Server 16.04 была доступна 1.10.0 версия, вышедшая 26 апреля 2016 года, в то время как на оф. сайте Nginx была доступна версия 1.11.10. Временной промежуток между выходом версий составляет около года.

Естественно, я решил собрать сервер из исходников, хотя можно добавить nginx-репозитории в систему и установить Nginx непосредственно из них, но в силу своей природной лени я отвергаю лишние действия, пусть даже из-за этого и придется идти более сложным путем. Хотя в данном случае, процесс сборки софта из исходников я не нахожу особо сложным в сравнении с обычной установкой.

Помимо последних версий ПО, сборка из исходников подразумевает возможность более тонкой настройки сервера, путем добавления нужных или удаления ненужных модулей, тем более что в дальнейшем сервер всегда может быть пересобран с целью добавления чего-то необходимого.

Для сборки софта из исходников должны присутствовать необходимые пакеты.

apt-get install build-essential libpcre++-dev libssl-dev -y

Все дальнейшие действия будут происходить внутри определенной директории, по умолчанию для подобных целей я привык использовать каталог /usr/local/src.

cd /usr/local/src

Необходимо узнать последнюю версию сервера. Сделать это можно на оф. сайте Nginx, версии основной (mainline) ветки публикуются на главной странице.

После того как определились с версией сервера, скачиваем архив с исходниками.

wget http://nginx.org/download/nginx-1.11.10.tar.gz

Распаковываем архив, после чего сразу переходим в каталог с исходниками.

tar -zxvf nginx-1.11.10.tar.gz && cd nginx-1.11.10

Теперь необходимо задать конфигурацию сервера, добавить нужные и убрать ненужные модули. Со списком модулей и их описанием можно ознакомиться в документации Nginx, в справочнике по модулям. Привожу свой список опций с которыми будет собран сервер.

Все только самое необходимое, если что-то понадобится впоследствии, то лучше собрать сервер повторно и добавить нужные модули или опции.

# Задаем директории и конфигурационные файлы сервера
--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
--pid-path=/var/run/nginx.pid
--lock-path=/var/run/nginx.lock
--http-client-body-temp-path=/var/cache/nginx/client_temp
--http-proxy-temp-path=/var/cache/nginx/proxy_temp
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp

# Задаем пользователя и группу для управления сервером
--user=nginx
--group=nginx

# Убираем ненужные модули
--without-http_autoindex_module / Убираем вывод содержимого каталогов
--without-http_ssi_module / Убираем обработку SSI команд
--without-http_scgi_module / Убираем модуль запросов к SCGI-серверу
--without-http_uwsgi_module / Убираем модуль запросов к UWSGI-серверу
--without-http_geo_module / Убираем модуль переменных в зависимости от IP-адреса клиента
--without-http_split_clients_module / Убираем модуль переменных для "split-тестирования"
--without-http_memcached_module / Убираем memcached модуль
--without-http_empty_gif_module / Убираем модуль позволяющий выдавать однопиксельный прозрачный GIF
--without-http_browser_module / Убираем модуль переменных зависящих от значения "User-Agent" в заголовке запроса

# Добавляем нужные модули
--with-http_ssl_module / Обеспечение работы по протоколу HTTPS
--with-http_v2_module / Обеспечение поддержки HTTP/2 протокола
--with-http_realip_module / Замена адреса клиента на адрес переданный в заголовке
--with-http_mp4_module / Поддержка стриминга MP4 файлов
--with-http_auth_request_module / Авторизация клиента на результате подзапроса
--with-http_stub_status_module / Предоставление доступа к базовой информации о сервере
--with-http_random_index_module / Обслуживание запросов оканчивающихся "/"
--with-http_gunzip_module / Распаковка ответов для тех клиентов, кто не поддерживает метод сжатия "gzip"

# Добавляем нужные опции
--with-threads / для настройки пула потоков

Вся вышеописанная конфигурация задается одной командой.

./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 --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --user=nginx --group=nginx --without-http_autoindex_module --without-http_ssi_module --without-http_scgi_module --without-http_uwsgi_module --without-http_geo_module --without-http_split_clients_module --without-http_memcached_module --without-http_empty_gif_module --without-http_browser_module --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_mp4_module --with-http_auth_request_module --with-http_stub_status_module --with-http_random_index_module --with-http_gunzip_module --with-threads

Если при конфигурации сервера у вас возникли какие либо ошибки, то это означает, что вы что-то забыли установить из списка необходимых пакетов в начале статьи. Найдите свою ошибку в списке и установите нужные пакеты, после чего выполните команду ./configure заново.

# Ошибки могущие возникнуть в процессе сборки.

--------------------------------------------------------------------------------
./configure: error: the HTTP rewrite module requires the PCRE library.

apt-get install -y libpcre++-dev
--------------------------------------------------------------------------------
./configure: error: SSL modules require the OpenSSL library.

apt-get install -y libssl-dev

Если по завершению не было никаких ошибок, а в конце создан Makefile и указана суммарная конфигурация, то можно переходить непосредственно к установке Nginx.

creating objs/Makefile

Configuration summary
  + using threads
  + using system PCRE library
  + using system OpenSSL library
  + 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/cache/nginx/client_temp"
  nginx http proxy temporary files: "/var/cache/nginx/proxy_temp"
  nginx http fastcgi temporary files: "/var/cache/nginx/fastcgi_temp"

Выполняем компиляцию и последующую установку сервера.

make && make install

После того как установка будет завершена, можно посмотреть версию установленного сервера, выполнив команду nginx -V.

nginx -V
nginx version: nginx/1.11.10
built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 
built with OpenSSL 1.0.2g  1 Mar 2016
TLS SNI support enabled
configure arguments: --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 --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --user=nginx --group=nginx --without-http_autoindex_module --without-http_ssi_module --without-http_scgi_module --without-http_uwsgi_module --without-http_geo_module --without-http_split_clients_module --without-http_memcached_module --without-http_empty_gif_module --without-http_browser_module --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_mp4_module --with-http_auth_request_module --with-http_stub_status_module --with-http_random_index_module --with-http_gunzip_module --with-threads

В выводе можно увидеть конфигурацию использованную при сборке, данная информация может пригодиться впоследствии, если вдруг потребуется пересобрать сервер.

Следующим шагом будет создание пользователя, системной службы и директорий необходимых для работы Nginx.

Создадим пользователя nginx, зададим командную оболочку /usr/sbin/nologin, запрещающую удаленный доступ и обозначающую пользователя как системного.

useradd -s /usr/sbin/nologin nginx

Создаем каталоги необходимые для работы сервера.

# Обязательно, а то не запустится служба:
mkdir /var/cache/nginx

# Могут быть кастомными, я делаю по привычке следующий набор:
mkdir /etc/nginx/conf/
mkdir /etc/nginx/sites-enabled/
mkdir /etc/nginx/sites-available/
mkdir /etc/nginx/common/

# Можно создать все одной командой:
mkdir /var/cache/nginx && mkdir /etc/nginx/conf/ && mkdir /etc/nginx/sites-enabled/ && mkdir /etc/nginx/sites-available/ && mkdir /etc/nginx/common/

Создадим символическую ссылку.

ln -s /usr/sbin/nginx /bin/nginx

Создаем службу nginx.service.

# Создаем конфигурационный файл nginx.service
nano /lib/systemd/system/nginx.service

# Содержание файла nginx.service:

[Unit]
Description=A high performance web server and a reverse proxy server
After=network.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload
ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /var/run/nginx.pid
TimeoutStopSec=5
KillMode=mixed

[Install]
WantedBy=multi-user.target

Добавляем службу nginx.service в автозагрузку и запускаем.

# Запуск и добавление в автозагрузку.
systemctl enable nginx.service
systemctl start nginx.service

Проверяем как работает командой status.

systemctl status nginx.service
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Пт 2017-03-17 03:51:20 MSK; 6s ago
  Process: 4777 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 4771 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 4781 (nginx)
    Tasks: 2
   Memory: 1.2M
      CPU: 17ms
   CGroup: /system.slice/nginx.service
           ├─4781 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
           └─4782 nginx: worker process                           

мар 17 03:51:20 test1 systemd[1]: Starting A high performance web server and a reverse proxy server...
мар 17 03:51:20 test1 systemd[1]: nginx.service: Failed to read PID from file /var/run/nginx.pid: Invalid argument
мар 17 03:51:20 test1 systemd[1]: Started A high performance web server and a reverse proxy server.

Если сейчас обратиться к серверу по его IP-адресу, должна отобразиться страница «Welcome to nginx!». Если страница отображается, значит все в порядке, сервер запущен и работает.

nginx ubuntuВ следующей статье можно узнать как настраивать Nginx.

Понравилась статья? Поделить с друзьями:
  • Ubuntu ошибка при установке службы общего доступа
  • Ubuntu ошибка при загрузке информации об источниках приложений ubuntu
  • Ubuntu error ragent file does not exists
  • Ubuntu error no such partition
  • Ubuntu error loading operating system