diff --git a/Dockerfile b/Dockerfile index abdae5e..b1527f8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -85,6 +85,9 @@ ENV MYSQL_HOST "i2mariadb" ENV MYSQL_DATABASE "registry" ENV MYSQL_USER "registry_user" ENV MYSQL_PASSWORD "WJzesbe3poNZ91qIbmR7" +ENV ADMIN_FAMILY "admin" +ENV ADMIN_USERNAME "admin" +ENV ADMIN_NAME "admin" ENV TERM "testterm" # How long will we wait for MariaDB to start up? ENV WAIT_TIME 60 @@ -100,6 +103,13 @@ RUN ln -s /opt/etc/httpd/conf.d/ports.conf /etc/httpd/conf.d/ports.conf RUN ln -s /opt/etc/httpd/conf.d/handlers.conf /etc/httpd/conf.d/handlers.conf RUN ln -s /opt/etc/httpd/conf.d/virtual_host_80.conf /etc/httpd/conf.d/00-comanage-80.conf +#Add php Configuration +RUN ln -s /opt/etc/php/EmailSheel.php /opt/comanage/comanage-registry-$version/app/Console/Command/EmailSheel.php +RUN ln -s /opt/etc/php/database.php /opt/comanage/comanage-registry-$version/local/Config/database.php +RUN rm -f /opt/comanage/comanage-registry-$version/app/Config/database.php && ln -s /opt/etc/php/database.php /opt/comanage/comanage-registry-$version/app/Config/database.php +RUN ln -s /opt/etc/php/email.php /opt/comanage/comanage-registry-$version/local/Config/email.php +RUN rm -f /opt/comanage/comanage-registry-$version/app/Config/email.php && ln -s /opt/etc/php/email.php /opt/comanage/comanage-registry-$version/app/Config/email.php + # Port EXPOSE 80 443 diff --git a/container_files/bin/cleanup.sh b/container_files/bin/cleanup.sh index a9bf588..183ddb4 100755 --- a/container_files/bin/cleanup.sh +++ b/container_files/bin/cleanup.sh @@ -1 +1,11 @@ #!/bin/bash + +log=/tmp/cleanup.log + +date >> $log + +echo "Cleaning firsttimerunning" >> $log + +rm /tmp/firsttimerunning + + diff --git a/container_files/bin/configure.sh b/container_files/bin/configure.sh index afc0de0..1192411 100755 --- a/container_files/bin/configure.sh +++ b/container_files/bin/configure.sh @@ -2,8 +2,9 @@ /opt/bin/configure_httpd.sh +/opt/bin/configure_shibd.sh + /opt/bin/configure_php.sh -/opt/bin/configure_shibd.sh diff --git a/container_files/bin/configure_php.sh b/container_files/bin/configure_php.sh index 0a8ecd1..874a785 100755 --- a/container_files/bin/configure_php.sh +++ b/container_files/bin/configure_php.sh @@ -1,7 +1,62 @@ #!/bin/bash log="/tmp/php.log" +date >> $log +echo "Configuring php: " >> $log -echo "Configuring php: " > $log +echo " " >> $log +echo "Checking variables before configuring config files " >> $log +if [[ $MYSQL_HOST && ${MYSQL_HOST-x} ]] && [[ $MYSQL_USER && ${MYSQL_USER-x} ]] && [[ $MYSQL_PASSWORD && ${MYSQL_PASSWORD-x} ]] && [[ $MYSQL_DATABASE && ${MYSQL_DATABASE-x} ]] && [[ $COMANAGE_MAIL_FROM && ${COMANAGE_MAIL_FROM-x} ]] && [[ $COMANAGE_MAIL_HOST && ${COMANAGE_MAIL_HOST-x} ]] && [[ $COMANAGE_MAIL_PORT && ${COMANAGE_MAIL_PORT-x} ]] && [[ $COMANAGE_MAIL_USER && ${COMANAGE_MAIL_USER-x} ]] && [[ $COMANAGE_MAIL_PASS && ${COMANAGE_MAIL_PASS-x} ]]; then + sed -i "s|CHANGE_TO_ENV_MYSQL_HOST|$MYSQL_HOST|g" /opt/etc/php/database.php + sed -i "s|CHANGE_TO_ENV_MYSQL_USERNAME|$MYSQL_USER|g" /opt/etc/php/database.php + sed -i "s|CHANGE_TO_ENV_MYSQL_PASSWORD|$MYSQL_PASSWORD|g" /opt/etc/php/database.php + sed -i "s|CHANGE_TO_ENV_MYSQL_TABLE|$MYSQL_DATABASE|g" /opt/etc/php/database.php + sed -i "s|CHANGE_TO_COMANAGE_MAIL_FROM|$COMANAGE_MAIL_FROM|g" /opt/etc/php/email.php + sed -i "s|CHANGE_TO_COMANAGE_MAIL_HOST|$COMANAGE_MAIL_HOST|g" /opt/etc/php/email.php + sed -i "s|CHANGE_TO_COMANAGE_MAIL_PORT|$COMANAGE_MAIL_PORT|g" /opt/etc/php/email.php + sed -i "s|CHANGE_TO_COMANAGE_MAIL_USER|$COMANAGE_MAIL_USER|g" /opt/etc/php/email.php + sed -i "s|CHANGE_TO_COMANAGE_MAIL_PASS|$COMANAGE_MAIL_PASS|g" /opt/etc/php/email.php + echo "Variables process was completed without any error" >> $log +else + echo "Variables are not totally filled so no configuration was performed" >> $log +fi +date >> $log +if [ -z ${COMPOSE+x} ];then + echo "Comanage is not composed no database configuration will be perform" >> $log +else + echo "Comanage is composed. Checking variables to Configure first database data" >> $log + if [[ $ADMIN_NAME && ${ADMIN_NAME-x} ]] && [[ $ADMIN_FAMILY && ${ADMIN_FAMILY-x} ]] && [[ $ADMIN_USERNAME && ${ADMIN_USERNAME-x} ]] && [[ $VERSION && ${VERSION-x} ]]; then + echo "Variables are ok" >> $log + echo "Doing first configuration in database data" >> $log + cd /opt/comanage/comanage-registry-$VERSION/app + ./Console/cake database >> $log + laststatus=$? + echo "Composed status: $laststatus" >> $log + if [ "$laststatus" != "0" ]; then + echo "Not composed non-zero exit status: $laststatus" >> $log + echo "Console cake database script failed" >> $log + exit 1 + fi + date >> $log + echo "First database input was completed whithout any error" >> $log + echo "Doing variable parsing" >> $log + sed -i "s|ADMIN_NAME|$ADMIN_NAME|g" /opt/bin/configure_php_user.sh + sed -i "s|ADMIN_FAMILY|$ADMIN_FAMILY|g" /opt/bin/configure_php_user.sh + sed -i "s|ADMIN_USERNAME|$ADMIN_USERNAME|g" /opt/bin/configure_php_user.sh + /opt/bin/configure_php_user.sh + laststatus=$? + if [ "$laststatus" != "0" ]; then + echo "Not composed non-zero exit status: $laststatus" >> $log + echo "Console cake database setup script failed" >> $log + exit 1 + fi + date >> $log + echo "Configuration of database was completed" >> $log + else + echo "Variables were not provided . Configuration of database is not possible" >> $log + date >> $log + fi + +fi diff --git a/container_files/bin/configure_php_user.sh b/container_files/bin/configure_php_user.sh new file mode 100755 index 0000000..b92f170 --- /dev/null +++ b/container_files/bin/configure_php_user.sh @@ -0,0 +1,7 @@ +log=/tmp/php-user.sh + +date >> $log +cd /opt/comanage/comanage-registry-$VERSION/app +echo "Performing database user setup" >> $log +./Console/cake setup --admin-given-name ADMIN_NAME --admin-family-name ADMIN_FAMILY --admin-username ADMIN_USERNAME --enable-pooling=No --force >> $log + diff --git a/container_files/bin/start.sh b/container_files/bin/start.sh index 174489a..e505c85 100755 --- a/container_files/bin/start.sh +++ b/container_files/bin/start.sh @@ -1,7 +1,7 @@ #!/bin/bash - log="/tmp/start-starting.log" date >> $log + if [ -z ${COMPOSE+x} ] then echo "Not composed so not waiting for MariaDB: " > $log