This Ansible role automates the installation and configuration of an LDAP server and a Kerberos server on a Raspberry Pi. It is designed for small-scale networks where central authentication is required, such as home labs, educational setups, or small offices.
- Automated LDAP Installation: Installs and configures OpenLDAP server for centralized directory services.
- Kerberos Server Setup: Configures Kerberos for secure authentication and single sign-on (SSO) functionality.
- Customizable Settings: Allows the configuration of domain names, Kerberos realms, admin credentials, and other LDAP/Kerberos settings.
- Raspberry Pi Compatibility: Optimized for lightweight deployment on Raspberry Pi devices.
- Secure Communication: Ensures communication via secure channels with SSL/TLS for LDAP and Kerberos.
- Raspberry Pi running a compatible OS (e.g., Raspberry Pi OS).
- Ansible installed on the control machine.
- Root or sudo privileges on the Raspberry Pi.
Key variables for LDAP and Kerberos configuration are located in the defaults/main.yml
file. Here are some important ones:
# Domain and organization settings for LDAP
ldap_domain: "example.com"
ldap_organization: "Example Organization"
# Kerberos realm settings
kerberos_realm: "EXAMPLE.COM"
kerberos_domain: "example.com"
# LDAP admin credentials
ldap_admin_password: "admin_password"
# Kerberos admin credentials
kerberos_admin_password: "admin_password"
These variables can be overridden in your playbook or inventory.
Here is an example of how to use this role in your playbook:
---
- hosts: raspberrypi
become: true
roles:
- role: ansible-ldap-Kerberose-server-rpi
vars:
ldap_domain: "mydomain.com"
ldap_organization: "My Organization"
ldap_admin_password: "supersecretpassword"
kerberos_realm: "MYDOMAIN.COM"
kerberos_domain: "mydomain.com"
kerberos_admin_password: "supersecurepassword"
To install and use this role:
-
Clone this repository to your local machine:
git clone https://github.com/OddRefrigerator/ansible-ldap-Kerberose-server-rpi.git
-
Include the role in your Ansible playbook.
-
Run the playbook to configure the LDAP and Kerberos servers on your Raspberry Pi:
ansible-playbook -i inventory my-playbook.yml
- Ensure that your passwords are securely stored, either by encrypting them using Ansible Vault or managing them via an external secret management system.
- Enable TLS/SSL for secure LDAP communication.
- Ensure that proper firewall rules are in place to protect the server.
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! If you have suggestions for improvements or encounter any issues, feel free to open an issue or submit a pull request.
- Fork the repository.
- Create a new branch for your feature or bug fix:
git checkout -b feature-name
- Commit your changes:
git commit -m "Description of your feature or fix"
- Push to your branch:
git push origin feature-name
- Open a Pull Request and provide a detailed explanation of your changes.
This role was created by OddRefrigerator.
For any inquiries or issues, feel free to open an issue on GitHub or contact the repository owner.