Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, root@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
In Apache error log, entry similar to the following is recorded:
[crit] [client 192.168.1.7] configuration error: couldn’t perform authentication. AuthType not set!: /techjourney.html
The error commonly happens after migrating or moving of websites to another environment or host, and normally involving different versions of Apache HTTPD web server running on the system.
Cause
The cause of the issue is due to enhanced security since Apache version 2.4 which supports different configuration options and directives. The specific directive causing the problem is Require. For example,
<Directory “/var/www/html”>
AllowOverride None
Require all granted
</Directory>
The above Apache configuration works only in Apache 2.4 and newer, as Apache 2.4 and newer versions use a new authentication mechanisms rather than Order, Allow, Deny, and Satisfy access control idioms in Apache 2.2 and older versions.
Solution
To fix the 500 Internal Server Error caused by AuthType not set error, just remove complete all Require directives in httpd.conf or apache2.conf when running in Apache 2.2 or older.
<IfVersion < 2.3>
Allow from all
</IfVersion>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
Note that the trick above requires version module enabled in Apache HTTPD server. To enable it, you can insert the line “LoadModule version_module modules/mod_version.so” (without quotes) in httpd.conf or apache2.conf, or run the “a2enmod version” (without quotes) command.