10 months on ...

by Lester Caine
Friday 15 of March, 2019
Posted to Lester Caine's Blog

Ten months on from the last blog post and we have moved on from Leap 42.3 to Leap 15.0. It's the the current stable release from SUSE, but unfortunately it is stuck with older versions of some of the key stack elements, in particular Firebird 3.0.2 which has problems that were cleared in the latest Firebird build 3.0.4. In addition while PHP7 is now on 7.3, it uses an early version of 7.2 but even that throws up problems with the website code which has only been brought up to PHP7.0 compliant.

Starting from the Leap 15.0 Distribution DVD we install a base provided by the text only server installation. The main problem is that in a default install it creates a btrfs based root file system. While some people might think this is infinity better than a EXTx based system, I find the fact that when there is a corruption in the base file structure ALL of the disks become unreadable. I know because it's now happened twice! So, no thanks. I'll stick with something where I can take a disk from one machine and at least temporarily mount it on a second machine, or as I am doing here, build a new base root which can then access several large data disks and just work with them. SO rather than taking the default partitioning, I've switched back to a single EXT4 based root with separate boot and swap partitions. /home will be replaced by the old work disk while the data disks are installed below /srv. In addition the plan is to supplement the primary SSD disk, with a second SSD disk which will hold the Firebird database files on an simple EXT3 disk.

Taking advantage of the internet connection to download the current versions of the base installation set allows an even faster build of the machine. We also disable the firewall and enable SSH since the local broadband connection provides it's own firewall, and the machines are normally managed via local ssh. So after perhaps 15 minutes the machine is running and the DVD can be removed. Annoyingly the DVD drive in the case was refusing to run the boot from the disk, so a separate drive was plugged in. Since the drive has probably only been used for the original install of SUSE 13.1 it has had very little use and as usual I could not find the cleaning disk in case it was just 3+ years worth of dust on the lens.

Once rebooted we can switch to ssh access to carry out the next stages, that is after remembering to manually set the IP address. The server stack is numbered 1 to 6 so in this case we have srv2 name and address. While nginx 1.15.8 is the current build, the 1.14.0 version provided by leap is adequate for now mainl because I've not identified an alternative repo yet. It is just the php and database we need to take tighter control of. So we start by loading the stock nginx and then add the development repositories for php7.2 and databases. On a dektop machine I normally add 'packman' and 'libdvdcss' but we leave them off the servers.

  1. https://download.opensuse.org/repositories/devel:/languages:/php:/php72/openSUSE_Leap_15.0
  2. https://download.opensuse.org/repositories/server:/database/openSUSE_Leap_15.0/

First thing is to block apache2-mod_php7 so that apache is not loaded. Earlier builds on PHP in suse would not install without also installing apache but this seems to be the correct way to disable that. The we are then safe to load PHP7.2.16 along with Firebird 3.0.4. addition to the basic set of extensions SUSE loads along with the base php7 we need to add php7-fpm to run with nginx, along with php7-imagick for graphics handling, and php7-mbstring for unicode content. We also include the firebird-examples so we have the sample database used for connection testing prior to configuring the production ones. Additionally since we have loaded the development database repository we need to lock Firebird 3.0.4 so so that the development version of FB4 does not get installed.

While not necessary for the standard web stack, this particular machine also acts as a backup server for the media services, and so we also need to install plexmediaserver, but before that can be done we need to restore the media disks and plex database as we have some 5 years worth of added track details covering many years of music. Currently suse does not support plex directly, but the download from it's on-line servces does work with the current suse setup. plexmediaserver-