mirror of
https://github.com/vimagick/dockerfiles.git
synced 2024-11-28 09:08:36 +02:00
add openldap
This commit is contained in:
parent
cecc86da35
commit
c97083c9a8
@ -280,6 +280,7 @@ A collection of delicious docker recipes.
|
|||||||
- [x] mongo
|
- [x] mongo
|
||||||
- [x] neo4j
|
- [x] neo4j
|
||||||
- [x] odoo
|
- [x] odoo
|
||||||
|
- [x] osixia/openldap
|
||||||
- [x] owncloud
|
- [x] owncloud
|
||||||
- [x] phpmyadmin
|
- [x] phpmyadmin
|
||||||
- [x] pihole/pihole
|
- [x] pihole/pihole
|
||||||
|
93
openldap/README.md
Normal file
93
openldap/README.md
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
OpenLDAP
|
||||||
|
========
|
||||||
|
|
||||||
|
[![](https://www.openldap.org/images/headers/LDAPworm.gif)](https://www.openldap.org/)
|
||||||
|
|
||||||
|
OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol.
|
||||||
|
|
||||||
|
## Directory Tree
|
||||||
|
|
||||||
|
```
|
||||||
|
├── data
|
||||||
|
│ ├── certs
|
||||||
|
│ │ ├── ca.crt
|
||||||
|
│ │ ├── ca.key
|
||||||
|
│ │ ├── ca.srl
|
||||||
|
│ │ ├── ldap.crt
|
||||||
|
│ │ ├── ldap.csr
|
||||||
|
│ │ └── ldap.key
|
||||||
|
│ ├── conf (auto generated)
|
||||||
|
│ │ ├── cn=config
|
||||||
|
│ │ ├── cn=config.ldif
|
||||||
|
│ │ └── docker-openldap-was-started-with-tls
|
||||||
|
│ └── data (auto generated)
|
||||||
|
│ ├── data.mdb
|
||||||
|
│ └── lock.mdb
|
||||||
|
└── docker-compose.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
## docker-compose.yml
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
openldap:
|
||||||
|
image: osixia/openldap
|
||||||
|
ports:
|
||||||
|
- "389:389"
|
||||||
|
volumes:
|
||||||
|
- ./data/certs:/container/service/slapd/assets/certs
|
||||||
|
- ./data/conf:/etc/ldap/slapd.d
|
||||||
|
- ./data/data:/var/lib/ldap
|
||||||
|
environment:
|
||||||
|
- LDAP_ORGANISATION=EasyPi
|
||||||
|
- LDAP_DOMAIN=ldap.easypi.pro
|
||||||
|
- LDAP_ADMIN_PASSWORD=admin
|
||||||
|
- LDAP_CONFIG_PASSWORD=config
|
||||||
|
- LDAP_TLS_CA_CRT_FILENAME=ca.crt
|
||||||
|
- LDAP_TLS_CRT_FILENAME=ldap.crt
|
||||||
|
- LDAP_TLS_KEY_FILENAME=ldap.key
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
phpldapadmin:
|
||||||
|
image: osixia/phpldapadmin
|
||||||
|
ports:
|
||||||
|
- "8080:80"
|
||||||
|
environment:
|
||||||
|
- PHPLDAPADMIN_LDAP_HOSTS=openldap
|
||||||
|
- PHPLDAPADMIN_HTTPS=false
|
||||||
|
links:
|
||||||
|
- openldap
|
||||||
|
restart: always
|
||||||
|
```
|
||||||
|
|
||||||
|
## Create Keys and Certificates
|
||||||
|
|
||||||
|
```bash
|
||||||
|
openssl req \
|
||||||
|
-x509 -nodes -days 3650 -sha256 \
|
||||||
|
-subj '/C=US/ST=Oregon/L=Portland/CN=easypi.pro' \
|
||||||
|
-newkey rsa:2048 -keyout ca.key -out ca.crt
|
||||||
|
|
||||||
|
openssl req \
|
||||||
|
-new -sha256 -newkey rsa:2048 -nodes \
|
||||||
|
-subj '/CN=ldap.easypi.pro/O=EasyPi/C=US/ST=Oregon/L=Portland' \
|
||||||
|
-keyout ldap.key -out ldap.csr
|
||||||
|
|
||||||
|
openssl x509 \
|
||||||
|
-req -days 3650 -sha256 \
|
||||||
|
-in ldap.csr -CA ca.crt -CAkey ca.key -CAcreateserial \
|
||||||
|
-out ldap.crt
|
||||||
|
```
|
||||||
|
|
||||||
|
## Test the STARTTLS upgrade
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ docker-compose exec openldap bash
|
||||||
|
>>> ldapwhoami -H ldap://ldap.easypi.pro -x -ZZ
|
||||||
|
anonymous
|
||||||
|
>>> exit
|
||||||
|
exit
|
||||||
|
```
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- https://www.digitalocean.com/community/tutorials/how-to-encrypt-openldap-connections-using-starttls
|
28
openldap/docker-compose.yml
Normal file
28
openldap/docker-compose.yml
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
openldap:
|
||||||
|
image: osixia/openldap
|
||||||
|
ports:
|
||||||
|
- "389:389"
|
||||||
|
volumes:
|
||||||
|
- ./data/certs:/container/service/slapd/assets/certs
|
||||||
|
- ./data/conf:/etc/ldap/slapd.d
|
||||||
|
- ./data/data:/var/lib/ldap
|
||||||
|
environment:
|
||||||
|
- LDAP_ORGANISATION=EasyPi
|
||||||
|
- LDAP_DOMAIN=ldap.easypi.pro
|
||||||
|
- LDAP_ADMIN_PASSWORD=admin
|
||||||
|
- LDAP_CONFIG_PASSWORD=config
|
||||||
|
- LDAP_TLS_CA_CRT_FILENAME=ca.crt
|
||||||
|
- LDAP_TLS_CRT_FILENAME=ldap.crt
|
||||||
|
- LDAP_TLS_KEY_FILENAME=ldap.key
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
phpldapadmin:
|
||||||
|
image: osixia/phpldapadmin
|
||||||
|
ports:
|
||||||
|
- "8080:80"
|
||||||
|
environment:
|
||||||
|
- PHPLDAPADMIN_LDAP_HOSTS=openldap
|
||||||
|
- PHPLDAPADMIN_HTTPS=false
|
||||||
|
links:
|
||||||
|
- openldap
|
||||||
|
restart: always
|
Loading…
Reference in New Issue
Block a user