-
Notifications
You must be signed in to change notification settings - Fork 2
Installation process
The Atomia installation process is largely dependent on Puppet for deployment and configuration, it is recommended that before installation you at least have some basic knowledge about how Puppet works.
The Puppet master is the central management place where all configuration is made. All servers are connected to the master through Puppet client.
Connect to the Puppet master virtual machine and run the following commands to install the latest version (3+) of Puppet.
wget http://apt.puppetlabs.com/puppetlabs-release-precise.deb
sudo dpkg -i puppetlabs-release-precise.deb
sudo apt-get update
apt-get install puppetmaster
Clone the installation repository to /opt/atomia_installation and make symlinks to the puppet directory
mkdir /opt/atomia_installation
cd /opt/atomia_installation
apt-get install -y git
git clone https://github.com/atomia/installation.git
cd installation/Puppet
rmdir /etc/puppet/modules
rmdir /etc/puppet/manifests
ln -s `pwd`/modules /etc/puppet/
ln -s `pwd`/manifests /etc/puppet/
cp manifests/variables.default.pp manifests/variables.pp
In order for Puppet to configure the environment it needs some knowledge from you. All variables are saved in the file /etc/puppet/manifests/variables.pp.
First generate a set of random passwords for the environment. There is a script available for this which can be ran with the following command.
cd manifests
ruby generate_passwords
mv variables.pp.new variables.pp
You must now fill in the variables except the certificates related variables.
Generate atomia certificate used for atomia staff to access the servers:
ssh-keygen -t rsa
Save the private key and add the public key to variables.pp using the following command:
/etc/puppet/manifests/set_atomia_cert
Generate certificates for the environment by running the following command
cd /etc/puppet/modules/atomia_windows_base/files/tools
ruby create_certificates.rb
You will need to add the thumb prints to the variables.pp file, there is a helper script that will do this for you:
/etc/puppet/manifests/set_cert_fingerprint
This should be done for all windows servers that you want to be managed by puppet, currently this mean all servers expect mssql databases and IIS cluster nodes which are installed manually.
Download and install the latest version of Puppet with the following Powershell commands. Be sure to replace PUPPET_MASTER_SERVER=puppetmaster with your puppetmasters hostname. This can easily be found by going to the puppetmaster and doing "ls /var/lib/puppet/ssl/certs/".
(new-object System.Net.WebClient).Downloadfile("https://downloads.puppetlabs.com/windows/puppet-3.3.2.msi", "puppet.msi")
msiexec /qn /i puppet.msi PUPPET_MASTER_SERVER=puppetmaster
Run puppet agent, you will find it on the start menu under puppet -> run puppet agent.
Approve the certificate on the puppet master
puppet cert list
puppet cert sign <certname>
The servers are now ready to be installed
Setup Active Directory manually through the Server Manager by enabling the Domain Controller role.
Install SQL Server manually with the default settings. In particular full text search needs to be enabled.
Add apppooluser, PosixGuest and WindowsAdmin to Active directory with passwords as set in variables.pp
apppooluser needs to have the logon as a service right and both WindowsAdmin and apppooluser needs Domain admin privileges
Make sure dns points to the domain controllers.
Have a look in the /etc/puppet/manifests/node_templates for the manifests prefixed with "atomia_" these manifests contain examples for a common setup. For each of the nodes that you are going to deploy perform the following steps.
mkdir /etc/puppet/manifests/nodes
cp /etc/puppet/manifests/node_templates/atomia_identity.pp /etc/puppet/manifests/nodes/
cp /etc/puppet/manifests/node_templates/windows_base.pp /etc/puppet/manifests/nodes/
service puppetmaster restart
Add hostname of identity server as node name. Example:
node 'identity.mydomain.com' inherits 'windows_base' {
}
Run puppet agent on the windows machines, it will restart after first run to join AD after restart run Puppet agent once more and make sure it finish all tasks (if not run it until no red tasks remains). Please note that the first puppet run can take up to 10 minutes.
When puppet is done with the setup you will have an icon for Atomia Installer on the desktop, run it and install the latest version of the applications that you want placed on the node.
A suggested separation is.
- Actiontrail & Identity
- Admin panel & Api’s
- Automation Server
- HCP, BCP & Order page
This setup can of course be modified to fit your needs, just make sure that the application hostnames resolves to the correct ip address.
You should however install the applications in this order:
- ActionTrail
- Identity
- BillingAPI
- Automation Server
- Cloud Hosting Pack
- Automation Server Client
- Admin Panel
- HCP
- BCP
- Public Order Page
When done install test data with the file http://git.atomia.com/?p=SkyManager.git;a=blob;f=BootstrapSetup/PrepareBootstrap/Modules/billing.sql;h=d6dff6dc50c98afe6ed6cffd94037b6b0ee419a4;hb=HEAD
Optional step: Set up database mirroring as described at this link
On all servers running Atomia Applications perform the following steps.
- Start mmc
- Add SSL snap-in for local computer
- Remove all Atomia certs from Personal folder
- Remove Atomia root cert from Trusted root certificate authorities
- Start powershell and run “Set-ExecutionPolicy RemoteSigned”
- From PowerShell run c:\install\installcert.ps1 (just press enter when it asks for passwords)
- In MMC add guicert and stssigning cert to Trusted People, certs are found in c:\install\certificates
Application won’t load at all. Try to run one of the folling commands:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
and/or
C:\Windows\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation\servicemodalreg.exe -i
Before proceeding make sure that the following steps are completed for all Linux nodes:
- Valid hostname (should be resolvable)
- Server should have internet access
- Server should be able to get packages from Atomia apt server (add FW exception)
- Server should be able to contact the puppet master (ping)
When all pre-requirements are fulfilled the following commands need to be run on each server to hook it up to the puppet master.
wget --no-check-certificate https://raw.github.com/atomia/installation/master/Files/bootstrap_linux.sh && chmod +x bootstrap_linux.sh
./bootstrap_linux.sh <puppetmaster>
rm boostrap_linux.sh
Deploy Linux servers Atomia DNS Name servers Domainreg Daggre