Архив за месяц Ноябрь 2016

Автор:human

hhvm настройка

Запуск hhvm с конфигами

Устранение ошибки

Решение

Автор:human

Работа с архивами linux

Упаковать в tar с наибольшим сжатием

Автор:human

Самописный сертификат ssl для nginx ubuntu

Самописный сертификат ssl для nginx ubuntu
Генерим

Редактим конфиг

Автор:human

Огранизация разграничения доступа к web-ресурсу через LDAP в nginx

Начнём с того, что nginx «из коробки» не поддерживает аутентификацию через LDAP. В интернете можно найти самописный модуль, но разработчики не дают гарантии, что всё не посыпится после первого обновления. Что же делать? Не трогать сам nginx. На официальном сайте предлагают решение для nginx+(которое так же отлично работает и с бесплатной версией), которое заключается в перенаправлении запросов на аутентификацию другому маленькому серверу, написанному на питоне.

Схемы работы с официального сайта(https://www.nginx.com/blog/nginx-plus-authenticate-users/)

In the NGINX Plus reference implementation for LDAP authentication, the ldap-auth daemon is the intermediary between NGINX Plus and the LDAP server

Итак, давайте попробуем это поставить.

1. Вам потребуется python версии 2. На версии 3 работоспособность не проверялась и не гарантируется.

2. Нужно установить пакет python-ldap и несколько других требуемых пакетов.

sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev

3. Если у вас ещё нет nginx, ставим его

apt-get install nginx

4. Клонируем репозиторий с нашим маленьким сервером аутентификации

git clone https://github.com/nginxinc/nginx-ldap-auth

5. В репозитории мы найдём следующие нужные нам файлы:

nginx-ldap-auth.conf — пример конфигурационного файла nginx для работы с данным решением.

backend-sample-app.py — backend, содержащий форму для ввода имени и пароля, который работает с сервером аутентификации.

nginx-ldap-auth-daemon.py — собственно, код самого сервера аутентификации.

Также вы найдёте файл nginx-ldap-auth-daemon-ctl.sh. Это скрипт, который вы можете использовать для запуска сервера и backend’а в качестве демонов. Использование этого скпирта остаётся на ваше усмотрение.

6. Изменяем конфигурацию nginx, которую можно найти в /etc/nginx/nginx.conf

Вот пример моей конфигурации(с пояснениями):

7. Сохраняем эту конфигурацию в /etc/nginx/nginx.conf и проверяем её корректность

nginx -t

8. Если всё прошло успешно, запускаем.Пока что из shell.

service nginx start
./nginx-ldap-auth-daemon.py >/dev/null 2>/dev/null &
./backend-sample-app.py >/dev/null 2>/dev/null &

9. Пробуем войти!

Вводим имя пользователя, пароль, радуемся.

В конце стоит не забыть сделать backend-sample-app.py и nginx-ldap-auth-daemon.py демонами и настроить зависимость nginx от них. И, конечно же, переделать backend под свои нужды.