Add test mgr setup

This commit is contained in:
Jan Dittberner 2020-12-22 08:49:18 +01:00
parent 8e7f8c3d46
commit 30ddadd954
14 changed files with 345 additions and 64 deletions

View file

@ -4,16 +4,6 @@ set -eux
# Apache gets grumpy about PID files pre-existing
rm -f /run/apache2/apache2.pid
cp /usr/local/etc/testca/certs/test.cacert.localhost.crt.pem /etc/ssl/certs/
cp /usr/local/etc/testca/certs/test.cacert.localhost.key.pem /etc/ssl/private/
(
openssl x509 -in /usr/local/etc/testca/class3/ca.crt.pem
openssl x509 -in /usr/local/etc/testca/root/ca.crt.pem
) >/etc/ssl/certs/combined.crt
cp /usr/local/etc/testca/certs/secure.test.cacert.localhost.crt.pem /etc/ssl/certs/
cp /usr/local/etc/testca/certs/secure.test.cacert.localhost.key.pem /etc/ssl/private/
cp /usr/local/etc/application/feed.rss /www/pages/index/feed.rss
make -C /www/locale

17
docker/apache-mgr-foreground Executable file
View file

@ -0,0 +1,17 @@
#!/bin/sh
set -eux
# Apache gets grumpy about PID files pre-existing
rm -f /run/apache2/apache2.pid
sed "s/@MYSQL_MGR_USER@/${MYSQL_MGR_USER}/g; s/@MYSQL_MGR_PASSWORD@/${MYSQL_MGR_PASSWORD}/g" \
/usr/local/etc/mgr-application.ini > /var/www/manager/application/configs/application.ini
mysql -u "${MYSQL_MGR_USER}" -h db "-p${MYSQL_MGR_PASSWORD}" mgr <<-EOF
REPLACE INTO system_user (id, system_role_id, login, user_client_crt_s_dn_i_dn)
VALUES (2, 2,'${CLIENT_CERT_EMAIL}','/CN=${CLIENT_CERT_USERNAME}///C=AU/O=CAcert Inc./CN=Class 3 Test CA');
EOF
apache2ctl start "$@"
exec tail -F --follow=name --retry /var/log/apache2/error.log

View file

@ -0,0 +1,21 @@
<VirtualHost *:443>
ServerName mgr.cacert.localhost
ServerAlias www.mgr.cacert.localhost
DocumentRoot /var/www/manager/public
SSLEngine on
SSLStrictSNIVHostCheck on
SSLProtocol all -SSLv2 -SSLv3 -TLSv1
SSLHonorCipherOrder on
SSLCipherSuite kEECDH:kEDH:AESGCM:ALL:!3DES!RC4:!LOW:!EXP:!MD5:!aNULL:!eNULL
SSLCertificateFile /etc/ssl/certs/mgr.cacert.localhost.crt.pem
SSLCertificateKeyFile /etc/ssl/private/mgr.cacert.localhost.key.pem
SSLCertificateChainFile /etc/ssl/certs/combined.crt
SSLCACertificateFile /etc/ssl/certs/combined.crt
SSLVerifyClient require
SSLVerifyDepth 2
SSLOptions +StdEnvVars
Header always set Strict-Transport-Security "max-age=31536000"
</VirtualHost>

View file

@ -4,15 +4,15 @@ set -eux
mysql -h localhost -u root "-p$MYSQL_ROOT_PASSWORD" <<-EOF
CREATE database cacert CHARSET latin1 COLLATE latin1_swedish_ci;
CREATE USER $MYSQL_APP_USER@'%' IDENTIFIED BY '$MYSQL_APP_PASSWORD';
GRANT CREATE TEMPORARY TABLES ON cacert.* TO $MYSQL_APP_USER@'%';
GRANT SELECT, INSERT, UPDATE, DELETE ON cacert.* TO $MYSQL_APP_USER@'%';
CREATE database mgr CHARSET utf8 COLLATE utf8_unicode_ci;
EOF
for script in /db_migrations/*.sh; do
sh "$script" -h localhost -u root "-p$MYSQL_ROOT_PASSWORD" cacert
done
mysql -h localhost -u root "-p$MYSQL_ROOT_PASSWORD" mgr </mgr_dbadm/ca_mgr.mysql
mysql -h localhost -u root "-p$MYSQL_ROOT_PASSWORD" cacert <<-'EOF'
INSERT INTO languages (locale, en_co, en_lang, country, lang)
VALUES ('sq_AL', 'Albania', 'Albanian', 'Shqip&euml;ria', 'shqipe'),
@ -114,4 +114,15 @@ VALUES ('sq_AL', 'Albania', 'Albanian', 'Shqip&euml;ria', 'shqipe'),
('es_VE', 'Venezuela', 'Spanish', 'Venezuela', 'Espa&ntilde;ol'),
('vi_VN', 'Vietnam', 'Vietnamese', 'Vi&#7879;t Nam', 'Ti&#7875;ng Vi&#7879;t'),
('ar_YE', 'Yemen', 'Arabic', '&#65254;&#65252;&#65268;&#65248;&#65165;', '&#65172;&#65268;&#65168;&#65198;&#65228;&#65248;&#65165;');
EOF
EOF
mysql -h localhost -u root "-p$MYSQL_ROOT_PASSWORD" <<-EOF
CREATE USER $MYSQL_APP_USER@'%' IDENTIFIED BY '$MYSQL_APP_PASSWORD';
GRANT CREATE TEMPORARY TABLES ON cacert.* TO $MYSQL_APP_USER@'%';
GRANT SELECT, INSERT, UPDATE, DELETE ON cacert.* TO $MYSQL_APP_USER@'%';
CREATE USER $MYSQL_MGR_USER@'%' IDENTIFIED BY '$MYSQL_MGR_PASSWORD';
GRANT CREATE TEMPORARY TABLES ON mgr.* TO $MYSQL_MGR_USER@'%';
GRANT SELECT, INSERT, UPDATE, DELETE ON mgr.* TO $MYSQL_MGR_USER@'%';
GRANT SELECT, INSERT, UPDATE, DELETE ON cacert.users TO $MYSQL_MGR_USER@'%';
EOF

View file

@ -0,0 +1,57 @@
[production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
includePaths.library = LIBRARY_PATH
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.noViewRenderer = 0
resources.frontController.noErrorHandler = 0
resources.frontController.useDefaultControllerAlways = 0
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
resources.view[] =
autoloadernamespaces.0 = "CAcert_"
; Database settings for Session DB
ca_mgr.db.session.pdo = "Pdo_Mysql"
ca_mgr.db.session.autocleanup = 1
ca_mgr.db.session.host = "db"
ca_mgr.db.session.username = "@MYSQL_MGR_USER@"
ca_mgr.db.session.password = "@MYSQL_MGR_PASSWORD@"
ca_mgr.db.session.dbname = "mgr"
; Database settings for Auth DB (CACert User Table)
ca_mgr.db.auth.pdo = "Pdo_Mysql"
ca_mgr.db.auth.host = "db"
ca_mgr.db.auth.username = "@MYSQL_MGR_USER@"
ca_mgr.db.auth.password = "@MYSQL_MGR_PASSWORD@"
ca_mgr.db.auth.dbname = "cacert"
ca_mgr.db.auth.tablename = "users"
; Database settings for Auth DB (Manager User Table)
ca_mgr.db.auth2.pdo = "Pdo_Mysql"
ca_mgr.db.auth2.host = "db"
ca_mgr.db.auth2.username = "@MYSQL_MGR_USER@"
ca_mgr.db.auth2.password = "@MYSQL_MGR_PASSWORD@"
ca_mgr.db.auth2.dbname = "mgr"
ca_mgr.db.auth2.tablename = "system_user"
; Database settings for Config DB (access to system_config and dnssecme data tables)
ca_mgr.db.config.pdo = "Pdo_Mysql"
ca_mgr.db.config.host = "db"
ca_mgr.db.config.username = "@MYSQL_MGR_USER@"
ca_mgr.db.config.password = "@MYSQL_MGR_PASSWORD@"
ca_mgr.db.config.dbname = "mgr"
; Application name for logger
log.application = "web"
[staging : production]
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

4
docker/run-dovecot Executable file
View file

@ -0,0 +1,4 @@
#!/bin/sh
set -eu
dovecot -F

View file

@ -4,4 +4,4 @@ set -eu
mkdir -p /home/catchall/Maildir/tmp /home/catchall/Maildir/new /home/catchall/Maildir/cur
chown -Rc catchall.catchall /home/catchall/Maildir
postfix start-fg
postfix start-fg