Ubuntu 18.04 Desktop

Setting up an Ubuntu 18.04 KVM Dev ServerΒΆ

With the release of a new Ubuntu LTS a few weeks back, I wanted to take the time to recreate the KVM development server that I use for my current development projects.

Among the main reasons for doing this is that after a brief detour into PHP and CiviCRM, NOVA Web Development has returned to its beloved Python roots. I won’t need PHP, MySQL, Drupal, or CiviCRM on the server, and it made more sense to build up from scratch rather than try to dist-upgrade and remove the many things accumulated that I no longer need.

Beginning with an installation image, I did a basic install onto a 60 GB disk image, selecting only SSH Server from the options menu. As previously, I named the machine rms in honor of the founder of the free software movement.

After starting the machine from a terminal with and using arp to find its IP address:

$ virsh start rms
$ arp -a

I sshed into the machine and installed Avahi so that I can reference the machine by name:

$ sudo apt install avahi-utils avahi-autoipd

To be able to login without typing a password, I ran the following from the host machine:

$ ssh-copy-id rms.local
$ ssh rms.local

My next task was to create the development environment to build this Weblog and the remix of CS Principles: Big Ideas in Programming on which I am currently working:

$ sudo apt install python3-pip python3-venv
$ sudo apt install git-lfs aspell
$ mkdir Projects
$ cd Projects
$ git clone git@gitlab.com:jelkner/JelknerWeblog.git
$ git clone git@gitlab.com:jelkner/StudentCSP.git
$ cd JelknerWeblog
$ build venv

Since each of these projects generates a website as output, getting a web server with user directory web hosting was next:

$ sudo apt install apache2
$ sudo a2enmod userdir
$ sudo systemctl restart apache2

A pleasant result of all this was having color syntax highlighting mysteriously return to the CS Principles book. There must have been something misconfigured in the Ubuntu 17.10 server. In any case, that is one issue which has been closed.

I’ll document other parts of configuring this new server, including installing PostgreSQL and migrating my databases, in a future post.