Сегодня задумка следующая. Нужно проработать настройку связки 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.