This means that each device with Web service (Web sites, Firewall management, WiFi management, and more) that using self-signed SSL certificate will be validated using our local CA.
before start working on the CA end, I've decided to bring up lab env. that contain 1 node with functional Zabbix server, Based on:
- OS: CentOS 6\ or 7
- Web server app: Apache 2.2 or 2.4 & PHP
- Database: MySQL community server (Latest stable release for centOS)
The other node, for the CA, will use CentOS 7 OS.
Both systems will be set as Virtual machines (guests of VMware Fusion) and will be implanted by Puppet.
Both systems will be set as Virtual machines (guests of VMware Fusion) and will be implanted by Puppet.
Current Objectives:
- Configuring Apache 2.2 templates:
httpd.confssl.confDisable Welcome virtual server
- Configuring Apache 2.4 templates:
httpd.confssl.confDisable Welcome Virtual Host
Main issue:
- Detect Apache version and use template files for Apache 2.2 or 2.4
Solution:
CentOS 6 comes with Apache 2.2.x while CentOS 7 comes with Apache 2.4.x
So checking the OS against major release and adding an IF conditional solved the issue.
<code>
<code>
if $::operatingsystemmajrelease == 6 {
... }
if $::operatingsystemmajrelease == 7 {
... }
</code>
Accomplished tasks:
- Create Puppet module to install basic setup of MySQL community server.
Also, during the run of Puppet I've noticed that the MySQL module is running each time Puppet agent runs - and it attempts to change the temporary Root password (appear in MySQL log files) with other one set as variable.
Solution:
I'm using a Bash script in the end of the module (via Exec['...']) ref. to grep, mysql query and change the Root password.
I've added this script an option to check if there's a directory called /etc/puppet/locks - if not it should create it.
Also, Once the Bash finish, it will touch an .lck file into this directory (/etc/puppet/locks) - in the client end - and next time the script will run, there's an IF statement that checks if this .lck file found - so it will not run the whole script repeatedly.
Solution:
I'm using a Bash script in the end of the module (via Exec['...']) ref. to grep, mysql query and change the Root password.
I've added this script an option to check if there's a directory called /etc/puppet/locks - if not it should create it.
Also, Once the Bash finish, it will touch an .lck file into this directory (/etc/puppet/locks) - in the client end - and next time the script will run, there's an IF statement that checks if this .lck file found - so it will not run the whole script repeatedly.