Multics > About
05 Jan 2026

Web Site Maintainer Tools

Tom Van Vleck

This note describes how to set up a personal computer to maintain the multicians.org web site.

Rules for maintenance and content of multicians.org are in Web Site Design.
Detailed instructions for maintenance tasks for multicians.org are listed in Maintenance tasks for the Multicians Website.
Web Site Build Process for the Multicians Website describes the Makefile.

The multicians.org website is built on a site editor's personal computer from HTMX source using Unix tools and the open source program expandfile. The editor generates the site HTML from HTMX source on a Mac or Unix machine, and copies generated HTML and graphics to the ISP host server.

multicians.org is served on the Web as static pages and graphics by a virtual private server running the Apache web server under Ubuntu Linux.

1. Summary

In order to create the site's HTML files from HTMX source files, either the Unix or Mac operating system can be used. The site editor's computer has a standard macOS installation with programming tools and a command line, supplemented by tools such as Perl and MySQL which are installed by a package manager in /usr/local/bin (I use Homebrew on the Mac). expandfile comes with some helper executables written in Perl installed in $HOME/bin. Additional site creation tools are in the /tools subdirectory of the source directory.

expandfile Install instructions describes how to set up Perl, CPAN, MySQL and expandfile.

Setup of Site Editor's Computer

Directories on Site Editor's Computer

Tools Needed on Site Editor's Computer

FunctionMac versionSource
email clientMail.appmacOS
text editorEmacs.appaquamacs.org
command lineTerminal.appmacOS
Unix shellbashmacOS
template expansionexpandfilemulticians.org/thvv/htmx
compile sitemakemacOS/homebrew
install pages on hostrsynchomebrew
source version controlgitmacOS/homebrew
source databasemysqlhomebrew
host accesssshmacOS
run expandfileperlhomebrew
Perl libraryCPANhomebrew
local web serverapachemacOS
image conversionImageMagickhomebrew
HTML checkingHTML TidymacOS

Similar tables for building the website on other platforms should be created. The editor has done such installations on Fedora Linux and Ubuntu Linux.

Symbolic links from source directory to object directory

The source directory needs a few links to subdirectories of the object directory. In particular, in order for the image reference macros such as getimgdiv to work correctly, they need to access the pixel dimensions of target images (by invoking the helper program bin/gifsize2 with the *shell builtin). Symbolic links to the object subdirectories /mulimg and /thumbnails150 are placed in the source directory. I don't know how one would do this on Windows or Cygwin.

Git

The maintainer's Multics source directory contains a local Git repository that contains all the source .htmx and .sql files. Doing a make install does a git status.

The Makefile rule that copies files to the ISP ends with a git status which reminds the editor to do a git diff and update loadc.sql with a description of significant changes, and then do git commit -a with a brief message describing the changes.

hiddenmail.sql is not included in the git repo. The makefile pushes it separately to a directory on the ISP that is not visible on the web, and loads into the protected ISP database used when users send mail to Multicians. Various temporary files, scratch files, obsolete files are named in .gitignore and don't go into the repo. Future: upstream repo on github, and a way for others to request changes and build their own copy.

2. MacOS Setup

I created the initial version of the Multicians website on a Macintosh running Macintosh System 7 in 1994. I edited HTML files on a Mac and uploaded them via scp to an ISP account on an SGI machine. Subsequently I upgraded my Mac to System 8 and then, in 2001, to MacOS System X.

I wrote expandfile in 2002 and created HTMX files to generate corresponding HTML files on multicians.org.

For each change, I edit HTMX files on my Mac using emacs, compile them to HTML with expandfile, and upload the HTML files via rsync to my ISP account. (Initially, multicicans.org was hosted on a shell account on a shared server running FreBSD. Later, I changed to a Virtual Private Server that runs Ubuntu Linux.)

Expandfile has installation instructions for expandfile.

Mac System X has evolved into MacOS and it has been my tool for maintaining the site for over 20 years. My current usage of MacOS is described in

3. UNIX Setup

multicians.org could be maintained on a personal machine using some flavor of Unix.

4. Windows Setup

I did some experiments creating web sites with expandfile using Windows arount 2002, but I don't currently have a Windows machine or use Windows to maintain multicians.org. I think it would be possible set up Perl on Windows and do this.

I had a version of expandfile running under Cygwin, years ago.

Use an environment like MINGW, MSYS2, or Cygwin to install a command shell, Perl, MySQL, CPAN Perl modules, and then use the Unix instructions. (I haven't tried this in a long time. I have never tried PowerShell.)

For Windows 10/11, there is a facility called "Windows Subsystem for Linux". I have never used it: supposedly it provides a Unix kernel and Bash-like shell, and supports Perl and MySQL. If anyone tries this and gets it working, we could document it here.

5. Expandfile Documentation