BreadCrumbs: Apache

Apache

From Luke Jackson

(Difference between revisions)
Jump to: navigation, search
Revision as of 02:42, 12 October 2020 (edit)
Ljackson (Talk | contribs)
(FAQs)
← Previous diff
Revision as of 02:43, 12 October 2020 (edit)
Ljackson (Talk | contribs)
(Access forbidden! You don't have access to the requested directory...)
Next diff →
Line 61: Line 61:
touch index.htm touch index.htm
-=== Directory index forbidden by Options directive: /www/<Virtual-Host-Path-HERE>/htdocs/+=== Directory index forbidden by Options directive: /www/<Virtual-Host-Path-HERE>/htdocs/ ===
Previously the Apache server was configured to list files present in the root folder of any Virtual Host if a .htaccess file with the correction Options permissions was present. Presumably after an upgrade via yum at some point the addition of the following was added to the conf.d folder Previously the Apache server was configured to list files present in the root folder of any Virtual Host if a .htaccess file with the correction Options permissions was present. Presumably after an upgrade via yum at some point the addition of the following was added to the conf.d folder
Line 78: Line 78:
</LocationMatch> </LocationMatch>
</pre> </pre>
- 
- 
=== Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration === === Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration ===

Revision as of 02:43, 12 October 2020

Contents

FAQs

How to redirect HTTP to HTTPS using mod_rewrite.

The following configuration will configure Apache to automatically redirect HTTP requests to HTTPS, i.e. http://www.website.com to https://www.website.com.

httpd.conf:

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [L,R]

.htaccess:

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [L,R]

Remember, if you put this rule in the main server configuration file (usually httpd.conf) rather than an .htaccess file, you'll need to use "^/" instead of "^" at the beginning of the RewriteRule line. Because of this there are two code snippets above, one for httpd.conf and one for .htaccces.

How do I change the length of the URLs generated by mod_autoindex?

The NameWidth keyword allows you to specify the width of the filename column in bytes.

  • -NameWidth (or unset) allows mod_autoindex to calculate the best width.
  • NameWidth=n fixes the column width to n bytes wide.
  • NameWidth=* grows the column to the necessary width.

Below is an example on how to edit your httpd.conf file to enable unlimited characters:

# IndexOptions: Controls the appearance of server-generated directory
# listings.
#
IndexOptions FancyIndexing VersionSort NameWidth=*

(13)Permission denied: /www/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

This can range in exact location but at the core it is a permissions issue.

  • While child directories of the DocumentRoot can have a permission value of 744 the DocumentRoot needs to have a permission of 755.
  • Ensure all .htaccess files have a permission of 755
chmod -R 755 <dir_or_file(s)>

Access forbidden! You don't have access to the requested directory...

There is either no index document or the directory is read-protected.

Allow Directory Listing

  • Create .htaccess file in the affected directory and copy the text below into the file.
Options FollowSymLinks ExecCGI Indexes

Create DirectoryIndex File

  • Determine Allowable DirectoryIndex extensions from the DirectoryIndex line in your httpd.conf file.
  • Create an empty file in the affected directory.
touch index.htm

Directory index forbidden by Options directive: /www/<Virtual-Host-Path-HERE>/htdocs/

Previously the Apache server was configured to list files present in the root folder of any Virtual Host if a .htaccess file with the correction Options permissions was present. Presumably after an upgrade via yum at some point the addition of the following was added to the conf.d folder

-rw-r--r--  1 root root  299 Oct 11 22:33 welcome.conf
# This configuration file enables the default "Welcome"
# page if there is no default index page present for
# the root URL.  To disable the Welcome page, comment
# out all the lines below.
#
<LocationMatch "^/+$">
    Options -Indexes
    ErrorDocument 403 /error/noindex.html
</LocationMatch>

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

mod_access has changed to authz_host_module. Please load the following module to httpd.conf:

LoadModule authz_host_module modules/mod_authz_host.so

Invalid command 'AuthGroupFile', perhaps misspelled or defined by a module not included in the server configuration

LoadModule authz_groupfile_module modules/mod_authz_groupfile.so

configuration error: couldn't check access. No groups file?: /

LoadModule authz_user_module modules/mod_authz_user.so

Enforce password authentication unless accessing from local network

Add the following lines to your .htaccess file:

AuthUserFile /www/server.com/stuff/htdocs/.htpasswd
AuthGroupFile /dev/null
AuthName "Secrets :)"
AuthType Basic

require valid-user
Allow from 192.168.85.0/24
Satisfy Any

Options FollowSymLinks ExecCGI Indexes
Personal tools