This is a puppet recipe to install and prepare an installation of RCCN on a Debian 9 system.
INSTALLATION:
Install Debian 9 (stretch) amd64 from 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 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://security-cdn.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0-dbg_1.0.1t-1+deb8u11_amd64.deb
dpkg -i libssl1.0.0-dbg_1.0.1t-1+deb8u11_amd64.deb
rm libssl1.0.0-dbg_1.0.1t-1+deb8u11_amd64.deb
Now we can install :-) We use ignoreschedules here to make sure that everything happens on these initial runs, you should not need it afterwards.
root@host:~# puppet agent --test --ignoreschedules
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 --ignoreschedules
Done! Now you can run the final RCCN setup step, but before you do this, take a quick look at CAVEATS below.:
root@host:~# cd /var/rhizomatica/rccn
root@host:/var/rhizomatica/rccn# python ./install.py -f
Now reboot your system and file a bug report about whatever is still not working.
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. -
You might want to do
systemctl restart osmo-nitb
before running the install.py, as if the NITB has never run, the sqlite HLR database will not exist yet. - What's more, systemd is not starting the NITB on reboot. You need to dosystemctl start osmo-nitb
manually. :-/ Same goes for freeswitch. FIXES?? -
After install and reboot, considering add the user rhizomatica to the sudo group:
usermod -aG sudo rhizomatica
-
After install, you do not really need the puppet master service running, so consider disabling it.