Changes between Initial Version and Version 1 of campuswifiandeduroam2023Agenda/pwdca


Ignore:
Timestamp:
Jul 23, 2024, 11:39:24 AM (2 months ago)
Author:
tuwan
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • campuswifiandeduroam2023Agenda/pwdca

    v1 v1  
     1=== Service Desk ===
     2
     3LDAP Tool Box Service Desk is a web application for administrators and support teams. It allows to browse accounts in an LDAP directory, view and update their status.
     4
     5Features:
     6
     7- Quick search for an account
     8- View main attributes
     9- View account and password status
     10- Test current password
     11- Reset password and force password change at next connection
     12- Lock and unlock account
     13- Dashboards:
     14        * Accounts locked
     15        * Accounts with a password that will soon expire
     16        * Accounts with an expired password
     17        * Accounts idle (never connected or not connected since a number of days)
     18
     19'''You need to install these prerequisites'''
     20
     21- Apache or another web server
     22- php
     23- php-ldap
     24- Smarty (version 3)
     25
     26
     27'''Installation'''
     28
     29Download from Tar ball (Service Desk)
     30https://ltb-project.org/download.html
     31
     32{{{
     33tar -zxvf ltb-project-service-desk-*.tar.gz
     34}}}
     35
     36Install files in /usr/share/:
     37
     38{{{
     39mv ltb-project-service-desk-* /usr/share/service-desk
     40}}}
     41
     42Configure the repository:
     43
     44{{{
     45vi /etc/apt/sources.list.d/ltb-project.list
     46}}}
     47
     48{{{
     49deb [arch=amd64] https://ltb-project.org/debian/stable stable main
     50}}}
     51
     52Import repository key:
     53
     54{{{
     55wget -O - https://ltb-project.org/documentation/_static/RPM-GPG-KEY-LTB-project | sudo apt-key add -
     56}}}
     57
     58Then update:
     59
     60{{{
     61apt update
     62}}}
     63
     64You are now ready to install:
     65
     66{{{
     67apt install service-desk
     68}}}
     69
     70**//Note-//** You may need to install first the package {{{php-Smarty}}} which is not in official repositories.
     71
     72'''Apache configuration'''
     73
     74{{{
     75<VirtualHost *:80>
     76   ServerName sd.example.com
     77
     78   DocumentRoot /usr/share/service-desk/htdocs
     79   DirectoryIndex index.php
     80
     81   <Directory /usr/share/service-desk/htdocs>
     82       AllowOverride None
     83       Require all granted
     84   </Directory>
     85
     86   LogLevel warn
     87   ErrorLog /var/log/apache2/sd_error.log
     88   CustomLog /var/log/apache2/sd_access.log combined
     89</VirtualHost>
     90}}}
     91
     92**//Note-//** The application can also be published in a directory inside the default host
     93
     94'''LDAP authentication and authorization'''
     95
     96You can use Apache [https://httpd.apache.org/docs/current/mod/mod_authnz_ldap.html mod_authnz_ldap]. This module checks user credentials against the LDAP directory and can restrict access to users or groups.
     97
     98{{{
     99<Directory /usr/share/service-desk/htdocs>
     100    AllowOverride None
     101    AuthType basic
     102    AuthName "LTB Service Desk"
     103    AuthBasicProvider ldap
     104    AuthLDAPURL ldap://ldap.example.com/dc=example,dc=com?uid
     105    Require ldap-group cn=support,ou=groups,dc=example,dc=com
     106</Directory>
     107}}}
     108
     109'''External authentication'''
     110
     111You can use any authentication source and authentication protocols, like CAS, SAML or OpenID Connect. Configuring these solutions is out of scope of the current documentation.
     112
     113'''General parameters'''
     114
     115Set default language in $lang
     116
     117{{{
     118$lang = "en";
     119}}}
     120
     121'''Dates'''
     122
     123You can adapt how dates are displayed with specifiers [https://www.php.net/strftime see strftime reference]
     124
     125'''Logo'''
     126
     127You change the default logo with your own. Set the path to your logo in $logo:
     128
     129{{{
     130$logo = "images/ltb-logo.png";
     131}}}
     132
     133'''Background'''
     134
     135You change the background image with your own. Set the path to image in $background_image:
     136
     137{{{
     138$background_image = "images/unsplash-space.jpeg";
     139}}}
     140
     141'''Custom CSS'''
     142
     143To easily customize CSS, you can use a separate CSS file:
     144
     145{{{
     146$custom_css = "css/custom.css";
     147}}}
     148
     149'''Debug'''
     150
     151You can turn on debug mode with $debug:
     152
     153{{{
     154$debug = true;
     155}}}
     156
     157This is also possible to enable Smarty debug, for web interface issues:
     158
     159{{{
     160$smarty_debug = true;
     161}}}
     162
     163'''Smarty'''
     164
     165You need to define where Smarty is installed:
     166{{{
     167define("SMARTY", "/usr/share/php/smarty3/Smarty.class.php");
     168}}}
     169
     170'''Notify administrator by mail'''
     171
     172It is possible to provide mail of administrator to service-desk using a HTTP header.
     173
     174$header_name_notify_admin_by_mail is name of header that will be provided to cgi script as HTTP_$header_name_notify_admin_by_mail to set administrator mail from webserver.
     175
     176{{{
     177$header_name_notify_admin_by_mail = "SSP-Admin-Mail";
     178}}}
     179
     180Using Apache, we may set such header using the following:
     181
     182{{{
     183<VirtualHost *:80>
     184   ServerName ssp.domain1.com
     185   RequestHeader setIfEmpty SSP-Admin-Mail admin@example.com
     186   [...]
     187</VirtualHost>
     188}}}
     189
     190