====== 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]]