이 프로젝트의 목적은 사용자가 LDAP 또는 Active Directory(Samba 4 AD)에 저장된 비밀번호를 변경할 수 있는 매우 간단한 웹 양식을 제공하는 것입니다. Python용 WSGI 마이크로 웹 프레임워크인 Bottle로 구축되었습니다.
Alpine의 커뮤니티 저장소에서 ldap-passwd-webui-waitress 패키지를 설치하십시오.
apk add ldap-passwd-webui-waitress
중요한 | 이 패키지는 v3.7부터 Alpine stable에 있습니다. Edge (불안정) 브랜치에서도 설치할 수 있습니다. |
/etc/ldap-passwd-webui.ini
및 /etc/conf.d/
에서 구성을 조정합니다.
서비스 ldap-passwd-webui를 시작합니다.
/etc/init.d/ldap-passwd-webui start
이 저장소를 복제하고 종속 항목을 설치합니다.
git clone [email protected]:jirutka/ldap-passwd-webui.git
cd ldap-passwd-webui
pip install -r requirements.txt
실행 방법을 알아보려면 다음 섹션을 읽어보세요.
파이썬 3.x
병
LDAP3 2.x
settings.ini 파일에서 구성을 읽습니다. 환경 변수 CONF_FILE
사용하여 설정 파일의 위치를 변경할 수 있습니다.
Active Directory(또는 Samba 4 AD)가 있는 경우 암호화된 연결(예: LDAPS 또는 StartTLS)을 사용해야 합니다 . AD는 암호화되지 않은 연결을 통한 비밀번호 변경을 허용하지 않습니다.
실행하는 방법에는 여러 가지가 있습니다.
wsgiref를 기반으로 내장된 기본 WSGI 서버를 사용하여,
uWSGI, Waitress, Gunicorn 등과 같은 WSGI 서버에서 ... (권장)
CGI 스크립트로.
간단히 app.py
실행하세요.
python3 app . py
그런 다음 http://localhost:8080에서 앱에 액세스할 수 있습니다. 포트와 호스트는 settings.ini에서 변경할 수 있습니다.
cd ldap-passwd-webui
waitress-serve --listen= * :8080 app:application
이와 같은 마이크로 앱이 많은 경우 각각을 별도의 uWSGI 프로세스에서 실행하는 것은 IMO 다소 과잉입니다. 그렇지 않습니까? 잘 알려져 있지는 않지만 uWSGI를 사용하면 단일 uWSGI 프로세스와 단일 소켓으로 여러 애플리케이션을 "마운트"할 수 있습니다.
[uwsgi]
plugins = python3
socket = /run/uwsgi/main.sock
chdir = /var/www/scripts
logger = file:/var/log/uwsgi/main.log
processes = 1
threads = 2
# map URI paths to applications
mount = /admin/ ldap-passwd-webui =ldap-passwd-webui/app.py
# mount = /admin/change-world=change-world/app.py
manage-script-name = true
server {
listen 443 ssl;
server_name example.org;
ssl_certificate /etc/ssl/nginx/nginx.crt;
ssl_certificate_key /etc/ssl/nginx/nginx.key;
# uWSGI scripts
location /admin/ {
uwsgi_pass unix:/run/uwsgi/main.sock;
include uwsgi_params;
}
}
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 라이센스 전문을 보려면 LICENSE 파일을 참조하십시오.