Add test mgr setup
This commit is contained in:
		
							parent
							
								
									8e7f8c3d46
								
							
						
					
					
						commit
						30ddadd954
					
				
					 14 changed files with 345 additions and 64 deletions
				
			
		|  | @ -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
									
								
							
							
						
						
									
										17
									
								
								docker/apache-mgr-foreground
									
										
									
									
									
										Executable 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 | ||||
							
								
								
									
										21
									
								
								docker/apache-mgr-virtualhost.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								docker/apache-mgr-virtualhost.conf
									
										
									
									
									
										Normal 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> | ||||
|  | @ -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ëria', 'shqipe'), | ||||
|  | @ -114,4 +114,15 @@ VALUES  ('sq_AL', 'Albania', 'Albanian', 'Shqipëria', 'shqipe'), | |||
|         ('es_VE', 'Venezuela', 'Spanish', 'Venezuela', 'Español'), | ||||
|         ('vi_VN', 'Vietnam', 'Vietnamese', 'Việt Nam', 'Tiểng Việt'), | ||||
|         ('ar_YE', 'Yemen', 'Arabic', 'ﻦﻤﻴﻠﺍ', 'ﺔﻴﺐﺮﻌﻠﺍ'); | ||||
| 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 | ||||
|  |  | |||
							
								
								
									
										57
									
								
								docker/mgr-application.ini
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								docker/mgr-application.ini
									
										
									
									
									
										Normal 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
									
								
							
							
						
						
									
										4
									
								
								docker/run-dovecot
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,4 @@ | |||
| #!/bin/sh | ||||
| set -eu | ||||
| 
 | ||||
| dovecot -F | ||||
|  | @ -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 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue