Project

General

Profile

New Server Documentation

DNS

DNS wird per PowerDNS gemacht, wozu es das Poweradmin-Web-Frontend gibt. Das Frontend ist nur per SSH-Tunnel auf dns-1-p bzw dns-2-p erreichbar. Von der lokalen Workstation:

$ ssh -L 8080:localhost:80 dns-1-p.piratenpartei.ch 

Danach mit dem Webbrowser auf http://localhost:8080/poweradmin gehen.
Benutzername/Passwort ist admin/admin

Jump Host/Puppet-Host/internes DNS/DHCP/VPN:

jump.piratenpartei.ch

OpenVPN einrichten

Note: Not sure if this still works...

ssh root@jupp-1.automatic-server.com
cd easy-rsy
. vars
./build-key mynewuser
./export
exit

# Linux
myworkstation $ scp -r root@jupp-1.automatic-server.com:easy-rsa/exports/mynewuser .
myworkstation $ cd mynewuser && sudo openvpn --config *tcp.conf

# Windows: WinSCP benutzen, alle .conf-Dateien nach .ovpn umbenennen

Neue vm erstellen

Definition erzeugen

Auf dem Jump host:

createvm -h
Create one or several new vms.

For each created vm the script will try to initialize it on one of the
virtualization hots. To make this work you must be logged in to the host
this script is executed with a working ssh-agen environment allowing you
to enter the virtulization hosts with 'ssh virt1' or 'ssh virt2' without
to be asked for a password. 

Usage:
       createvm [options] <names>+
where [options] are:
            --count, -c <i>:   Number of vms to create for each name (default: 1)
            --group, -g <s>:   The group (default: webphp)
      --environment, -e <s>:   The Environment (default: production)
              --pretend, -p:   Print out the commands instead of actually execute them
  --deploy, --no-deploy, -d:   Instantiate the new vm on a virtulization host (default: true)
              --version, -v:   Print version and exit
                 --help, -h:   Show this message

Beispiel für einen Wordpress host zu Testzwecken.

[root@jupp]# createvm -g webphp -e testing webwp
Created: webwp-1-t

Beispiel für das erstellen von multiplen hosts

[root@jupp]# createvm -g webphp -e development -c 2 webwp webdp
Created: webwp-1-d
Created: webwp-2-d
Created: webdp-1-d
Created: webwp-2-d

Provisionieren

Hinweis: Diese Schritte sind mit der aktuellen Version des Scripts nicht mehr nötig.

Auf einem der Virtualisierungshots:

[root@virtX]# lvcreate -L 20G -n NAME vg01
[root@virtX]# koan --server=10.1.2.1 --virt --system=webdp-1-p --virt-path=/dev/vg01/webdp-1-p

NAME wurde beim erstellen der Definition auf der Konsole ausgegeben.

Es dauert ca 15 Minuten bis vm installiert und bereit ist. Es kann sein das sie nach der Installation nicht automatisch startet.

Falls dieses Script nicht funktioniert hat gibt es hier etwas Dokumentation wie man das auch manuell hinkriegt.

Puppet

Puppet ausführen

Testen

ssh mytarget puppet agent --test --noop

Ausführen

ssh mytarget puppet agent --test

Puppet bearbeiten
ssh jupp-1.automatic-server.com
cd /etc/puppet
vim modules/ldap/README # doku anschauen
vim modules/ldap/manifests/server.pp # ldap server einrichten

Hosts:

LDAP

  • ldap-1-p.piratenpartei.ch (172.17.3.14)
  • ldap-2-p.piratenpartei.ch (172.17.3.15)

DNS

  • dns-1-p.piratenpartei.ch (178.250.135.41)
  • dns-1-p.piratenpartei.ch (178.250.135.42)

Proxy

  • proxy-1-p.piratenpartei.ch
  • proxy-2-p.piratenpartei.ch

Administration

  • jump.piratenpartei.ch
  • puppet.piratenpartei.ch
  • backup-1-p.piratenpartei.ch
  • archive-1-p.piratenpartei.ch

Also available in: PDF HTML TXT