Сегодня задумка следующая. Нужно проработать настройку связки nginx и Webоболочки для управления единой авторизацией, а это PHPLdapAdmin и все это на моей рабочей системе Ubuntu 18.04 Server. Просто у меня уже море сервисов и для каждого использовать связку логин и пароль, точнее создавать учетные записи я хочу создать группы, поместить в группы учетные записи и прописав доступ к сервису, что авторизация осуществляется через LDAP.

Шаг №1:

ekzorchik@srv-bionic:~$ hg clone --insecure https://ekzorchik@172.35.35.8/hg/dproject

ekzorchik@srv-bionic:~$ sudo ./dproject/default

ekzorchik@srv-bionic:~$ sudo nano /etc/hosts

172.33.33.14 srv-bionic.polygon.local srv-bionic

Шаг №2:

ekzorchik@srv-bionic:~$ sudo apt-get install -y nginx php7.2-ldap php7.2-xml php7.2-fpm slapd ldap-utils unzip
  • Administrator password: 712mbddr@
  • Confirm password: 712mbddr@
ekzorchik@srv-bionic:~$ sudo dpkg-reconfigure slapd
  • Omit OpenLDAP server configuration? No
  • DNS domain name: polygon.local
  • Organization name: polygon
  • Administrator password: 712mbddr@
  • Confirm password: 712mbddr@
  • Database backend to use: MDB
  • Do you want the database to be removed when slapd is purged? No
  • Move old database? Yes

Чтобы посмотреть настройки slap после установки и запуска:

ekzorchik@srv-bionic:~$ slapcat

5ce64a11 ldif_read_file: Permission denied for "/etc/ldap/slapd.d/cn=config.ldif"

slapcat: bad configuration file!

ekzorchik@srv-bionic:~$ sudo slapcat

ekzorchik@srv-bionic:~$ sudo rm /var/www/html/index.nginx-debian.html

ekzorchik@srv-bionic:~$ sudo unlink /etc/nginx/sites-available/default

ekzorchik@srv-bionic:~$ sudo unlink /etc/nginx/sites-enabled/default

ekzorchik@srv-bionic:~$ sudo nano /etc/nginx/sites-available/phpldapadmin

server {

server_name 172.33.33.14;

listen 80;

# document root

root /var/www/html;

index index.php;

# application: phpldapadmin

location /phpldapadmin {

alias /var/www/html/phpldapadmin/htdocs;

index index.php;

}

location ~ ^/phpldapadmin/.*\.php$ {

root /var/www/html;

if ($request_filename !~* htdocs) {

rewrite ^/phpldapadmin(/.*)?$ /phpldapadmin/htdocs$1;

}

fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $request_filename;

include fastcgi_params;

}

# logging

error_log /var/log/nginx/phpldapadmin-error.log;

access_log /var/log/nginx/phpldapadmin-access.log;

}

ekzorchik@srv-bionic:~$ sudo ln -s /etc/nginx/sites-available/phpldapadmin /etc/nginx/sites-enabled/phpldapadmin

Шаг №3:

ekzorchik@srv-bionic:~$ wget https://github.com/breisig/phpLDAPadmin/archive/master.zip

ekzorchik@srv-bionic:~$ unzip master.zip

ekzorchik@srv-bionic:~$ rm -f master.zip

ekzorchik@srv-bionic:~$ sudo mv phpLDAPadmin-master/ /var/www/html/phpldapadmin

ekzorchik@srv-bionic:~$ sudo cp /var/www/html/phpldapadmin/config/config.php.example /var/www/html/phpldapadmin/config/config.php

ekzorchik@srv-bionic:~$ sudo nano /var/www/html/phpldapadmin/config/config.php

$servers->setValue('server','name','srv-bionic.polygon.local');

$servers→setValue('server','host','172.33.33.14');

$servers→setValue('server','port',389);

$servers->setValue('server','base',array('dc=polygon,dc=local'));

$servers->setValue('login','bind_id','cn=admin,dc=polygon,dc=local');

$servers→setValue('login','bind_pass','712mbddr@');

$config->custom->appearance['hide_template_warning'] = true;

ekzorchik@srv-bionic:~$ sudo chown -R www-data:www-data /var/www/html/phpldapadmin/

ekzorchik@srv-bionic:~$ sudo nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

ekzorchik@srv-bionic:~$ sudo systemctl restart nginx php7.2-fpm

После проверяю, что могу зайти на URL: http://172.33.33.14/phpldapdmin — Войти

  • Login DN: cn=admin,dc=polygon,dc=local
  • Пароль: 712mbddr@

и нажимаю «Авторизация», все успешно, т.к. есть уведомление вида «Аутентификация на сервере. Успешный вход на сервер»

Работает. Заметка работоспособна. На этом пока все, с уважением автор блога Олло Александр aka ekzorchik.