Home of the unofficial Hiawatha Webserver Debian packages

Scripts

Of all the scripts I've written over the course of the last several years, there are a handful which I keep coming back to. Thus they contain some utility, at least for me. Perhaps they might save you some time as well.

Web Content Encoder [download] — The aim of this rather basic script is to quickly and easily recursively gzip each individual element in one or more directories. Its primary use is to prepare static web assets for Hiawatha's very efficient UseGZfile function. See: https://www.hiawatha-webserver.org/manpages for more info.

XFS Optimizer [download] — I wrote this tool primarily to be called via cron on systems which utilize XFS, the popular, high-performance 64-bit journaling file system by SGI. It checks to make sure underlying mdadm RAID devices are healthy before reordering the filesystem for optimal fragmentation.

RamNode Primer [download] — The RamNode Primer was initially written when RamNode's only available Debian image for OpenVZ was quite sloppy out-of-the-box. The situation has improved somewhat since then, but the script still has a lot of practical value. It will do the following when run on a newly-provisioned RamNode OpenVZ host: purge lots of default cruft, add some new mirrors, update system packages, install some common and useful tools, harden the system, and setup a non-root admin user. After which, the system can be used as a light, secure and up-to-date platform for whatever purposes you intend.

Red Hat RNGD Init [download] — Years ago, I noticed that there was no init script for RNGD on Red Hat or CentOS. There was a bug report with a proposed script, but it was never accepted, and further, contained several pretty fundamental bugs. I did some cursory fixes, so it'd at least run, and put it up on my wiki for others in the same situation. It's been downloaded thousands of times over the years, so I'm guessing this is still a problem for Red Hat users out there. For that reason, I've preserved it here for you ‐ warts and all.

MySQL Tuning Primer [download] — Matthew Montgomery wrote the extremely useful MySQL Tuning Primer script several years ago to give us non-career-DBA types a quick overview of our databases for the purposes of identifying and correcting shortcomings in MySQL tuning policies. Since it hasn't been updated since 2011-08-06, I thought I'd patch it to work on current versions of MySQL (including MariaDB and Percona) and host it here.

FLAC Distiller [download] — A FLAC to MP3 transcoder script which works on multiple files in parallel. I wrote it to seamlessly transcode the lossless FLAC music I'd been purchasing to near-lossless MP3's for use on various commodity media devices, such as my phone or my car's stereo system. Just point it at one or more FLAC files, or directories containing your FLAC files, and it'll transcode them to VBR MP3's for you (without destroying the source media in the process). FLAC-Distiller even preserves metatags as part of the transcoding process.

MP3-O-Matic [download] — Similar to FLAC Distiller, MP3-O-Matic transcodes raw PCM "WAV" files, in parallel, into near-lossless VBR MP3 files. It can optionally normalize audio volume as part of the process. This can be especially handy in a studio environment where one is working with lots of raw files.

QDVDRIP [download] — or "Quick and Dirty Video Disc Ripper"; it does exactly as you'd expect. QDVDRIP is a very rudimentary script which relies on some off-the-shelf open source tools to produce an error corrected image of any arbitrary DVD and mount it as a loop device for archival, transcoding, or whatever. There's very little sophistication in the script, but it's worked well for me, so I haven't yet bothered to improve it beyond its initial draft.

Debian Packages

For a while now, I've been hosting some Debian packages which I was building for my own use, but thought might hold some value to others also. The most noteworthy of these is Hiawatha Webserver, which is a secure, reliable, modern webserver written by Hugo Leisink and released under the GNU GPL. Hiawatha has some interesting security features, its configuration format is refreshingly sane, and it scales well on everything from tiny, embedded systems to extremely busy servers handling millions of hits daily.

Since Hiawatha isn't included in mainstream Debian, and because it's nice to track the latest stable version rather than backporting bugfixes, I'm making my own builds available to you here.

All builds are compiled in a secure, clean-room environment with minimal dependencies, and should work on Debian 6 (Squeeze), 7 (Wheezy), 8 (Jessie), Sid, as well as downstream distributions such as Ubuntu, Mint, and the like. Since it makes such a large performance impact, in addition to the standard AMD64 and i386 packages I've also built a non-standard i686 variation which is targeted at CPUs which support the advanced instruction sets of the Intel Pentium 3 and later. If you're running Hiawatha on a 32-bit architecture and your CPU isn't too ancient, you'll likely prefer the i686 builds. There is also an Apt repository, generously hosted by Pål Sollie, which makes it easy to keep your systems up to date. Note that the non-standard i686 package isn't available however, so if you want to use that one, you'll still need to download it directly.

There are also a few miscellaneous packages, such as MakeMKV (which has no official package) and SlowHTTPTest (which is usually outdated in the official repos). These too are built in a clean-room environment, as is my habit, though they probably require at least Debian Wheezy (or the equivalent library age in Sid-based distros like Ubuntu). YMMV. There is no Apt repository for these presently, though if there's interest that could be remedied.

Original content ©2014 TuxHelp.org