From 954ce4348a31613d93d93383252a81d6c94b4dbe Mon Sep 17 00:00:00 2001 From: Chad Redman Date: Tue, 9 Jan 2024 19:24:52 -0500 Subject: [PATCH] pgAdmin and test app working; app secure folder admin/ -> wiki/ --- base/Dockerfile | 154 ++++-------------- .../httpd/grouper-testapp.conf | 10 +- base/container_files/pgadmin/pgadmin4.db | Bin 0 -> 172032 bytes .../var-www-html/app/accessError.html | 2 +- .../var-www-html/app/index.php | 31 ++++ .../container_files/var-www-html/app/index.py | 18 -- .../app/{admin => wiki}/index.html | 0 base/container_files/var-www-html/index.html | 8 +- gte | 4 +- 9 files changed, 75 insertions(+), 152 deletions(-) create mode 100644 base/container_files/pgadmin/pgadmin4.db create mode 100644 base/container_files/var-www-html/app/index.php delete mode 100644 base/container_files/var-www-html/app/index.py rename base/container_files/var-www-html/app/{admin => wiki}/index.html (100%) diff --git a/base/Dockerfile b/base/Dockerfile index ab2d7ba..3a4bee4 100644 --- a/base/Dockerfile +++ b/base/Dockerfile @@ -37,10 +37,6 @@ RUN dnf install -y nano nc openldap-clients httpd mod_ssl https://archive.fedora && dnf install -y postgresql-server postgresql-contrib -# Install pgAdmin (ref: https://www.pgadmin.org/download/pgadmin-4-rpm/) -RUN rpm -i https://ftp.postgresql.org/pub/pgadmin/pgadmin4/yum/pgadmin4-redhat-repo-2-1.noarch.rpm \ - && dnf -y install pgadmin4-web - # Init ldap and add basic schemas and OU's COPY container_files/ldap/ /tmp/base/ldap/ @@ -60,16 +56,15 @@ RUN cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG \ && while nc -z localhost 389 > /dev/null; do echo waiting for ldap to stop; sleep 1; done -# install Go app for MailHog -RUN dnf install -y golang \ - && go install github.com/mailhog/MailHog@v1.0.1 - - # Init grouper databases and grouper, needs ldap and db to be up +COPY container_files/usr-local-bin/* /usr/local/bin/ COPY container_files/grouper/conf /opt/grouper/grouperWebapp/WEB-INF/classes/ COPY container_files/postgres/00-init_dbs_and_users.sql /tmp/base/postgres/00-init_dbs_and_users.sql -RUN (/usr/sbin/slapd -h "ldap:/// ldaps:/// ldapi:///" -u ldap &) \ +RUN . /usr/local/bin/library.sh \ + && . /usr/local/bin/librarySetupPipe.sh \ + && setupPipe_logging \ + && (/usr/sbin/slapd -h "ldap:/// ldaps:/// ldapi:///" -u ldap &) \ && while ! nc -z localhost 389 > /dev/null; do echo waiting for ldap to start; sleep 1; done \ && su -l postgres -c /usr/bin/initdb \ && su -l postgres -c "pg_ctl -D /var/lib/pgsql/data -l /tmp/pg_logfile start" \ @@ -82,6 +77,8 @@ RUN (/usr/sbin/slapd -h "ldap:/// ldaps:/// ldapi:///" -u ldap &) \ && su -l postgres -c "pg_ctl -D /var/lib/pgsql/data stop" \ && while nc -z localhost 5432 > /dev/null; do echo waiting for postgres to stop; sleep 1; done +# && (cp ./classes/log4j2.xml.debug ./classes/log4j2.xml; ./bin/gsh.sh -registry -check -runscript -noprompt; cat -n /tmp/logpipe) \ + # overwrite max_connections and other properties COPY container_files/postgres/postgresql.conf /var/lib/pgsql/data/postgresql.conf COPY container_files/postgres/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf @@ -109,6 +106,31 @@ RUN openssl req -new -nodes -newkey rsa:2048 -subj "/commonName=localhost.locald RUN mkdir -p /run/php-fpm/ +# Install pgAdmin (ref: https://www.pgadmin.org/download/pgadmin-4-rpm/) + +RUN rpm -i https://ftp.postgresql.org/pub/pgadmin/pgadmin4/yum/pgadmin4-redhat-repo-2-1.noarch.rpm \ + && dnf -y install pgadmin4-web + +# We will overwrite the generated database with almost the same, but with the server entry added +COPY container_files/pgadmin/ /tmp/base/pgadmin/ + +RUN PGADMIN_SETUP_EMAIL=postgres@localhost.localdomain PGADMIN_SETUP_PASSWORD='Example123' /usr/pgadmin4/bin/setup-web.sh --yes \ + && /usr/bin/cp -p /tmp/base/pgadmin/pgadmin4.db /var/lib/pgadmin/pgadmin4.db \ + && chown apache:apache /var/lib/pgadmin/pgadmin4.db \ + && httpd \ + && curl http://127.0.0.1/pgadmin4/ \ + && pkill httpd \ + && rm -f /run/httpd/httpd.pid + + + +# install Go app for MailHog +RUN dnf install -y golang \ + && go install github.com/mailhog/MailHog@v1.0.1 + + + + # Copy general support files COPY container_files/etc/ /etc/ COPY container_files/shibboleth-sp/ /etc/shibboleth/ @@ -118,7 +140,6 @@ COPY container_files/tier-support/* /opt/tier-support/ COPY container_files/tls/host-key.pem /etc/pki/tls/private/ COPY container_files/tls/* /etc/pki/tls/certs/ COPY container_files/var-www-html/ /var/www/html/ -COPY container_files/usr-local-bin/* /usr/local/bin/ #COPY container_files/usr/share/ /usr/share/ @@ -149,114 +170,3 @@ RUN touch /opt/tomcat/conf/Catalina/localhost/rewrite.config EXPOSE 389 636 5432 443 8080 8443 5005 1025 8025 CMD ["grouper"] - -## =========================================================== -# -#RUN false -# -#RUN dnf install -y procps-ng nano nc mariadb mariadb-server openldap-clients php php-json php-mysqlnd golang https://archive.fedoraproject.org/pub/archive/epel/8.7/Everything/x86_64/Packages/p/phpldapadmin-1.2.6.3-1.el8.noarch.rpm \ -# && dnf install -y 'dnf-command(config-manager)' \ -# && dnf config-manager --set-enabled powertools \ -# && dnf install -y openldap-servers \ -# && dnf clean all -# -#RUN mkdir -p /tmp/phpmyadmin \ -# && cd /tmp/phpmyadmin \ -# && wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zip \ -# && unzip phpMyAdmin-*.zip \ -# && mv phpMyAdmin-*-all-languages /usr/share/phpmyadmin \ -# && mkdir -p /run/php-fpm/ /usr/share/phpmyadmin/tmp/ -# -#COPY container_files/seed-data/ /seed-data/ -# -## TODO get the my.cnf from the old server. These files are in cnf.d and don't have a lot of variables -#RUN mysql_install_db --force \ -# && chown -R mysql:mysql /var/lib/mysql/ /var/log/mariadb \ -# && sed -i 's/^\(bind-address\s.*\)/# \1/' /etc/my.cnf.d/mariadb-server.cnf \ -# && sed -i 's/^\(log_error\s.*\)/# \1/' /etc/my.cnf \ -# && sed -i 's/\[mysqld\]/\[mysqld\]\ncharacter_set_server = utf8/' /etc/my.cnf \ -# && sed -i 's/\[mysqld\]/\[mysqld\]\ncollation_server = utf8_general_ci/' /etc/my.cnf \ -# && sed -i 's/\[mysqld\]/\[mysqld\]\nport = 3306/' /etc/my.cnf \ -# && cat /etc/my.cnf \ -# && echo "/usr/bin/mysqld_safe &" > /tmp/config \ -# && echo "mysqladmin --silent --wait=30 ping || exit 1" >> /tmp/config \ -# && echo "mysql -e 'CREATE USER \"root\"@\"%\"; GRANT ALL PRIVILEGES ON *.* TO \"root\"@\"%\" WITH GRANT OPTION; FLUSH PRIVILEGES'" >> /tmp/config \ -# && echo "mysql -e 'CREATE DATABASE grouper CHARACTER SET utf8 COLLATE utf8_bin;'" >> /tmp/config \ -# && bash /tmp/config \ -# && rm -f /tmp/config -## && mysql grouper < /seed-data/sisData.sql -# -## TODO error ERROR 1133 (28000) at line 1: Can't find any matching row in the user table -# -## On Rocky Linux, slapd defaults to mdg not hdb -## use `ldapsearch -H ldapi:/// -Y EXTERNAL -b "cn=config" -LLL -Q "olcDatabase=*" dn` to config -# -## On Rocky, don't need to import module memberOf (`cat /etc/openldap/slapd.d/cn=config/cn=module{0}.ldif`) -# -#RUN cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG \ -# && mkdir -p /var/ldap/example \ -# && chown -R ldap:ldap /var/lib/ldap /etc/openldap/slapd.d /var/ldap \ -# && (/usr/sbin/slapd -h "ldap:/// ldaps:/// ldapi:///" -u ldap &) \ -# && while ! nc -z localhost 389 > /dev/null; do echo waiting for ldap to start; sleep 1; done \ -# && ldapmodify -Y EXTERNAL -H ldapi:/// -f /seed-data/domain.ldif \ -# && ldapadd -H ldapi:/// -f /etc/openldap/schema/cosine.ldif \ -# && ldapadd -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif \ -# && ldapadd -H ldapi:/// -f /seed-data/memberOf.ldif \ -# && ldapadd -H ldapi:/// -f /seed-data/eduPerson.ldif \ -# && ldapadd -x -D cn=root,dc=internet2,dc=edu -w password -f /seed-data/users.ldif \ -# && pkill -HUP slapd \ -# && while nc -z localhost 389 > /dev/null; do echo waiting for ldap to stop; sleep 1; done -# -## install Go app for MailHog -#RUN dnf install -y golang \ -# && go install github.com/mailhog/MailHog@v1.0.1 -# -#COPY container_files/grouper/conf /opt/grouper/grouperWebapp/WEB-INF/classes/ -##COPY container_files/conf/grouperText/* /opt/grouper/grouperWebapp/WEB-INF/classes/grouperText/ -# -#RUN (/usr/sbin/slapd -h "ldap:/// ldaps:/// ldapi:///" -u ldap &) \ -# && while ! nc -z localhost 389 > /dev/null; do echo waiting for ldap to start; sleep 1; done; \ -# (mysqld_safe & ) \ -# && while ! nc -z localhost 3306 > /dev/null; do echo waiting for mysqld to start; sleep 3; done; \ -# cd /opt/grouper/grouperWebapp/WEB-INF/bin \ -# && ./gsh.sh -registry -check -runscript -noprompt \ -# && pkill -HUP slapd \ -# && while nc -z localhost 389 > /dev/null; do echo waiting for ldap to stop; sleep 1; done; \ -# pkill -u mysql mysqld \ -# && while nc -z localhost 3306 > /dev/null; do echo waiting for mysqld to stop; sleep 1; done -# -#COPY --from=idp /opt/shibboleth-idp/ /opt/shibboleth-idp/ -# -#COPY container_files/etc/ /etc/ -#COPY container_files/httpd/* /etc/httpd/conf.d/ -#COPY container_files/shibboleth-idp/ /opt/shibboleth-idp/ -#COPY container_files/shibboleth-sp/* /etc/shibboleth/ -#COPY container_files/tomcat/ /opt/tomcat/ -#COPY container_files/tier-support/* /opt/tier-support/ -#COPY container_files/tls/host-key.pem /etc/pki/tls/private/ -#COPY container_files/tls/* /etc/pki/tls/certs/ -#COPY container_files/usr-local-bin/* /usr/local/bin/ -#COPY container_files/var-www-html/ /var/www/html/ -#COPY container_files/usr/share/ /usr/share/ -# -##RUN cp /opt/tier-support/grouper.xml /opt/tier-support/grouper-ws.xml /opt/tomcat/conf/Catalina/localhost/ \ -#RUN chown -R tomcat /opt/shibboleth-idp/ \ -# && chmod -R 700 /opt/shibboleth-idp/ \ -# && chmod +rx /var/www/html/app/index.py \ -# && ANT_OPTS="-Didp.noprompt=true -Didp.target.dir=/opt/shibboleth-idp" /opt/shibboleth-idp/bin/build.sh \ -# && chmod go-w /usr/share/phpmyadmin/config.inc.php -# -# -#RUN chown -R tomcat:tomcat /opt/grouper/grouperWebapp -#RUN chown -R tomcat:tomcat /opt/tomcat -#RUN chown -R apache:apache /usr/share/phpmyadmin/tmp/ -# -#ENV GROUPER_START_DELAY_SECONDS=10 \ -# GROUPER_WS_GROUPER_AUTH=true -# -## note 5005 is for remote Java debugging -## 1025 is MailHog SMTP server -## 8025 is MailHog HTTP server -#EXPOSE 389 3306 8080 5005 1025 8025 -# -#CMD ["grouper"] diff --git a/base/container_files/httpd/grouper-testapp.conf b/base/container_files/httpd/grouper-testapp.conf index 3ecb6b5..ed155a1 100644 --- a/base/container_files/httpd/grouper-testapp.conf +++ b/base/container_files/httpd/grouper-testapp.conf @@ -5,17 +5,17 @@ Require shibboleth Options +ExecCGI - AddHandler cgi-script .py + AddHandler cgi-script .php - DirectoryIndex index.py + DirectoryIndex index.php - + AuthType shibboleth ShibRequestSetting requireSession 1 ShibRequireSession on - Require shib-attr eduPersonEntitlement urn:mace:example.edu:admin urn:mace:example.edu:superUser + Require shib-attr eduPersonEntitlement http://sp.example.org/wiki ErrorDocument 401 /app/accessError.html DirectoryIndex index.html - \ No newline at end of file + diff --git a/base/container_files/pgadmin/pgadmin4.db b/base/container_files/pgadmin/pgadmin4.db new file mode 100644 index 0000000000000000000000000000000000000000..a7f8576f96261215b633baf4d19011eebede195b GIT binary patch literal 172032 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 W4SS3pQ)i|PeN{H4Fx)Eo*8d0B(w8m( literal 0 HcmV?d00001 diff --git a/base/container_files/var-www-html/app/accessError.html b/base/container_files/var-www-html/app/accessError.html index 6643c5a..2e68d9e 100644 --- a/base/container_files/var-www-html/app/accessError.html +++ b/base/container_files/var-www-html/app/accessError.html @@ -16,7 +16,7 @@

Authorization Failed

Based on the information provided to this application about you, you are -not authorized to access the resource because you are not an admin or superuser. +not authorized to access the resource because you are missing the proper entitlement.

diff --git a/base/container_files/var-www-html/app/index.php b/base/container_files/var-www-html/app/index.php new file mode 100644 index 0000000..89c09f5 --- /dev/null +++ b/base/container_files/var-www-html/app/index.php @@ -0,0 +1,31 @@ + + + + User Attributes + + + +

SP Logout

+ + + $value) { + if (preg_match('/^([a-z])|(Shib)|REMOTE_USER/', $key)) { + $headers[$key] = $value; + } +} + +ksort($headers); + +foreach ($headers as $header => $value) { + echo "$header: $value
"; +} +?> + +

* This list is a filtered list of environment variables containing the Shibboleth SP attributes.

+ +

Test access to the student wiki (requires eduPersonEntitlement value http://sp.example.org/wiki) + + diff --git a/base/container_files/var-www-html/app/index.py b/base/container_files/var-www-html/app/index.py deleted file mode 100644 index b451037..0000000 --- a/base/container_files/var-www-html/app/index.py +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: UTF-8 -*-# enable debugging -import cgitb -import os - -cgitb.enable() - -print("Content-Type: text/html;charset=utf-8") -print("\n") -print("User Attributes") -print("

SP Logout

") - -for k, v in sorted(os.environ.items()): - if k == "REMOTE_USER" or k.startswith('Shib') or not k[0].isupper(): - print ("%s = %s
" % (k, v)) - -print("

* This list is a filtered list of environment variables containing the Shibboleth SP attributes.

") -print("") \ No newline at end of file diff --git a/base/container_files/var-www-html/app/admin/index.html b/base/container_files/var-www-html/app/wiki/index.html similarity index 100% rename from base/container_files/var-www-html/app/admin/index.html rename to base/container_files/var-www-html/app/wiki/index.html diff --git a/base/container_files/var-www-html/index.html b/base/container_files/var-www-html/index.html index f430eea..b4f3821 100644 --- a/base/container_files/var-www-html/index.html +++ b/base/container_files/var-www-html/index.html @@ -52,10 +52,10 @@

GTE jump page

Civilian: jsmith / password - Database manager - https://localhost:8443/phpmyadmin/ - Phpmyadmin Mysql database manager - root / <no password> + Database manager + https://localhost:8443/pgadmin4/browser/ + pgAdmin PostgreSQL database manager + postgres@localhost.localdomain / Example123 LDAP manager diff --git a/gte b/gte index 856e587..d0f9676 100755 --- a/gte +++ b/gte @@ -9,7 +9,7 @@ EXTRA_ARGS= show_help() { echo "$0 [--sql] [--ldap] [--fg|-it] [docker args ...] [container cmd ...]" - echo " --sql: Expose port 3306" + echo " --sql: Expose port 5432" echo " --ldap: Expose port 389" echo " --fg: Don't detach (i.e., don't run container with -d flag" echo " -h|--help: This help message" @@ -19,7 +19,7 @@ show_help() { for arg in $*; do case $arg in - --sql) EXTRA_ARGS="$EXTRA_ARGS -p 3306:3306"; shift;; + --sql) EXTRA_ARGS="$EXTRA_ARGS -p 5432:5432"; shift;; --ldap) EXTRA_ARGS="$EXTRA_ARGS -p 389:389"; shift;; --fg) is_foreground=1; shift;; -it) is_foreground=1; EXTRA_ARGS="$EXTRA_ARGS $1"; shift;;