Difference between revisions of "Require Login"

From Amahi Wiki
Jump to: navigation, search
 
(40 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{MessageBox|
 
{{MessageBox|
backgroundcolor = red|
+
backgroundcolor = #faa|
 
image =Warning.png|
 
image =Warning.png|
 
heading =WARNING|
 
heading =WARNING|
 
message = This is recommended only for advanced users, proceed with caution.}}
 
message = This is recommended only for advanced users, proceed with caution.}}
We have a budding feature to require login to individual webapps.
+
<div style="border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0px 1em;">
 +
'''NOTE:''' The one-click [https://www.amahi.org/apps/web-apps Web Apps] will provide this capability in Amahi 7 or greater.</div>
  
Note - each app may have created a corresponding webapp. It's in this webapp that the Login Required may be selected.
 
  
If selected, this settings makes it such that the application will ask for a user name and a password.
+
Would you like to control which HDA users can access certain web applications?  This can be easily done in Amahi 6.  To use this function, select the web apps section in the apps tab.  Expand the desired app and select the '''Require login''' check box.  If selected, this settings makes it such that the application will ask for a user name and a password.  The perform the steps below to create the <code>htpasswd</code> file.
  
Unfortunately this is no integrated yet with the rest of the user/password system already in place, so for now, it has to be done using htaccess controls.
 
  
We have decided to make these a global setting, i.e. the users and password are all the same to all the apps that require login.
+
'''NOTE:'''  This is a global setting at the moment, i.e. the users and password are all the same to all the apps that have '''Require login''' selected.  This feature <u>IS NOT</u> compatible with [[Secure_App_Access|Access Web Apps over SSL]].
  
 
== How to do it ==
 
== How to do it ==
 +
This requires creation of the <code>htpasswd</code> be placed in the '''''/var/hda/web-apps''''' directory.  The <code>htpasswd</code> file will identify user names and passwords (encrypted).
 +
  
*This requires creation of the <code>htpasswd</code>) be placed in the /var/hda/web-apps directory.
 
*The <code>.htpasswd</code> file will identify user names/passwords (encrypted).
 
#Decide on the user names/passwords who will have access.  This has to be the HDA users credentials that are used to log into the HDA Dashboard. 
 
 
==== Create the htpasswd File ====
 
==== Create the htpasswd File ====
 
There are two options for creating the <code>htpasswd</code> file:
 
There are two options for creating the <code>htpasswd</code> file:
*Option 1:  Navigate to [http://www.webmaster-toolkit.com/htaccess-generator.shtml .htaccess Generator].
+
*Option 1:  Navigate to [http://www.htaccesstools.com/htpasswd-generator/ htpasswd Generator].
 
<blockquote>
 
<blockquote>
*Enter desired Username, Password, and Path (physical location where <code>.htpasswd</code> will be stored).  For example, Username '''''amahi''''', Password '''''amahi''''', and Path '''''/var/hda/web-apps/linfo'''''.
+
*Enter desired Username, Password, and Path (physical location where <code>.htpasswd</code> will be stored).  For example, Username '''''amahi''''', Password '''''amahi''''', and Path '''''/var/hda/web-apps'''''.
 
*Select the '''Generate .htaccess''' button.
 
*Select the '''Generate .htaccess''' button.
*Copy the text from ''"And this is what your .htpasswd file should look like..."'' box and paste it into the <code>.htpasswd</code> file in then web application directory (i.e. /var/hda/web-apps).  It should look similar to this:  
+
*Copy the text from ''"And this is what your .htpasswd file should look like..."'' box and paste it into the <code>.htpasswd</code> file.  It should look similar to this:  
{{Text|amahi:amb24e1pXrqFY}}
+
<pre>amahi:amb24e1pXrqFY</pre>
*Proceed to the '''Set the Permissions''' section to complete.
+
*Proceed to the '''Copy and Set File Permissions''' section to complete.
 
</blockquote>
 
</blockquote>
*Option 2:   
+
*Option 2:  [[Open_Terminal_as_root|Open Terminal as root user]]
 
<blockquote>
 
<blockquote>
*Perform the following steps [[Open_Terminal_as_root|as root user]] (change username and password):
+
*Create the <code>htpasswd</code> file (change username and password):
{{Code|htpasswd -c -b .htpasswd username password}}
+
<pre>htpasswd -c -b .htpasswd username password</pre>
*Add additional users, repeat the previous step (('''NOTE:''' the -c option is only needed the first time you create the file for that web application):
+
*Proceed to the '''Copy and Set File Permissions''' section to complete.
{{Code|htpasswd -b .htpasswd username password}}
+
</blockquote>
 +
 
 +
==== User Maintenance (Add/Delete) ====
 +
*Add additional users, repeat the previous step ('''NOTE:''' the -c option is only needed the first time you create the file for that web application):
 +
htpasswd -b /var/hda/web-apps/htpasswd username password
 
*Delete a user, do the following:
 
*Delete a user, do the following:
  {{Code|htpasswd -D .htpasswd username}}
+
  htpasswd -D /var/hda/web-apps/htpasswd username
 +
 
 +
==== Copy and Set File permissions: ====
 
*Copy the <code>.htpasswd</code> file to the web application directory:
 
*Copy the <code>.htpasswd</code> file to the web application directory:
{{Code|cp .htpasswd /var/hda/web-apps/htpasswd}}
+
cp .htpasswd /var/hda/web-apps/htpasswd
* Next, set the permissions.
 
 
 
==== Set File permissions: ====
 
 
* Ensure the permissions are correctly set on the two files as follows:
 
* Ensure the permissions are correctly set on the two files as follows:
{{Code|chmod 600 /var/hda/web-apps/htpasswd
+
chmod 600 /var/hda/web-apps/htpasswd
chown apache:apache /var/hda/web-apps/htpasswd}}
+
chown apache:apache /var/hda/web-apps/htpasswd
 
 
== If you have webmin installed ==
 
  
After logging into webmin select “Others” on the left-hand side, click on “Protected Web Directories” and then select “Add protection for a new directory”.
+
==== If you have Webmin installed ====
  
In “Directory path” browse to/or enter the path to the ‘html’ web directory you wish to protect, in “Authentication realm” enter something like for example “Authentication required” (this will show up on the popup login box) and then click on create.
+
*After logging into Webmin select “Others” on the left-hand side, click on “Protected Web Directories” and then select “Add protection for a new directory”.
 +
*In ''"Directory path"'' browse to/or enter the path to the <code>html</code> web directory you wish to protect, in ''“Authentication realm”'' enter something like for example ''“Authentication required”'' (this will show up on the popup login box) and then click on create.
 +
*Now you need to setup users to allow login by clicking on ''“Add a new user”'' in ''“Associated users and groups”'', when users have been created you should be good to go.
  
Now you need to setup users to allow login by clicking on “Add a new user” in “Associated users and groups”, when users have been created you should be good to go.
 
  
Note: After you have completed this process using webmin you can then select "un-protect selected directory" and use the HDA-Dashboard to enable/disable password protection.
+
'''NOTE:'''  After you have completed this process using Webmin you can then select ''"un-protect selected directory"'' and use the HDA-Dashboard to enable/disable password protection.

Latest revision as of 02:23, 8 August 2019

Warning.png WARNING
This is recommended only for advanced users, proceed with caution.


NOTE: The one-click Web Apps will provide this capability in Amahi 7 or greater.


Would you like to control which HDA users can access certain web applications? This can be easily done in Amahi 6. To use this function, select the web apps section in the apps tab. Expand the desired app and select the Require login check box. If selected, this settings makes it such that the application will ask for a user name and a password. The perform the steps below to create the htpasswd file.


NOTE: This is a global setting at the moment, i.e. the users and password are all the same to all the apps that have Require login selected. This feature IS NOT compatible with Access Web Apps over SSL.

How to do it

This requires creation of the htpasswd be placed in the /var/hda/web-apps directory. The htpasswd file will identify user names and passwords (encrypted).


Create the htpasswd File

There are two options for creating the htpasswd file:

  • Enter desired Username, Password, and Path (physical location where .htpasswd will be stored). For example, Username amahi, Password amahi, and Path /var/hda/web-apps.
  • Select the Generate .htaccess button.
  • Copy the text from "And this is what your .htpasswd file should look like..." box and paste it into the .htpasswd file. It should look similar to this:
amahi:amb24e1pXrqFY
  • Proceed to the Copy and Set File Permissions section to complete.
  • Create the htpasswd file (change username and password):
htpasswd -c -b .htpasswd username password
  • Proceed to the Copy and Set File Permissions section to complete.

User Maintenance (Add/Delete)

  • Add additional users, repeat the previous step (NOTE: the -c option is only needed the first time you create the file for that web application):
htpasswd -b /var/hda/web-apps/htpasswd username password
  • Delete a user, do the following:
htpasswd -D /var/hda/web-apps/htpasswd username

Copy and Set File permissions:

  • Copy the .htpasswd file to the web application directory:
cp .htpasswd /var/hda/web-apps/htpasswd
  • Ensure the permissions are correctly set on the two files as follows:
chmod 600 /var/hda/web-apps/htpasswd
chown apache:apache /var/hda/web-apps/htpasswd

If you have Webmin installed

  • After logging into Webmin select “Others” on the left-hand side, click on “Protected Web Directories” and then select “Add protection for a new directory”.
  • In "Directory path" browse to/or enter the path to the html web directory you wish to protect, in “Authentication realm” enter something like for example “Authentication required” (this will show up on the popup login box) and then click on create.
  • Now you need to setup users to allow login by clicking on “Add a new user” in “Associated users and groups”, when users have been created you should be good to go.


NOTE: After you have completed this process using Webmin you can then select "un-protect selected directory" and use the HDA-Dashboard to enable/disable password protection.