====== Access Control With .Htaccess ======
===== What does .htaccess actually do? =====
.htaccess-files are hidden files, which are processed by the Apache Webserver. Depending on the configuration of Apache2 the .htaccess-files can modify the behaviour of the webserver, e.g. by modifying values of modules (Rewrite, Expires, ...) .
===== How to password-protection of files and directories =====
Within the documentroot of your webspace-subscription the .htaccess-file can be used to password-protect a custom file or directory. To create a .htaccess-based login form just create a file called .htaccess via SFTP. Please make sure that the file is created in the document root of your webhosting-subscription (e.g. ''/web/username/www/subscriptionname'').
**Example:**
AuthName "Protected Directory"
AuthType Basic
AuthUserFile /web/username/files/.htpasswd
require valid-user
After creating this .htaccess-file move to the ''files''-directory of your webspace-subscription. You can now add an ''.htpasswd''-file, which contains the user-information and the password-hash.
==== Use Shell To Generate .Htpasswd ====
You can use a shell to auto-generate a valid .htpasswd-file. To do so, simply log into a shell and enter.
htpasswd -c .htpasswd username
You are asked to enter a password, which is stored as a hash.
On login.gwdg.de enter
htpasswd2 -c .htpasswd username
**Example:**
username:laA94KcLcE53
==== Use Online Tools To Generate .Htpasswd ====
If you do not want to use shell to generate .htpassword, you can simply use our .htaccess-Generator:
[[http://tools.vweb.gwdg.de/generator | htaccess/htpasswd-Generator]]
**Example:**
username:laA94KcLcE53
===== How to allow access for specific IP or IP-ranges =====
To grant access to users from specific IP-addresses or IP-ranges, you need to create a .htaccess-file in the document root of your webhosting-subscription.
**Example (single IP/Apache 2.2):**
order deny,allow
deny from all
allow from 123.123.123.123
**Example (IP-range/Apache 2.2)**
order deny,allow
deny from all
allow from 123.123.123.0/24
**Example (single IP/Apache 2.4)**
Require ip 123.123.123.123