Invalid command ‘Order’, perhaps misspelled or defined by a module not included in the server configuration failed

Solution 1:

I just had the same problem while upgrading from openSUSE 13.2 to openSUSE Leap 42.1.

The problem is not a missing module in the apache2-configuration.

The problem is the upgrade from apache 2.2 to apache 2.4. "Order" and "Allow" have to be rewritten as follows (example):

in 2.2:

Order allow,deny
Allow from all

in 2.4:

Require all granted

You can find more options an examples here: Upgrading apache2

Solution 2:

On SUSE 12, authz_host was already enabled, so I needed to follow willoller's comment and enable mod_access_compat:

a2enmod mod_access_compat
service apache2 restart

Solution 3:

With Apache 2.4 please uncomment/add the following modules:

LoadModule access_compat_module modules/mod_access_compat.so
LoadModule authz_host_module modules/mod_authz_host.so

Solution 4:

You need to enable the authz_host module. Here is the Apache documentation on that module.

I'm not sure what Linux distribution you are using but here are some examples.

Ubuntu:

sudo a2enmod authz_host
sudo service apache2 restart

RHEL:

vi /etc/httpd/conf/httpd.conf

# Make sure this line is not commented:
...
LoadModule authz_host_module modules/mod_authz_host.so
...