Unknown directive "access_by_lua_file" in nginx conf

(Edit by Alex : This was after a apt-get dist-upgrade)

After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
[master 1efd47e] saving uncommitted changes in /etc prior to apt run
 Author: root <root@localhost>
 1 file changed, 2 insertions(+), 2 deletions(-)
Setting up libnginx-mod-http-auth-pam (1.12.1-1~dotdeb+8.1) ...
nginx: [emerg] unknown directive "access_by_lua_file" in /etc/nginx/conf.d/domain.tld.conf:6
dpkg: error processing package libnginx-mod-http-auth-pam (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up libnginx-mod-http-geoip (1.12.1-1~dotdeb+8.1) ...
nginx: [emerg] unknown directive "access_by_lua_file" in /etc/nginx/conf.d/domain.tld.conf:6
dpkg: error processing package libnginx-mod-http-geoip (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up libnginx-mod-http-image-filter (1.12.1-1~dotdeb+8.1) ...
nginx: [emerg] unknown directive "access_by_lua_file" in /etc/nginx/conf.d/domain.tld.conf:6
dpkg: error processing package libnginx-mod-http-image-filter (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up libnginx-mod-http-ndk (1.12.1-1~dotdeb+8.1) ...
nginx: [emerg] unknown directive "access_by_lua_file" in /etc/nginx/conf.d/domain.tld.conf:6
dpkg: error processing package libnginx-mod-http-ndk (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of libnginx-mod-http-lua:
 libnginx-mod-http-lua depends on libnginx-mod-http-ndk (= 1.12.1-1~dotdeb+8.1); however:
  Package libnginx-mod-http-ndk is not configured yet.

dpkg: error processing package libnginx-mod-http-lua (--configure):
 dependency problems - leaving unconfigured
Setting up libnginx-mod-http-perl (1.12.1-1~dotdeb+8.1) ...
nginx: [emerg] unknown directive "access_by_lua_file" in /etc/nginx/conf.d/domain.tld.conf:6
dpkg: error processing package libnginx-mod-http-perl (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up libnginx-mod-http-xslt-filter (1.12.1-1~dotdeb+8.1) ...
nginx: [emerg] unknown directive "access_by_lua_file" in /etc/nginx/conf.d/domain.tld.conf:6
dpkg: error processing package libnginx-mod-http-xslt-filter (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up libnginx-mod-mail (1.12.1-1~dotdeb+8.1) ...
nginx: [emerg] unknown directive "access_by_lua_file" in /etc/nginx/conf.d/domain.tld.conf:6
dpkg: error processing package libnginx-mod-mail (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up libnginx-mod-stream (1.12.1-1~dotdeb+8.1) ...
nginx: [emerg] unknown directive "access_by_lua_file" in /etc/nginx/conf.d/domain.tld.conf:6
dpkg: error processing package libnginx-mod-stream (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of nginx-extras:
 nginx-extras depends on libnginx-mod-http-geoip (= 1.12.1-1~dotdeb+8.1); however:
  Package libnginx-mod-http-geoip is not configured yet.
 nginx-extras depends on libnginx-mod-http-image-filter (= 1.12.1-1~dotdeb+8.1); however:
  Package libnginx-mod-http-image-filter is not configured yet.
 nginx-extras depends on libnginx-mod-http-xslt-filter (= 1.12.1-1~dotdeb+8.1); however:
  Package libnginx-mod-http-xslt-filter is not configured yet.
 nginx-extras depends on libnginx-mod-mail (= 1.12.1-1~dotdeb+8.1); however:
  Package libnginx-mod-mail is not configured yet.
 nginx-extras depends on libnginx-mod-stream (= 1.12.1-1~dotdeb+8.1); however:
  Package libnginx-mod-stream is not configured yet.
 nginx-extras depends on libnginx-mod-http-auth-pam (= 1.12.1-1~dotdeb+8.1); however:
  Package libnginx-mod-http-auth-pam is not configured yet.
 nginx-extras depends on libnginx-mod-http-lua (= 1.12.1-1~dotdeb+8.1); however:
  Package libnginx-mod-http-lua
dpkg: error processing package nginx-extras (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 libnginx-mod-http-auth-pam
 libnginx-mod-http-geoip
 libnginx-mod-http-image-filter
 libnginx-mod-http-ndk
 libnginx-mod-http-lua
 libnginx-mod-http-perl
 libnginx-mod-http-xslt-filter
 libnginx-mod-mail
 libnginx-mod-stream
 nginx-extras
E: Sub-process /usr/bin/dpkg returned an error code (1)

Can you please provide some context :sob: ? What have you been trying to do to get this …

I did sudo apt-get dist-upgrade and ended with this.

You should check your apt sources, may be you have accidentally upgrade to stretch ?

/etc/apt/sources.list

And

/etc/apt/sources.list.d/*

It could be an unofficial app that add backport too.

sources look like this:
deb http://mirrors.digitalocean.com/debian jessie main
deb-src http://mirrors.digitalocean.com/debian jessie main

deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main

jessie-updates, previously known as ‘volatile’

deb http://mirrors.digitalocean.com/debian jessie-updates main
deb-src http://mirrors.digitalocean.com/debian jessie-updates main

So after investigating this on the chat, it turns out that this was definitely because of backports (in /etc/apt/sources.list.d/).

To solve this, we had to force the downgrade of nginx from 1.12.1 to 1.6.2. This was not easy to do :confused:

If you are reading this and encountered the same issue, you can try this procedure (though it’s not exactly what we did because we were still trying to guess while doing it) :

# Remove the backports (or comment the line ...)
rm /etc/apt/sources.list.d/backports.list
apt-get update

# Start with some black magic
mv /usr/sbin/nginx /usr/sbin/nginx_bkp
cp /bin/true /usr/sbin/nginx

# Use moar black magic to remove useless packages (which depend on nginx 1.12) without removing nginx
dpkg --purge --force-depends libnginx-mod-http-auth-pam libnginx-mod-http-geoip libnginx-mod-http-image-filter libnginx-mod-http-lua libnginx-mod-http-ndk libnginx-mod-http-perl libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream

# Now downgrade to nginx 1.6.2
apt-get install nginx=1.6.2-5+deb8u4 nginx-extras=1.6.2-5+deb8u4 nginx-common=1.6.2-5+deb8u4

At some point when doing this, we noticed that yunohost disappeared… Simply reinstall yunohost (via apt-get install yunohost yunohost-admin) did the trick to have it back.

1 Like

apt-get install nginx=1.6.2-5+deb8u4 nginx-extras=1.6.2-5+deb8u4 nginx-common=1.6.2-5+deb8u4

This doesn’t work for me.
The packages are not found :confused:

(if I do apt-cache show nginx the version exists)

Well you probably are on Stretch nowadays ? The version should be 1.10.3-1+deb9u1

Still not found :confused:

Hum… in fact that was the version in the backports, because it installed it after an upgrade today.
Then nginx wasn’t working (because of this lua issue).

Ok I solved the problem by activating the backports again, removing nginx (and yunohost with it), then apt install nginx-common=1.6.2-5+deb8u5 nginx-extras yunohost yunohost-admin ssowat nginx
(so it’s Nginx 1.14 with nginx-common 1.6.2-5… we’ll see :smile:)