Sau khi hiểu cấu hình của proxy OpenLDAP sẽ như thế nào, đã đến lúc giải thích việc cài đặt proxy OpenLDAP và cách vận hành nó. Trong bài đăng này, chúng ta sẽ đề cập đến cách cài đặt proxy OpenLDAP cả cục bộ và sử dụng docker.
Cài đặt cục bộ
Việc cài đặt khá dễ dàng, có một vài gói cần được cài đặt bao gồm máy chủ ldap, máy khách ldap và một số tiện ích. Các bước dưới đây dành cho CentOS, hướng dẫn cho các nền tảng khác sẽ tương tự với những khác biệt nhỏ về tên gói và vị trí gói.
- Cài đặt openldap openldap-clients openldap-servers
yum install openldap openldap-clients openldap-servers - Tạo /etc/openldap/slapd.conf nếu chưa tồn tại.
- Cập nhật /etc/openldap/slapd.conf thêm mục LDAP (Kiểm tra bài đăng trước đó về cấu hình sẽ như thế nào)
- Xóa nội dung hiện tại của /etc/openldap/slapd.d/
rm -rf /etc/openldap/slapd.d/* - Tạo lại cấu hình
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/ - Thay đổi chủ sở hữu của thư mục cấu hình thành ldap. Đối với Ubuntu, đó là openldap.
chown -R ldap:ldap /etc/openldap/slapd.d - Khởi động lại dịch vụ slapd
/etc/init.d/slapd restart
Điều này sẽ khởi chạy proxy OpenLDAP với các cấu hình bạn muốn. Nếu bạn không muốn sử dụng kiểu cấu hình LDIF, bạn có thể xóa thư mục /etc/ldap/slapd.d sau khi cập nhật tệp /etc/ldap/slapd.conf.
Cài đặt Docker
Docker đã trở thành một phương pháp phổ biến để lưu trữ một dịch vụ duy nhất cho một mục đích cụ thể. Proxy OpenLDAP phù hợp hoàn hảo với mô hình này. Do đó, chúng tôi cũng sẽ giới thiệu cách thiết lập proxy OpenLDAP bằng Docker và docker-compose. Nếu bạn không biết về các tiện ích này, vui lòng đọc một số tài nguyên trực tuyến trước.
Các bước để thiết lập proxy OpenLDAP là:
- Tạo một thư mục có tên openldap_proxy, bạn có thể chọn bất kỳ tên nào bạn muốn. Và vào thư mục openldap_proxy.
- Tạo một Dockerfile và đặt nội dung sau (Đây chỉ là một ví dụ)
# Kéo ảnh cơ sở từ nguồn được ủy quyền FROM centos:7 # Cài đặt các gói cần thiết cho máy chủ proxy LDAP RUN yum install openldap openldap-clients openldap-servers -y # Tạo các thư mục cần thiết RUN mkdir -p /root/openldap_proxy && \ mkdir -p /root/openldap_proxy/tmp && \ mkdir -p /root/openldap_proxy/data && \ mkdir -p /root/openldap_proxy/data/certs # Xóa các thư mục không cần thiết RUN rm -rf /etc/openldap/slapd.d # Sao chép tệp vào container COPY ./start.sh /root/openldap_proxy/start.sh COPY ./slapd.conf /etc/openldap/slapd.conf # Thêm quyền thực thi RUN chmod 755 /root RUN chmod +x /root/openldap_proxy/start.sh # Điểm vào ENTRYPOINT ["/root/openldap_proxy/start.sh"]
- Lưu Dockerfile
- Đặt tệp slapd.conf vào thư mục openldap_proxy và tạo một tệp có tên start.sh trong openldap_proxy
- Trong start.sh, đặt nội dung bên dưới
#!/bin/bash TOPDIR=$(dirname $0) cd $TOPDIR && TOPDIR=$PWD # Tạo chứng chỉ nếu chưa tồn tại DESTDIR="$TOPDIR/data/certs" APP_FQDN=$(hostname -f) [[ -d $DESTDIR ]] || mkdir -p $DESTDIR APP_GEN_CERT='openssl req -x509 -nodes -days 365 -newkey rsa:2048' APP_GEN_CERT="$APP_GEN_CERT -keyout $DESTDIR/ldap.key -out $DESTDIR/ldap.crt" APP_GEN_CERT="$APP_GEN_CERT -subj '/CN=$APP_FQDN/OU=TestOU/O=Organization/L=Location/ST=State/C=Country'" APP_GEN_CERT="[[ -f $DESTDIR/ldap.crt ]] || $APP_GEN_CERT" eval $APP_GEN_CERT # Chạy lệnh docker-compose exec "$@"
- start.sh là điểm vào của container Docker và nó sẽ được sao chép vào container và chạy khi container docker khởi động. Tập lệnh sẽ trước tiên tạo một chứng chỉ sẽ được sử dụng bởi proxy nếu nó phục vụ các yêu cầu SSL và sau đó nó xử lý việc thực thi lệnh được truyền vào start.sh, đó sẽ là tùy chọn command trong docker-compose.yml sẽ được tạo sau
- Tạo một ảnh docker có tên my_openldap_proxy.
docker build -t my_openldap_proxy . - Tiếp theo, ra khỏi một cấp của thư mục openpldap_proxy (cd ../)
- Tạo một tệp docker-compose.yml với nội dung bên dưới
my_openldap_proxy: image: my_openldap_proxy:latest container_name: my_openldap_proxy ports: - '389:389' - "636:636" volumes: - shared_data:/root/openldap_proxy/data command: bash -l -c "cd /root/openldap_proxy && /usr/sbin/slapd -h 'ldap:/// ldapi:/// ldaps:///' -g ldap -u ldap -d 2"
- Lưu lại và sau đó chạy lệnh docker-compose up -d. Lệnh này sẽ xây dựng container nếu nó không tồn tại và khởi động nó ở chế độ tách rời.
Các bước cài đặt khá dễ dàng. Sẽ có một số cài đặt khác nếu bạn muốn thêm máy chủ LDAP từ xa được bật SSL vào cấu hình của mình, chúng tôi sẽ đề cập đến chúng trong một bài đăng trong tương lai. Hãy đón xem.