# choose a name ($NEW_VM) # choose a volume size ($SIZE) virsh vol-create-as vg0 rootfs-$NEW_VM $SIZE --format logical virsh define $NEW_VM virsh edit $NEW_VM # add hard disk as "vda" and set volume to boot on (vg0/rootfs-$NEW_VM) # add cdrom as "hda" and set volume to the distro iso (use "virt" version) # copy the mac address of the network card ($MAC) # choose an ip ($IP) ~/libvirt/scripts/net-add_static_lease new_vm $MAC $IP virsh start $NEW_VM virsh domdisplay $NEW_VM # check the port the vnc display is switched on ($PORT) virsh domdisplay $NEW_VM | cut -d: -f3 # on the local machine, create a ssh tunnel: ssh root@freepoteries.fr -L 5900:127.0.0.1:59$PORT # out of the newly created ssh session (keep it open for log messages) vncviewer 127.0.0.1:5900 # login into your newly booted os # all the following instructions are done into the VM, by the VNC client # (vncviewer) # instructions for alpine linux : # choose your keymap $KM (fr) setup-keymap $KM # choose your hostname setup-hostname # answer your system hostname (that will also be its subdomain) # choose your timezone $TZ (Europe/Paris) setup-timezone -z $TZ # setup interfaces (answer "eth0" and "dhcp") setup-interfaces /etc/init.d/networking restart # choose your ssh server (openssh) setup-sshd # choose your ntp server (chrony) setup-ntp # choose your repo (36 : alpine.42.fr) setup-apkrepos # setup the dns setup-dns # answer 1 : freepoteries.fr # answer 2 : 192.168.42.11 # test by pinging freepoteries.fr and belugaspot.freepoteries.fr (always up), # they should give "192.168.42.1" and "192.168.42.55" # setup mail server setup-mta # answer: mail.freepoteries.fr # install syslinux and e2fsprogs if not installed apk add syslinux e2fsprogs xfsprogs # create your disks fdisk /dev/vda # create a partition that takes the whole hard disk # make it bootable "a" # save your changes "w" # format it to the right fs mkfs.xfs /dev/vda1 # fix the mbr dd bs=440 count=1 conv=notrunc if=/usr/share/syslinux/mbr.bin of=/dev/vda # mount the partition mount /dev/vda1 /mnt mkdir /mnt/boot # install the system on the created partition setup-disk -m sys /mnt mount -o bind /dev /mnt/dev mount -o bind /proc /mnt/proc chroot /mnt # install the bootloader extlinux -i /boot update-extlinux # change password (toor) passwd exit poweroff # in the first ssh session virsh edit $NEW_VM # set the boot dev to "hd" - ~/libvirt/scripts/switch_boot_device.sh $NEW_VM virsh destroy $NEW_VM virsh start $NEW_VM # ssh vim /etc/ssh/sshd_config # set "PermitRootLogin yes" rc-service sshd restart mkdir ~/.ssh # on the host: scp ~/.ssh/authorized_keys new_host.freepoteries.fr:~/.ssh/ # on the vm vim /etc/ssh/sshd_config # set "PermitRootLogin without-password" rc-service sshd restart # on the host eval $(ssh-agent) ssh-add ~/.ssh/* ssh root@new_host.freepoteries.fr (should not ask password) # add zone on unbound # add proxy on revproxy # packages : screen vim git nginx php7-fpm ruby python3 # var/www : garradin # etc/nginx/conf.d : garradin.conf # follow these instructions https://wiki.alpinelinux.org/wiki/Nginx_with_PHP#PHP7_Installation