====== 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 [[kvm:tipps_und_tricks_zu_kvm|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 ==== Siehe hier: [[mdb:letsencrypt#mvindiges.uni-bonn.de auf Ontology|Letsencrypt certificates]]