Metainformationen zur Seite
  •  

KVM & virtuelle Maschine Installation

FIXME

  • Pakete auf 131.220.238.3 „Ontology“-Server zu installieren:
sudo apt-get install bridge-utils qemu-kvm qemu-utils python-libvirt
  • User in Gruppen KVM und libvirtd eintragen:
sudo adduser nutzer kvm
sudo adduser nutzer libvirtd
  • Einmal ausloggen und neu einloggen, damit Gruppen übernommen werden
  • Verzeichnis für virtuelle Maschinen anlegen, erst einmal für Nutzer schreibbar:
sudo mkdir /var/data/VMs
sudo chown nutzer:nutzer /var/data/VMs
  • Wenn vorhanden VM-Image oder Installations-iso in das Verzeichnis kopieren
  • Vorhandene Pools für VMs mit Virsh anzeigen:
virsh pool-list --all
  • Das Verzeichnis mit Virsh als pool für VMs definieren und aktivieren:
virsh pool-define-as VMPool dir - - - - /var/data/VMs
virsh pool-build VMPool
virsh pool-start VMPool
virsh pool-autostart VMPool
  • Virsh kann jetzt genutzt werden um Maschinen anzulegen und zu managen. Siehe: https://wiki.archlinux.org/index.php/Libvirt
  • Einfacher ist es erstmal mit virt-manager. Der muss auf dem lokalen Rechner mit grafischer Oberfläche installiert sein, dann kann man sich per ssh zum Server, der die virtuellen Maschinen betreiben soll, verbinden

Für den http-Zugang auf ontology habe ich Netzwerk auf NAT gelassen und einen http-proxy in nginx eingerichtet, der auf den Apache in der virtuellen Maschine weiterleitet.

/etc/nginx/sites-available/mdvindiges.conf auf 131.220.238.3

server {
    listen 80;

    server_name mdvindiges.uni-bonn.de;
    location / {
        # root /var/mdvindiges_temp; # dummy for letsencrypt certificate generation

        proxy_pass http://192.168.122.252:80;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;

        # WebSocket support (nginx 1.4)
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

nginx-Konfiguration immer testen mit:

sudo service nginx configtest

Fehler werden geloggt in:

/var/log/nginx/error.log

erst wenn OK neu starten mit:

sudo service nginx restart

Für https muss eine weitere Konfigurationsdatei für den nginx-Server auf ontology angelegt werden. Diese leitet ebenfalls an port 80 des Apache auf der virtuellen Maschine weiter. Im ersten Anlauf mit einem selbst-generierten Zertifkat, dann auf letsencrypt umgestellt.

server {                                                                                                                            
    listen 443;
    ssl on;

    #ssl_certificate /etc/nginx/mdvindiges.certs/cert.crt;
    #ssl_certificate_key /etc/nginx/mdvindiges.certs/cert.key;
    
    ssl_certificate /etc/letsencrypt/live/mdvindiges.uni-bonn.de/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mdvindiges.uni-bonn.de/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/mdvindiges.uni-bonn.de/chain.pem;

    ssl_session_timeout 5m;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
    ssl_prefer_server_ciphers on;

    server_name mdvindiges.uni-bonn.de;
    location / {
        # root /var/mdvindiges_temp; # dummy for letsencrypt certificate generation

        proxy_pass http://192.168.122.252:80;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;

        proxy_set_header X-Forwarded-Proto $scheme;
        add_header Front-End-Https on;

        # WebSocket support (nginx 1.4)
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Zertifikat für https://mdvindiges.uni-bonn.de