Supported Installations on Macintosh OS X

I know this has been discussed before...

Most of my work is related to web sites. Whether it be web design, graphic design for web, code optimization, SEO/SEM, hosting or etc. Everything I do has to work cross-platform. I mix and match all kinds of systems to test things out. Right now, I'm using an Apple 23 inch Cinema Display on a Windows XP Pro machine, with remote access via SSH and VNC to multiple Linux Boxes. Until a couple months ago, I also had a Macintosh where I also tested everything.

I know you can run various Linux Distrobutions on the PowerPC processor of the older Macintosh systems. Now that the Macintosh has gone to an Intel Chipset exclusively, it is even easier to run Linux on a Mac.

Also, Mac OS X was based on Unix as was Linux. So, why can't we get an automated installation of the Virtualmin System?

Status: 
Closed (works as designed)

Comments

Joe's picture
Submitted by Joe on Fri, 07/02/2010 - 19:09 Pro Licensee

Because Mac OS X has no package manager. It's even worse than FreeBSD or Solaris, with regard to package management, since those systems at least have something that kinda looks like a package manager and sort of acts like one if you're praying hard enough and liberally apply fresh chicken blood while dancing around a chalk circle.

The installer is basically a script that does the following things:

  • Figure out what OS we're running on
  • Choose the right package manager for that OS
  • Choose the right software repository for that OS and configure it
  • Use the package manager to install the dependencies (dozens of them)
  • Run the virtualmin-base configuration script to configure Apache, Postfix, BIND, etc.

Virtualmin runs very nicely on Mac OS X, once installed and configured (and Jamie even tests it there occasionally), but the prospect of rewriting the installer for it makes me want to weep. I've built an installer for a very complex system for Mac OS X in the past, and it was among my least pleasant professional experiences (right up there with building an installer for that same complex system for Windows). Mac OS X is the least UNIX-y of the current UNIX systems, and paths for the Apple LAMP stack are insanely wrong and completely non-standard (the fink and macports versions are somewhat less hatefully wrong, but they're still kinda weird), so everything in the post-install script would need to have huge special case sections to accommodate that (the FreeBSD special cases account for quite a few lines of code, but Mac OS X would dwarf FreeBSD).

That said, I have been tinkering with a Perl rewrite of the installer that uses more of the Webmin libraries to abstract away a lot of the system-specific stuff. So, there will eventually be a version of the script that is a "guided manual install" where it tries to find the configuration files on systems where it is completely unpredictable (Mac OS X is the worst such example, but there are Linux distros, like Gentoo and Arch, that can be configured in definitely non-standard ways and that have somewhat idiosyncratic package managers; the BSD family is also somewhat less predictable than RPM/yum and apt/deb based systems). Basically the manual install mode of the install script would ask questions about everything it can't figure out for itself. This is a long way away, though, as the complexity of the install process is pretty huge at this point, and it has to work *at least as well as the current install script and packages on currently supported systems before I even start tinkering with new ones. And the current install script is just not extensible or flexible enough to accommodate something as different as Mac OS X.

Someday, maybe, but probably not soon. We're just too short-staffed for me to take on a two month project like that. I wouldn't be averse to someone else tackling the problem, if they were so inclined, though. ;-)

I'm going to be making the move to Linux/Mac only systems before the end of the year. Maybe this is something I could play with at that time!