From 8094be3430bd543c2e4b38d3bfc049df435dbd14 Mon Sep 17 00:00:00 2001 From: Bertrand Gouny Date: Tue, 26 Jul 2016 14:16:48 +0200 Subject: [PATCH] Add PHPLDAPADMIN_SERVER_PATH environment variable --- CHANGELOG.md | 3 ++ Makefile | 2 +- README.md | 35 ++++++++++--------- example/kubernetes/phpldapadmin-rc.yaml | 4 ++- image/environment/default.yaml | 1 + .../phpldapadmin/assets/apache2/http.conf | 2 +- .../phpldapadmin/assets/apache2/https.conf | 2 +- 7 files changed, 28 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ea1aae7..99960ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +## 0.6.10 + - Add PHPLDAPADMIN_SERVER_PATH environment variable + ## 0.6.9 - Upgrade baseimage: web-baseimage:0.1.10 diff --git a/Makefile b/Makefile index 5a6bd0f..bfcba8a 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ NAME = osixia/phpldapadmin -VERSION = 0.6.9 +VERSION = 0.6.10 .PHONY: all build build-nocache test tag_latest release diff --git a/README.md b/README.md index 288b45f..c8c0568 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ [hub]: https://hub.docker.com/r/osixia/phpldapadmin/ -Latest release: 0.6.9 - phpLDAPadlin 1.2.3 (with php5.5 patch) - [Changelog](CHANGELOG.md) | [Docker Hub](https://hub.docker.com/r/osixia/phpldapadmin/)  +Latest release: 0.6.10 - phpLDAPadlin 1.2.3 (with php5.5 patch) - [Changelog](CHANGELOG.md) | [Docker Hub](https://hub.docker.com/r/osixia/phpldapadmin/)  A docker image to run phpLDAPadmin. > [phpldapadmin.sourceforge.net](http://phpldapadmin.sourceforge.net) @@ -26,7 +26,7 @@ A docker image to run phpLDAPadmin. - [Link environment file](#link-environment-file) - [Make your own image or extend this image](#make-your-own image-or-extend-this-image) - [Advanced User Guide](#advanced-user-guide) - - [Extend osixia/phpldapadmin:0.6.9 image](#extend-osixiaphpldapadmin069-image) + - [Extend osixia/phpldapadmin:0.6.10 image](#extend-osixiaphpldapadmin0610-image) - [Make your own phpLDAPadmin image](#make-your-own-phpldapadmin-image) - [Tests](#tests) - [Kubernetes](#kubernetes) @@ -39,7 +39,7 @@ Run a phpLDAPadmin docker image by replacing `ldap.example.com` with your ldap h docker run -p 6443:443 \ --env PHPLDAPADMIN_LDAP_HOSTS=ldap.example.com \ - --detach osixia/phpldapadmin:0.6.9 + --detach osixia/phpldapadmin:0.6.10 That's it :) you can access phpLDAPadmin on [https://localhost:6443](https://localhost:6443) @@ -50,7 +50,7 @@ Example script: #!/bin/bash -e docker run --name ldap-service --hostname ldap-service --detach osixia/openldap:1.1.1 - docker run --name phpldapadmin-service --hostname phpldapadmin-service --link ldap-service:ldap-host --env PHPLDAPADMIN_LDAP_HOSTS=ldap-host --detach osixia/phpldapadmin:0.6.9 + docker run --name phpldapadmin-service --hostname phpldapadmin-service --link ldap-service:ldap-host --env PHPLDAPADMIN_LDAP_HOSTS=ldap-host --detach osixia/phpldapadmin:0.6.10 PHPLDAP_IP=$(docker inspect -f "{{ .NetworkSettings.IPAddress }}" phpldapadmin-service) @@ -67,7 +67,7 @@ but setting your own config.php is possible. 2 options: - Link your config file at run time to `/container/service/phpldapadmin/assets/config.php` : - docker run --volume /data/my-config.php:/container/service/phpldapadmin/assets/config.php --detach osixia/phpldapadmin:0.6.9 + docker run --volume /data/my-config.php:/container/service/phpldapadmin/assets/config.php --detach osixia/phpldapadmin:0.6.10 - Add your config file by extending or cloning this image, please refer to the [Advanced User Guide](#advanced-user-guide) @@ -76,7 +76,7 @@ but setting your own config.php is possible. 2 options: #### Use autogenerated certificate By default HTTPS is enable, a certificate is created with the container hostname (it can be set by docker run --hostname option eg: phpldapadmin.my-company.com). - docker run --hostname phpldapadmin.my-company.com --detach osixia/phpldapadmin:0.6.9 + docker run --hostname phpldapadmin.my-company.com --detach osixia/phpldapadmin:0.6.10 #### Use your own certificate @@ -86,14 +86,14 @@ You can set your custom certificate at run time, by mounting a directory contain --env PHPLDAPADMIN_HTTPS_CRT_FILENAME=my-cert.crt \ --env PHPLDAPADMIN_HTTPS_KEY_FILENAME=my-cert.key \ --env PHPLDAPADMIN_HTTPS_CA_CRT_FILENAME=the-ca.crt \ - --detach osixia/phpldapadmin:0.6.9 + --detach osixia/phpldapadmin:0.6.10 Other solutions are available please refer to the [Advanced User Guide](#advanced-user-guide) #### Disable HTTPS Add --env PHPLDAPADMIN_HTTPS=false to the run command : - docker run --env PHPLDAPADMIN_HTTPS=false --detach osixia/phpldapadmin:0.6.9 + docker run --env PHPLDAPADMIN_HTTPS=false --detach osixia/phpldapadmin:0.6.10 ### Fix docker mounted file problems @@ -101,7 +101,7 @@ You may have some problems with mounted files on some systems. The startup scrip To fix that run the container with `--copy-service` argument : - docker run [your options] osixia/phpldapadmin:0.6.9 --copy-service + docker run [your options] osixia/phpldapadmin:0.6.10 --copy-service ### Debug @@ -110,11 +110,11 @@ Available levels are: `none`, `error`, `warning`, `info`, `debug` and `trace`. Example command to run the container in `debug` mode: - docker run --detach osixia/phpldapadmin:0.6.9 --loglevel debug + docker run --detach osixia/phpldapadmin:0.6.10 --loglevel debug See all command line options: - docker run osixia/phpldapadmin:0.6.9 --help + docker run osixia/phpldapadmin:0.6.10 --help ## Environment Variables @@ -167,12 +167,13 @@ See how to [set your own environment variables](#set-your-own-environment-variab If you want to set this variable at docker run command add the tag `#PYTHON2BASH:` and convert the yaml in python: - docker run --env PHPLDAPADMIN_LDAP_HOSTS="#PYTHON2BASH:[{'ldap.example.org': [{'server': [{'tls': True}]},{'login': [{'bind_id': 'cn=admin,dc=example,dc=org'}]}]}, 'ldap2.example.org', 'ldap3.example.org']" --detach osixia/phpldapadmin:0.6.9 + docker run --env PHPLDAPADMIN_LDAP_HOSTS="#PYTHON2BASH:[{'ldap.example.org': [{'server': [{'tls': True}]},{'login': [{'bind_id': 'cn=admin,dc=example,dc=org'}]}]}, 'ldap2.example.org', 'ldap3.example.org']" --detach osixia/phpldapadmin:0.6.10 To convert yaml to python online: http://yaml-online-parser.appspot.com/ Apache : - **PHPLDAPADMIN_SERVER_ADMIN**: Server admin email. Defaults to `webmaster@example.org` +- **PHPLDAPADMIN_SERVER_PATH**: Server path (usefull if behind a reverse proxy). Defaults to `/phpldapadmin` HTTPS : - **PHPLDAPADMIN_HTTPS**: Use apache ssl config. Defaults to `true` @@ -203,14 +204,14 @@ Other environment variables: Environment variables can be set by adding the --env argument in the command line, for example: docker run --env PHPLDAPADMIN_LDAP_HOSTS="ldap.example.org" \ - --detach osixia/phpldapadmin:0.6.9 + --detach osixia/phpldapadmin:0.6.10 #### Link environment file For example if your environment file is in : /data/environment/my-env.yaml docker run --volume /data/environment/my-env.yaml:/container/environment/01-custom/env.yaml \ - --detach osixia/phpldapadmin:0.6.9 + --detach osixia/phpldapadmin:0.6.10 Take care to link your environment file to `/container/environment/XX-somedir` (with XX < 99 so they will be processed before default environment files) and not directly to `/container/environment` because this directory contains predefined baseimage environment files to fix container environment (INITRD, LANG, LANGUAGE and LC_CTYPE). @@ -220,13 +221,13 @@ This is the best solution if you have a private registry. Please refer to the [A ## Advanced User Guide -### Extend osixia/phpldapadmin:0.6.9 image +### Extend osixia/phpldapadmin:0.6.10 image If you need to add your custom TLS certificate, bootstrap config or environment files the easiest way is to extends this image. Dockerfile example: - FROM osixia/phpldapadmin:0.6.9 + FROM osixia/phpldapadmin:0.6.10 MAINTAINER Your Name ADD https-certs /container/service/phpldapadmin/assets/apache2/certs @@ -248,7 +249,7 @@ Clone this project : Adapt Makefile, set your image NAME and VERSION, for example : NAME = osixia/phpldapadmin - VERSION = 0.6.9 + VERSION = 0.6.10 becomes : NAME = billy-the-king/phpldapadmin diff --git a/example/kubernetes/phpldapadmin-rc.yaml b/example/kubernetes/phpldapadmin-rc.yaml index 035e8b6..359c96f 100644 --- a/example/kubernetes/phpldapadmin-rc.yaml +++ b/example/kubernetes/phpldapadmin-rc.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: phpldapadmin - image: osixia/phpldapadmin:0.6.9 + image: osixia/phpldapadmin:0.6.10 volumeMounts: - name: phpldapadmin-certs mountPath: /container/service/phpldapadmin/assets/apache2/certs @@ -28,6 +28,8 @@ spec: value: "[{'ldap.example.org': [{'server': [{'tls': 'true'}]}]}]" - name: PHPLDAPADMIN_SERVER_ADMIN value: "webmaster@example.org" + - name: PHPLDAPADMIN_SERVER_PATH + value: "/phpldapadmin" - name: PHPLDAPADMIN_HTTPS value: "true" - name: PHPLDAPADMIN_HTTPS_CRT_FILENAME diff --git a/image/environment/default.yaml b/image/environment/default.yaml index b363a36..ced786e 100644 --- a/image/environment/default.yaml +++ b/image/environment/default.yaml @@ -9,6 +9,7 @@ PHPLDAPADMIN_LDAP_HOSTS: # Apache PHPLDAPADMIN_SERVER_ADMIN: webmaster@example.org +PHPLDAPADMIN_SERVER_PATH: /phpldapadmin # Self signed certificat will be generated # if PHPLDAPADMIN_HTTPS is set to true and no certificat and key are provided. diff --git a/image/service/phpldapadmin/assets/apache2/http.conf b/image/service/phpldapadmin/assets/apache2/http.conf index 953f630..74bcfe2 100644 --- a/image/service/phpldapadmin/assets/apache2/http.conf +++ b/image/service/phpldapadmin/assets/apache2/http.conf @@ -2,7 +2,7 @@ ServerName ${HOSTNAME} ServerAdmin ${PHPLDAPADMIN_SERVER_ADMIN} - ServerPath /phpldapadmin + ServerPath ${PHPLDAPADMIN_SERVER_PATH} DocumentRoot /var/www/phpldapadmin/htdocs diff --git a/image/service/phpldapadmin/assets/apache2/https.conf b/image/service/phpldapadmin/assets/apache2/https.conf index bbfc037..fd74948 100644 --- a/image/service/phpldapadmin/assets/apache2/https.conf +++ b/image/service/phpldapadmin/assets/apache2/https.conf @@ -2,7 +2,7 @@ ServerName ${HOSTNAME} ServerAdmin ${PHPLDAPADMIN_SERVER_ADMIN} - ServerPath /phpldapadmin + ServerPath ${PHPLDAPADMIN_SERVER_PATH} DocumentRoot /var/www/phpldapadmin/htdocs