Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:phpldapadmin_archlinux

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:phpldapadmin_archlinux [2022/12/27 09:13] – [/etc/webapps/phpldapadmin/config.php] klaustachtler:phpldapadmin_archlinux [2023/10/13 11:15] (aktuell) – [/etc/httpd/conf/vhosts/phpldapadmin.conf] klaus
Zeile 24: Zeile 24:
     * Siehe auch den internen Link: [[tachtler:apache_http_server_archlinux_-_mod_ssl_-_verschluesselung_https|Apache HTTP Server ArchLinux - mod_ssl - Verschlüsselung (https)]]     * Siehe auch den internen Link: [[tachtler:apache_http_server_archlinux_-_mod_ssl_-_verschluesselung_https|Apache HTTP Server ArchLinux - mod_ssl - Verschlüsselung (https)]]
   * PHP **ab der Version 5** oder höher [[https://www.php.net/|PHP Net]]   * PHP **ab der Version 5** oder höher [[https://www.php.net/|PHP Net]]
-    * Hier als PHP7-FPM, siehe auch den internen Link [[tachtler:apache_http_server_archlinux_-_php7-fpm_-_alternativer_php-interpreter|Apache HTTP Server ArchLinux - php7-fpm - Alternativer PHP-Interpreter]]+    * Hier als PHP74-FPM, siehe auch den internen Link [[tachtler:apache_http_server_archlinux_-_php74-fpm_-_alternativer_php-interpreter|Apache HTTP Server ArchLinux - php74-fpm - Alternativer PHP-Interpreter]]
          
 Siehe auch den externen Link Siehe auch den externen Link
   * [[https://phpldapadmin.sourceforge.net/wiki/index.php/PreRequisites|phpLDAPadmin - PreRequisites]]   * [[https://phpldapadmin.sourceforge.net/wiki/index.php/PreRequisites|phpLDAPadmin - PreRequisites]]
 +
 +Nachdem das ''AUR''-Repository von [[https://aur.archlinux.org//|ArchLinux - AUR]]
 +  * [[tachtler:archlinux_-_arch_user_repository|ArchLinux - Arch User Repository]]
 +erfolgreich eingebunden wurde, können mit nachfolgendem Befehl, die ''AUR''-Pakete - 
 +  * **''php74''**
 +  * **''php74-cli''**
 +  * **''php74-gettext''**
 +  * **''php74-ldap''**
 +  * **''php74-xml''**
 +**__als Abhängigkeiten__** installiert werden:
 +
 +<code>
 +# pikaur --noconfirm -S php74 php74-cli php74-gettext php74-ldap php74-xml
 +</code>
 +++++ Installationsverlauf |
 +<code>
 +# pikaur --noconfirm -S php74 php74-cli php74-gettext php74-ldap php74-xml
 +</code>
 +++++
 +
 +:!: **HINWEIS** - Aufgrund von anderen Installationen, sind einige benötigte Pakete bereits auf diesem Server installiert!  
 +
 +Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paketen **''php74 php74-cli php74-gettext php74-ldap php74-xml''** installiert wurden.
 +<code>
 +# pacman -Qil php74 php74-cli php74-gettext php74-ldap php74-xml
 +</code>
 +++++ Installierte Dateien |
 +<code>
 +# pacman -Qil php74 php74-cli php74-gettext php74-ldap php74-xml
 +</code>
 +++++
  
 ===== Installation ===== ===== Installation =====
Zeile 1526: Zeile 1557:
 </code> </code>
  
-Nachfolgend die Erklärungen zu den **Änderungen** in der oben **vollständig** gezeigten Konfigurationsdatei.+**__Nachfolgend die Erklärungen zu den **Änderungen** in der oben **vollständig** gezeigten Konfigurationsdatei__**
  
 === Cookie Verschlüsselung === === Cookie Verschlüsselung ===
  
-<code php> +  * <code php>/* phpLDAPadmin can encrypt the content of sensitive cookies if you set this
-/* phpLDAPadmin can encrypt the content of sensitive cookies if you set this+
    to a big random string. */    to a big random string. */
 // Tachtler // Tachtler
 // default: // $config->custom->session['blowfish'] = null; // default: // $config->custom->session['blowfish'] = null;
-$config->custom->session['blowfish'] = '3755425c4a807636d93c87f4467ab7e6'; +$config->custom->session['blowfish'] = '3755425c4a807636d93c87f4467ab7e6';</code>
-</code>+
  
-* //Es wird eine Zeichenfolge als Zufalls-"Salt" gesetzt//+Es wird eine Zeichenfolge als Zufalls-"Salt" gesetzt.
  
 === Sprache === === Sprache ===
  
-<code php> +  * <code php>/* The language setting. If you set this to 'auto', phpLDAPadmin will attempt
-/* The language setting. If you set this to 'auto', phpLDAPadmin will attempt+
    to determine your language automatically. Otherwise, available lanaguages    to determine your language automatically. Otherwise, available lanaguages
    are: 'ct', 'de', 'en', 'es', 'fr', 'it', 'nl', and 'ru'    are: 'ct', 'de', 'en', 'es', 'fr', 'it', 'nl', and 'ru'
Zeile 1550: Zeile 1578:
 // $config->custom->appearance['language'] = 'auto'; // $config->custom->appearance['language'] = 'auto';
 # Tachtler # Tachtler
-$config->custom->appearance['language'] = 'de_DE'; +$config->custom->appearance['language'] = 'de_DE';</code>
-</code>+
  
-* //Die Standardsprache wird hier auf **de_DE** (deutsch) gesetzt//+Die Standardsprache wird hier auf **de_DE** (deutsch) gesetzt.
  
 === Zeitzone === === Zeitzone ===
  
-<code php> +  * <code php>/* Our local timezone
-/* Our local timezone+
    This is to make sure that when we ask the system for the current time, we    This is to make sure that when we ask the system for the current time, we
    get the right local time. If this is not set, all time() calculations will    get the right local time. If this is not set, all time() calculations will
Zeile 1565: Zeile 1591:
 #  $config->custom->appearance['timezone'] = 'Australia/Melbourne'; #  $config->custom->appearance['timezone'] = 'Australia/Melbourne';
 # Tachtler # Tachtler
-$config->custom->appearance['timezone'] = 'Europe/Berlin'; +$config->custom->appearance['timezone'] = 'Europe/Berlin';</code> 
-</code> +
  
-* //Die Zeitzone wird hier auf **Europe/Berlin** (Standard in Deutschland) gesetzt//+Die Zeitzone wird hier auf **Europe/Berlin** (Standard in Deutschland) gesetzt.
  
 === Fehlermeldungen zu ungültigen Objekten in Vorlagen === === Fehlermeldungen zu ungültigen Objekten in Vorlagen ===
  
-<code php> +  * <code php>/* Hide the warnings for invalid objectClasses/attributes in templates. */
-/* Hide the warnings for invalid objectClasses/attributes in templates. */+
 // $config->custom->appearance['hide_template_warning'] = false; // $config->custom->appearance['hide_template_warning'] = false;
 # Tachtler # Tachtler
-$config->custom->appearance['hide_template_warning'] = true; +$config->custom->appearance['hide_template_warning'] = true;</code> 
-</code> +
  
-* //Ausblenden von überflüssigen Warnmeldungen//+Die Ausblenden von überflüssigen Warnmeldungen wird unterdrückt.
  
 === Benutzerfreundliche Feldnamen === === Benutzerfreundliche Feldnamen ===
  
-<code php>+  * <code php>
 /********************************************* /*********************************************
  * User-friendly attribute translation       *  * User-friendly attribute translation       *
Zeile 1610: Zeile 1633:
 // default:     'userPassword'             => 'Password'     // default:     'userPassword'             => 'Password'    
 // 'userPassword'             => 'Password' // 'userPassword'             => 'Password'
-); +);</code> 
-</code> +
  
-* //Die Übersetzung einieger Feldnamen in benutzerfreundliche Bezeichnungen soll, um keine verfälschte Ausgabe zu erzeugen, unterbunden werden//+Die Übersetzung einieger Feldnamen in benutzerfreundliche Bezeichnungen soll, um keine verfälschte Ausgabe zu erzeugen, unterbunden werden.
  
 === Anzeige LDAP-Server Name  === === Anzeige LDAP-Server Name  ===
  
-<code php> +  * <code php>/* A convenient name that will appear in the tree viewer and throughout
-/* A convenient name that will appear in the tree viewer and throughout+
    phpLDAPadmin to identify this LDAP server to users. */    phpLDAPadmin to identify this LDAP server to users. */
 # Tachtler # Tachtler
 # default: $servers->setValue('server','name','Local LDAP Server'); # default: $servers->setValue('server','name','Local LDAP Server');
-$servers->setValue('server','name','ldap.idmz.tachtler.net');+$servers->setValue('server','name','ldap.idmz.tachtler.net');</code> 
  
-</code>  +Der Name des LDAP-Servers im Objektbaum.
- +
-* //Der Name des LDAP-Servers im Objektbaum//+
  
 === LDAP-URL === === LDAP-URL ===
  
-<code php> +  * <code php>/* Examples:
-/* Examples:+
    'ldap.example.com',    'ldap.example.com',
    'ldaps://ldap.example.com/',    'ldaps://ldap.example.com/',
Zeile 1638: Zeile 1656:
 // $servers->setValue('server','host','127.0.0.1'); // $servers->setValue('server','host','127.0.0.1');
 # Tachtler # Tachtler
-$servers->setValue('server','host','ldaps://ldap.idmz.tachtler.net'); +$servers->setValue('server','host','ldaps://ldap.idmz.tachtler.net');</code> 
-</code> +
  
-* //Die URL zum LDAP-Server - **hier eine URL mit SSL/TLS-Verschlüsseltem Aufruf**//+Die URL zum LDAP-Server - **hier eine URL mit SSL/TLS-Verschlüsseltem Aufruf**.
  
 === LDAP BIND ID === === LDAP BIND ID ===
  
-<code php> +  * <code php>/* The DN of the user for phpLDAPadmin to bind with. For anonymous binds or
-/* The DN of the user for phpLDAPadmin to bind with. For anonymous binds or+
    'cookie' or 'session' auth_types, LEAVE THE LOGIN_DN AND LOGIN_PASS BLANK. If    'cookie' or 'session' auth_types, LEAVE THE LOGIN_DN AND LOGIN_PASS BLANK. If
    you specify a login_attr in conjunction with a cookie or session auth_type,    you specify a login_attr in conjunction with a cookie or session auth_type,
Zeile 1654: Zeile 1670:
 #  $servers->setValue('login','bind_id','cn=Manager,dc=example,dc=com'); #  $servers->setValue('login','bind_id','cn=Manager,dc=example,dc=com');
 # Tachtler # Tachtler
-$servers->setValue('login','bind_id','cn=Manager,dc=tachtler,dc=net'); +$servers->setValue('login','bind_id','cn=Manager,dc=tachtler,dc=net');</code> 
-</code> +
  
-* //Der Benutzer, bzw. das Objekt, mit dessen die Authentifizierung durchgeführt werden soll **Standard ist hier das Manager-Objekt**//+Der Benutzer, bzw. das Objekt, mit dessen die Authentifizierung durchgeführt werden soll **Standard ist hier das Manager-Objekt**.
  
 === Standard Passwort Algorithmus === === Standard Passwort Algorithmus ===
  
-<code php> +  * <code php>/* Default password hashing algorithm. One of md5, ssha, sha, md5crpyt, smd5,
-/* Default password hashing algorithm. One of md5, ssha, sha, md5crpyt, smd5,+
    blowfish, crypt or leave blank for now default algorithm. */    blowfish, crypt or leave blank for now default algorithm. */
 // $servers->setValue('appearance','password_hash','md5'); // $servers->setValue('appearance','password_hash','md5');
 # Tachtler # Tachtler
 # default: $servers->setValue('appearance','password_hash',''); # default: $servers->setValue('appearance','password_hash','');
-$servers->setValue('appearance','password_hash','ssha'); +$servers->setValue('appearance','password_hash','ssha');</code> 
-</code> +
  
-* //Hier aufgrund der gestiegenen Sicherheitsanforderungen **ssha** und __**NICHT**__ mehr md5//+Hier aufgrund der gestiegenen Sicherheitsanforderungen **ssha** und __**NICHT**__ mehr md5.
  
 === Anonymous BIND === === Anonymous BIND ===
  
-<code php> +  * <code php>/* Enable anonymous bind login. */
-/* Enable anonymous bind login. */+
 // $servers->setValue('login','anon_bind',true); // $servers->setValue('login','anon_bind',true);
 # Tachtler # Tachtler
-$servers->setValue('login','anon_bind',false); +$servers->setValue('login','anon_bind',false);</code> 
-</code> +
  
 :!: **WICHTIG** //Falls der OpenLDAP-Server keinen **anonymous bind** erlaubt, kann dies hier deaktiviert werden !!!// :!: **WICHTIG** //Falls der OpenLDAP-Server keinen **anonymous bind** erlaubt, kann dies hier deaktiviert werden !!!//
Zeile 1685: Zeile 1696:
 Bei der Konfiguration eines [[https://www.openldap.org|OpenLDAP]]-Servers wie unter nachfolgendem Link beschrieben, ist das deaktivieren eines **anonymous bind** erforderlich: Bei der Konfiguration eines [[https://www.openldap.org|OpenLDAP]]-Servers wie unter nachfolgendem Link beschrieben, ist das deaktivieren eines **anonymous bind** erforderlich:
   * [[tachtler:ldap_archlinux#anonymous_bind_deaktivierenetc_openldap_ldifd_config_anonymous_bindldif|LDAP Archlinux - "Anonymous bind" deaktivieren: /etc/openldap/ldif.d/config_anonymous_bind.ldif]]   * [[tachtler:ldap_archlinux#anonymous_bind_deaktivierenetc_openldap_ldifd_config_anonymous_bindldif|LDAP Archlinux - "Anonymous bind" deaktivieren: /etc/openldap/ldif.d/config_anonymous_bind.ldif]]
 +
 +===== PHP74-FPM =====
 +
 +Aktuell ist die [[https://www.php.net/|PHP Net]] Installation in der **Version 7.x** noch in Verwendung, welche als PHP7-FPM zur Interpretation von PHP-Code verwendet wird.
 +
 +  * Siehe auch den internen Link [[tachtler:apache_http_server_archlinux_-_php74-fpm_-_alternativer_php-interpreter|Apache HTTP Server ArchLinux - php74-fpm - Alternativer PHP-Interpreter]]
 +
 +==== /etc/php7/php.ini ====
 +
 +Nachfolgende Konfigurationen sind in der Konfigurationsdatei
 +  * ''/etc/php7/php.ini''
 +ebenfalls noch durchzuführen.
 +
 +**(Nur relevanter Ausschnitt)**
 +<code php>
 +;;;;;;;;;;;;;;;;;;;;;;
 +; Dynamic Extensions ;
 +;;;;;;;;;;;;;;;;;;;;;;
 +
 +; If you wish to have an extension loaded automatically, use the following
 +; syntax:
 +;
 +;   extension=modulename
 +;
 +; For example:
 +;
 +;   extension=mysqli
 +;
 +; When the extension library to load is not located in the default extension
 +; directory, You may specify an absolute path to the library file:
 +;
 +;   extension=/path/to/extension/mysqli.so
 +;
 +; Note : The syntax used in previous PHP versions ('extension=<ext>.so' and
 +; 'extension='php_<ext>.dll') is supported for legacy reasons and may be
 +; deprecated in a future PHP major version. So, when it is possible, please
 +; move to the new ('extension=<ext>) syntax.
 +;
 +;extension=bcmath
 +;extension=bz2
 +;extension=calendar
 +extension=curl
 +;extension=dba
 +;extension=enchant
 +;extension=exif
 +;extension=ffi
 +;extension=ftp
 +;extension=gd
 +; Tachtler
 +; default: ;extension=gettext
 +extension=gettext
 +;extension=gmp
 +;extension=iconv
 +;extension=imap
 +;extension=intl
 +; Tachtler
 +; default: ;extension=ldap
 +extension=ldap
 +;extension=mysqli
 +;extension=odbc
 +;zend_extension=opcache
 +;extension=pdo_dblib
 +;extension=pdo_mysql
 +;extension=pdo_odbc
 +;extension=pdo_pgsql
 +;extension=pdo_sqlite
 +;extension=pgsql
 +;extension=pspell
 +;extension=shmop
 +;extension=snmp
 +;extension=soap
 +;extension=sockets
 +;extension=sodium
 +;extension=sqlite3
 +;extension=sysvmsg
 +;extension=sysvsem
 +;extension=sysvshm
 +;extension=tidy
 +;extension=xmlrpc
 +;extension=xsl
 +extension=zip
 +</code>
 +
 +**__Nachfolgende Anpassungen wurden zusätzlich noch durchgeführt__**:
 +
 +=== Extension: gettext ===
 +
 +  * <code php>; Tachtler
 +; default: ;extension=gettext
 +extension=gettext</code>
 +
 +Aktivierung der Verwendung der Erweiterung (extension) - **''gettext''**.
 +
 +=== Extension: ldap ===
 +
 +  * <code php>; Tachtler
 +; default: ;extension=ldap
 +extension=ldap</code>
 +
 +Aktivierung der Verwendung der Erweiterung (extension) - **''ldap''**.
 +
 +==== Neustart: PHP7-FPM Service ====
 +
 +Bevor **__weitere__** **Konfigurationsschritte** erfolgen, sollte ein **Neustart** erfolgen, was mit nachfolgendem Befehl durchgeführt werden kann:
 +<code>
 +# systemctl restart php-fpm7.service
 +</code>
 +
 +:!: **HINWEIS** - **Es erfolgen __keine__ weiteren Ausgaben, wenn der Start erfolgreich war !**
  
 ===== Apache Webserver ===== ===== Apache Webserver =====
Zeile 1727: Zeile 1847:
     <IfModule log_config_module>     <IfModule log_config_module>
         ErrorLog /var/log/httpd/phpldapadmin.tachtler.net_error.log         ErrorLog /var/log/httpd/phpldapadmin.tachtler.net_error.log
-        SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded+        SetEnvIF User-Agent "HAProxy" dontlog=yes 
 +        SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded=yes
         <IfModule logio_module>         <IfModule logio_module>
-            CustomLog /var/log/httpd/phpldapadmin.tachtler.net_access.log combined_deflate_ssl env=!forwarded +            CustomLog /var/log/httpd/phpldapadmin.tachtler.net_access.log combined_deflate_ssl "expr=(reqenv('forwarded') != 'yes' && reqenv('dontlog') != 'yes')" 
-            CustomLog /var/log/httpd/phpldapadmin.tachtler.net_access.log combined_deflate_proxypass_ssl env=forwarded+            CustomLog /var/log/httpd/phpldapadmin.tachtler.net_access.log combined_deflate_proxypass_ssl "expr=(reqenv('forwarded') == 'yes' && reqenv('dontlog') != 'yes')"
         </IfModule>         </IfModule>
     </IfModule>     </IfModule>
Zeile 1775: Zeile 1896:
     # ----------------------------------------------------------     # ----------------------------------------------------------
     <IfModule alias_module>     <IfModule alias_module>
-        Alias / "/usr/share/webapps/phpldapadmin"+        Alias / "/usr/share/webapps/phpldapadmin/"
     </IfModule>     </IfModule>
  
Zeile 1787: Zeile 1908:
         AllowOverride None         AllowOverride None
         Require all granted         Require all granted
 +        
 +        <FilesMatch \.php$>
 +            SetHandler "proxy:unix:/run/php-fpm/php-fpm.sock|fcgi://localhost"
 +        </FilesMatch>
 +        
     </Directory>     </Directory>
  
Zeile 1794: Zeile 1920:
     <IfModule log_config_module>     <IfModule log_config_module>
         ErrorLog /var/log/httpd/phpldapadmin.tachtler.net_error.log         ErrorLog /var/log/httpd/phpldapadmin.tachtler.net_error.log
-        SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded+        SetEnvIF User-Agent "HAProxy" dontlog=yes 
 +        SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded=yes
         <IfModule logio_module>         <IfModule logio_module>
-            CustomLog /var/log/httpd/phpldapadmin.tachtler.net_access.log combined_deflate_ssl env=!forwarded +            CustomLog /var/log/httpd/phpldapadmin.tachtler.net_access.log combined_deflate_ssl "expr=(reqenv('forwarded') != 'yes' && reqenv('dontlog') != 'yes')" 
-            CustomLog /var/log/httpd/phpldapadmin.tachtler.net_access.log combined_deflate_proxypass_ssl env=forwarded+            CustomLog /var/log/httpd/phpldapadmin.tachtler.net_access.log combined_deflate_proxypass_ssl "expr=(reqenv('forwarded') == 'yes' && reqenv('dontlog') != 'yes')"
         </IfModule>         </IfModule>
     </IfModule>     </IfModule>
Zeile 1823: Zeile 1950:
  
 :!: **HINWEIS** - **Es erfolgen __keine__ weiteren Ausgaben, wenn der Start erfolgreich war !** :!: **HINWEIS** - **Es erfolgen __keine__ weiteren Ausgaben, wenn der Start erfolgreich war !**
 +
 +===== Erster Aufruf =====
 +
 +Nachdem die Installation und die Basis-Konfiguration abgeschlossen sind, kann nun der erste Aufruf mit nachfolgender URL erfolgen:
 +  * [[http://phpldapadmin.tachtler.net]]
 +wodurch nachfolgender Bildschirm zur Anzeige kommen sollte, in dem die Anmeldedaten nun eingegeben werden müssen, um eine erfolgreiche Anmeldung durchzuführen:
 +
 +{{:tachtler:phpldapadmin:phpldapadmin_-_startseite_-_archlinux.png|phpLDAPadmin - Startseite}}
  
tachtler/phpldapadmin_archlinux.1672128826.txt.gz · Zuletzt geändert: 2022/12/27 09:13 von klaus