plainblack.com
Username Password
search
Bookmark and Share
Back to Developers Blog
More

Introducing the "Curses" Installer

• 8/23/2014 4:41 am by scottwalters

The previous recommended method for setting up WebGUI was something called the WRE, or WebGUI Runtime Environment.  It contains a pre-built Apache with mod_perl, all of the system libraries needed, perl with nearly all of the needed modules (an additional setup step installed the rest), and utilities to set up a site.  The WRE would run on just about any Linux, but only Linux.  It was also time consuming to maintain.  Developers often wound up using the source install method, which is exactly what it sounds like.

Well, the "Curses" installer isn't much better than the WRE in that it only currently supports Linux, but the basic approach should at least allow for more systems.  OSX is popular with developers.  People evaluating WebGUI often wanted to run it on their Mac and not yet set up a virtual machine for it.  WebGUI also allows staging of content.  Entire branches of the asset tree can be exported from one system and imported into another.  wG admins often stage on their Mac and push finished work up to a Linux host.

"Curses" is the name of an old Unix library for re-positioning the curser on the screen (hence the name), doing character based graphics, and otherwise interacting with terminal emulators such as xterm and Terminal.app.  This is friendly to remote installations over ssh.  The installer itself uses the system package system to install prerequisites.  It can double check before running any potentially dangerous command, or it will run in a "Few Questions as Possible" mode, where it asks a total of six questions, and three of them are your MySQL password (assuming MySQL isn't installed, the system package manager asks twice what you want the password to be, and then the installer asks you what you set it to).

danny_mk created a video on the process using an earlier version of the installer:  https://www.youtube.com/watch?v=hvtfpfhvrOM

This will be familiar to anyone who has installed previous versions of FreeBSD, ran 'make menuconfig' in Linux, or configured apt packages that want more information.

Should it detect failure (and boy are there modes of failure galore), it'll offer to POST the error output back to the developers.  Please do that.  We want to fix bugs.

Dealing with the quirks of different distros can be frustrating.  I apologize for venting on Twitter.  If I've complained about Debian or CentOS and annoyed you, perhaps you will be happy to know that right now I think that indoor plumbing is also a terribly stupid and doesn't work right, and at this moment, I'd prefer to go back to using an outhouse.  Granted, I live in Arizona.

Maria and Percona on Debian for example was unfun.  In newer versions of Debian, they're in Debian's packages.  Maria has a apt source finder utility, but for most versions of Debian, the apt sources it comes up with are broken links.  Maria claims to support various versions of Debian, but in reality, Debian fails to satisfy dependencies ("but it is not going to be installed") on various versions, and it also generates 404s on the apt sources their site specifies until you're using Debian stable.

The basic situation is that multiple vendors are releasing multiple versions asyncronously for multiple versions of multiple Linux distros.  Stuff changes all of the time and is not kept up to date.  So, next stable iteration of Debian, offering Maria or Percona will be practical, but right now, it isn't.  The installer uses the Oracle flavor of MySQL.

The installer tries hard to be intelligent about gracefully dealing with steps that have already been satisified, so if you want Maria or Percona, install it and then run the wG installer.  That totally works.

CentOS is next, if I can find a machine around here with hardware it recognizes.  (I know about VirtualBox; that's a story for another time.)  Then I need to acquire a Mac newer than a PowerBook G4, or get help on the OSX version.

The installer was a priority for me because it was something I had started previously and wanted to finish, but more so because people aren't even going to try wG or hack on it if they can't get it installed.

© 2019 Plain Black Corporation | All Rights Reserved