109 lines
3.8 KiB
Markdown
109 lines
3.8 KiB
Markdown
# Rhizomatica Puppet repository
|
|
|
|
This is a puppet recipe to install and prepare an installation of RCCN on a Debian 9 system.
|
|
|
|
This is earmarked to be the future default install. For now it probably does not work for you.
|
|
|
|
Please also see the README in the master branch of this repo.
|
|
|
|
**INSTALLATION:**
|
|
|
|
Install Debian 9 (stretch) amd64 from
|
|
[https://www.debian.org/distrib/netinst](https://www.debian.org/distrib/netinst)
|
|
|
|
- During the Install process, create a user '**rhizomatica**'
|
|
- Partition as you please, otherwise "**Guided - use entire disk**"
|
|
- As above, otherwise "**All files in one partition**" is fine.
|
|
- Setup a minimal system. You don't need a **desktop environment**.
|
|
I suggest you install **SSH server** and **standard system utilities**.
|
|
- Boot into the new system, login, locally or via ssh.
|
|
- Get root with `su -` if needed and run the following:
|
|
|
|
|
|
`root@host~# apt-get install git puppet puppetmaster`
|
|
|
|
(Accept all the additional packages)
|
|
|
|
`root@host:~# cd /etc/puppet/code`
|
|
|
|
`root@host:/etc/puppet/code# mkdir environments`
|
|
|
|
`root@host:/etc/puppet/code# mkdir hiera`
|
|
|
|
`root@host:/etc/puppet/code# cd environments`
|
|
|
|
`root@host:/etc/puppet/code/environments# git clone https://github.com/Rhizomatica/puppet.git production`
|
|
|
|
`root@host:/etc/puppet/code/environments# cd prodution`
|
|
|
|
`root@host:/etc/puppet/code/environments/production# git checkout whyteks/puppet4-debian`
|
|
|
|
`root@host:/etc/puppet/code/environments/production# git submodule init`
|
|
|
|
`root@host:/etc/puppet/code/environments/production# git submodule update`
|
|
|
|
`root@host:/etc/puppet/code/environments/production# cp hiera.yaml /etc/puppet`
|
|
|
|
`root@host:/etc/puppet/code/environments/production# cp hieradata/* /etc/puppet/code/hiera# `
|
|
|
|
`root@host:/etc/puppet/code/environments/production# cd /etc/puppet/code/hiera`
|
|
|
|
`root@host:/etc/puppet/code/hiera# cp site_template.yaml $(hostname -f | awk '{print tolower($0)}').yaml`
|
|
|
|
`root@host:/etc/puppet/code/hiera# cd`
|
|
|
|
`root@host:~# echo "127.0.0.1 puppet" >> /etc/hosts`
|
|
|
|
`root@host:~# systemctl restart puppetmaster`
|
|
|
|
You are now ready to run the puppet agent to prepare and configure your system.
|
|
|
|
|
|
**CAVEAT:** FreeSwitch 1.6 is not fully supported yet on Debian 9, but the only problem is a dependency on libssl1.0.0, which is not packaged for Debian 9, so you only need to do the following by hand first: Don't forget, or freeswitch will not install.
|
|
|
|
```
|
|
wget http://http.debian.net/debian/pool/main/o/openssl/libssl1.0.0_1.0.1t-1%2bdeb8u7_amd64.deb
|
|
dpkg -i libssl1.0.0_1.0.1t-1+deb8u7_amd64.deb
|
|
rm libssl1.0.0_1.0.1t-1+deb8u7_amd64.deb
|
|
```
|
|
|
|
Now we can install :-)
|
|
|
|
`root@host:~# puppet agent --test`
|
|
|
|
This may take a while, it has to fetch all the packages and install them,
|
|
Some package installations will fail, so when it is finished you need to do it once more:
|
|
|
|
`root@host:~# puppet agent --test`
|
|
|
|
Done! Now you can run the final RCCN setup step:
|
|
|
|
`root@host:~# cd /var/rhizomatica/rccn`
|
|
|
|
`root@host:/var/rhizomatica/rccn# python ./install.py`
|
|
|
|
Now reboot your system and [file a bug report](https://github.com/Rhizomatica/puppet/issues/new) about whatever is still not working.
|
|
|
|
### Thanks for testing RCCN! ###
|
|
|
|
|
|
----------
|
|
|
|
|
|
|
|
**CAVEATS:**
|
|
|
|
Because you don't have the key to our private repo, you will not have any sounds in `/usr/share/freeswitch/sounds/rccn/`.
|
|
TIC is not publically distributing the sound files used on the TIC network. Someone needs to make some generic sounds.
|
|
|
|
|
|
There is one persistant error from puppet, but it doesn't seem to affect us:
|
|
```
|
|
Error: /Stage[main]/Postgresql::Server::Config/Concat[/etc/postgresql/9.6/main/pg_hba.conf]/Concat_file[/etc/postgresql/9.6/main/pg_hba.conf]: Failed to generate additional resources using 'eval_generate': comparison of Array with Array failed
|
|
```
|
|
|
|
|
|
----------
|
|
|
|
|
|
|