I performed the upgrade from Ubuntu (server) 16.04 LTS to Ubuntu 18.04 LTS pretty late this time (on December 2019: it was about time!) and it mostly went smoothly except for a few bugs that I solved as described below:

  • no internet after upgrade: the weirdest bug was the fact that I lost most internet access from server (not to server) after the upgrade. I solved this issue as documented in this thread: I edited the file /etc/systemd/resolved.conf to add the line:
    and re-started the system with
    systemctl restart networking
  • php reconfiguration: php was not working anymore because the previous version was php5, having become obsolete. I re-installed the base php packages:
    sudo apt install php libapache2-mod-php php-mcrypt php-mysql
    and enabled the php module in apache
    a2enmod php7.2
    systemctl reload apache2
  • bug in nextcloud: I was on an old version of nextcloud, which is not upgraded by the system ugrade since it is not a distribution package. Nextcloud showed a blank pages and apache logs (/var/log/apache2/error.log for me) gave the following message:
    Local::copyFromStorage() not compatible with OC\Files\Storage\Common::copyFromStorage
    The bug was documented on nextcloud github repository and I solved it as was done by one of the developer in this commit by editing the file lib/private/Files/Storage/Local.php in nextcloud directory to add the argument $preserveMtime = false to the function copyFromStorage.

Last fresh install of the desktop version of xUbuntu 18.04 (3rd release) turned out to have a bug in the lock behavior: whenever the screen/session was supposed to lock, the computer stopped instead. The bug comes from xfce screensaver. Installing

sudo apt install xscreensaver

let xscreensaver takes the precedent over xfce screensaver and solves the issue.

Since the last update I made on xUbuntu 18.04 LTS, I got a bug with the file manager (I am using nautilus) that was refusing to open files (only directories opened).

After a few research, I found that this bug has already been identified and is related to new Xfce settings. It is solved by removing (or commenting) the line x-scheme-handler/file=exo-file-manager.desktop in the following files:

  • /usr/share/xubuntu/applications/defaults.list
  • ~/.config/mimeapps.list
  • ~/.local/share/applications/mimeapps.list

This first post describes the first installation of Ubuntu server 18.04 LTS on my EliteBook 8570p. More precisely, it describes how to deal with UEFI installation that (if not well handled) can lead to a BootDevice not found error on first attempt to startup the server after installation.

First step: preparing the bootable flashdisk

After downloading the last version of Ubuntu server at this link, I created a bootable USB device with UNetbootin to avoid the error described in this post after having used usb-creator. UNetbootin is installed with

sudo apt install unetbootin

and has to be run as sudo (otherwise, it asks for the root password and does not want to start).

Second step: BIOS configuration

Before you start, be sure that UEFI (secure boot) is properly configured on your computer. The solution might depend on the precise model but for me I had to:

  • enter the BIOS and set a supervisor password for security
  • save and exit the BIOS, restart and re-enter the BIOS. At this point, I enabled UEFI boot mode. Default UEFI boot priority options worked for me.

Last step: installation

I restarted the computer with the bootable flashdisk inserted and boot on it (Echap + F9 in my case) then simply followed the installation instructions. A last restart (without the flashdisk inserted), gave me access to the server.

Mattermost is an open-source alternative to slack. It is easily installed on Ubuntu 16.04 LTS but apache2 configuration needs tricking a bit to set up SSL encryption properly. Here is my solution.

  1. Step 1: Mattermost installation is well described at this link. I have installed it with a mysql database and I simply followed the instructions described in sections
    1. Installing Ubuntu Server 16.04 LTS
    2. Installing MySQL Database Server
    3. Installing Mattermost Server
  2. Step 2: At this step, to properly run mattermost, I needed to open the proper tcp port (8065) for shorewall. This was performed by editing (as root) the file /etc/shorewall/rules and adding the line
    ACCEPT          net             $FW             tcp     8065

    shorewall then needs a restart with

    sudo service shorewall restart

    mattermost can be started with

    sudo service mattermost start

    At this step, you should have access to mattermost at http://your-domain.org:3065. You can create a first user that will be the administrator (choose a strong password for that user).</li>

  3. Step 3: Configuring the apache2 redirection with a proper SSL encryption is performed as follows:
    1. first, the following apache2 modules must be enabled: ssl, proxy, proxy_http, proxy_wstunnel. You can load then using the following command lines:
      sudo a2enmod ssl proxy proxy_http proxy_wstunnel
      sudo service apache2 reload
    2. second, create the virtual user in /etc/apache2/sites-available/mattermost.conf as follows:
      where the SSL certificates are created as described in this previous post. Finally, enable its use with</p>
      sudo a2ensite mattermost
      sudo service apache2 reload

      mattermost can be accessed at https://mattermost.my-domain.org and you can proceed with the mattermost configuration as described in Configuring Mattermost Server.</li> </ol> </li> </ol> </div>