Nginx
Authentication via
AD
(Ubuntu Server 16.04)
# из
коробки он на текущий момент не идет
,по этому прийдеться собрать пакет nginx
из “сорсов”
#
Для этого нужно выполнить следующие
команды:
#
установка пакета и либы для сборки с
сорсов
sudo
apt-get install dpkg-dev libldap2-dev
#
Добавляем “ соурс репу”
sudo
add-apt-repository ppa:nginx/stable
#Правим
“соурс лист”
sudo
vim /etc/apt/source.list.d//nginx-ubuntu-stable-xenial.list
deb
http://ppa.launchpad.net/nginx/stable/ubuntu xenial main
deb-src
http://ppa.launchpad.net/nginx/stable/ubuntu xenial main
sudo
apt-get update
#
Переходим в дерикторию и вытягиваем
пакет nginx (в моем случае это /opt/)
sudo
apt-get source nginx
sudo
apt-get build-dep nginx
cd
/opt/nginx/nginx-1.10.1/debian
#
Правим файл rules
sudo
vim rules
#
Находим строчку full_configure_flags := \ и
добавляем
--add-module=$(MODULESDIR)/nginx-auth-ldap
При
этом обязательно добавить в придедущей
строке обратный слеш \
#Переходим
в директорию с модулями и копируем с
гита nginx-auth-ldap
cd
/opt/nginx/nginx-1.10.1/debian/modules
sudo
git clone https://github.com/kvspb/nginx-auth-ldap.git
#Билдим
пакет
cd
/opt/nginx/
sudo
dpkg-buildpackage -uc -us (or -b flag)
# и
потом запускаем его
sudo
dpkg —install nginx_1.10.1-3+xenial0_all.deb
#
Правим конфиг /etc/nginx/fastcgi_params добавляем
следующую строку
vim
/etc/nginx/fastcgi_params
fastcgi_param
REMOTE_USER $remote_user
#
Проверяем наличие модуля
nginx-auth-ldap
sudo
nginx -V
#
Правим основной конфиг
vim
/etc/nginx/nginx.conf
ldap_server
LDAP1 {
#
user search base.
url "ldap://servername:3268/DC=domain,DC=local?sAMAccountName?sub
(objectClass=person)";
#
bind as
binddn "CN=OCS user,OU=Users,OU=KievOffice,DC=domain,DC=local";
#
bind pw
binddn_passwd <Password>;
#
group attribute name which contains member object
group_attribute member;
#
search for full DN in member object
group_attribute_is_dn on;
#
matching algorithm (any / all)
satisfy any;
#
list of allowed groups
require group "CN=OCS admins,OU=Office,DC=domain,DC=local";
#require group "CN=New York Users,OU=My Security
Groups,DC=company,DC=com";
#
list of allowed users
#
require 'valid_user' cannot be used together with 'user' as valid
user is a superset
#
require valid_user;
#require user "CN=Batman,OU=Users,OU=New York
Office,OU=Offices,DC=company,DC=com";
#require user "CN=Robocop,OU=Users,OU=New York
Office,OU=Offices,DC=company,DC=com";
}
(Это
наглядный пример конфига, у каждего он
по разному =) )
# В
конфиг виртуального хоста добавляем
это :
vim
/etc/nginx/conf.d/default
server
{
…..
auth_ldap
"Restricted Access";
auth_ldap_servers LDAP1;
…...
}
#
Проверяем и если все ок , перечитываем
конфиг
sudo
nginx -t
sudo
service nginx reload
#
Готово ! =)
Комментариев нет:
Отправить комментарий