Andrew Que Sites list Photos
Projects Contact

April 17, 2014

Apache 2.4 and PHP 5.5 Test Server, and Another Monitor

The Console, April 2014

The Console, April 2014

Yesterday I tried getting Apache 2.4 and PHP 5.5 using the package manager. I didn't get it to work. Today I decided to compile it from source like I always have. That did work. I copied most of my old configuration file to the new setup and have only run into a couple of places that need to be changed. There are still some issues I need to work out with the older Perl script sites, but a port on the main server should be doable soon.

I have again been watching my server logs. I started running a duel monitor setup in April of 2005 and had used one monitor to display all my server stats. As I began to make more and more use of my screen real estate and became less interested in watching logs, I stopped doing this. Now that I'm far more involved with getting the website back to being robust I've again started watching log file. The Blue-Dragon (my current console) has four monitors, although I usually only had 3 running at a time. With 5440x1600 pixels of screen space you would think I had room for everything. But gone are the days when applications didn't waste pixels, and I have become very use to having 3 screens to work on. So when I wanted to display my log files, there was the question of where to put them.

The 4th monitor on the Blue-Dragon was a CRT, but it wasn't in a great location. Xiphos had given me an old LCD he wasn't using, and for awhile I used it for a work computer. It has been sitting idle. I decided I would fly the monitor and place it above one of my secondary screens. Initially I was going to do this using a shelve I planned to put behind the secondary monitor. But as I was setting this up I changed my mind. The new LCD to add into the collection had a large base that made it difficult to put the monitor where I wanted it. After removing the base to see if I couldn't construct something else, I found mounting screws on the back of the LCD. I decided to see if I couldn't mount the monitor to a wood bracket. It turned out to work better than I had expected. I was able to mount a 2x4” board to the back of the monitor, and screwed that to a second 2x4” board that connected to a shelve.

The results are pictured, and I am pleased with them. While low resolution, it can hold all my logs so they are at an easy glance, and don't interfere with my work space.

April 16, 2014

Fighting with Apache



I started with a lot of success today. To being, I mirrored several of the sites from with my home setup. This was done using the sub domains and sub-sub domains. For example, routes to the Blue-Dragon and a virtual host for the King's Quest site. This allows me a live sandbox to test with. I setup the mirrors with a password (hence why they are not linked) mainly to keep search engines from digging around. These are mirror sites, and I don't want the mirror ending up in an index over the actual site.

Since I could not get Apache 2.4 running on the Micro-Dragon I decided to look at getting the Ubuntu package running. Ubuntu currently has support for Apache 2.2, but not 2.4. Not a huge problem, but I know my config file has issues in 2.4 and I kind of wanted to have 2.4 running to work these issues out. There is a repository for Apache 2.4, and I got it to install. However, it did not work with PHP. Here I ran into a problem with the repo. There is a repository that has both Apache 2.4 and PHP 5.5. However they are dependency problems inside the repo I can't get around. The repo page noted that the build from the previous night failed for AMD, and maybe that is the problem. So no luck with Apache 2.4.

I've been eating more biscuits and have been working on a simple biscuit recipe.  This set has a little cornmeal, and with some 100% strawberry jam is pretty tasty.

April 15, 2014


Last Snow

Last Snow

Although it has been 10 years since I started and I still haven't finished, I've decided to release the Battlantis game site. This was game was one of the first arcade games I was really around when I was younger. While I never played myself (I never had money for such things) I use to watch others play and once even saw someone beat the game. There was a thrill to see a new level that no one else had been to before. One of the things I liked most about the game was the music, and after finding MAME back in the late 1990s I was very pleased to be able to listen to music from the game.

I have had some more time to analyze my log files. I have several virtual hosts and each has it's own log file, and now all have been setup for analysis. The log system has a comparison chart for all sites. Turns out the root of gets about 50% more traffic than the King's Quest site. The root of the site gets the most traffic (the photoblog), followed by the image gallery, and then by my Polynomial Regression class, and Gauss-Newton class. I had not separated the last two projects from the main site until recently. There was a high amount of traffic to a profile editing page (now non-existent with the new site layout) that must have been a target by bots.

What this actually means I can't be sure. It is likely that the King's Quest site is still the single most popular page. But the photoblog, Polynomial Regression class, and Gauss-Newton class are also fairly popular. Now that the bots are being filtered, and the logs are split up I will be able to get a more definitive answer. In a couple of months I should know for sure the traffic delineation between the sites.

My bot management seems to be working. The error log has had only a few entries over the past 12 hours, mainly for missing “favicon.ico” and other such things. Before banning known malicious requests most of the error log entries were messages for the bots attempts. Currently 90 IP addresses have been blocked by the Ratrap, and a total of 140 have ventured into the trap.

Pictures is probably the last snow of the season. I will miss you winter.

April 14, 2014

Getting the Ratrap Back to Business

Push the Button Machine

Push the Button Machine

   Around July of 2006 I wrote a script called the Ratrap.  It's honeypot designed to attract malicious bots and ban them from my server.  The Ratrap is a script that works by looking like a directory.  It generates random pages full of text, links, e-mail addresses and images.  The links all link to itself, and everything is random.  Once a spider goes into the Ratrap, it could stay there indefinitely.  However, after a said number of requests, the script uses iptables to deny the requesting IP address from accessing the server any further.  This can blacklist bad bots.
   At some point the Ratrap stopped working on my server.  But with all the malicious traffic I've been seeing on the site I thought it was a good time to get it working again.  It looks like what broke was SQLite.  I used this in the script to keep track of traffic in the Ratrap.  I ported my implementation so that it used the PDO SQLite interface and things are again functional. 
   Now that I have the Ratrap working again, it was time to have it assist in blocking some of the traffic from the inept bot I wrote about yesterday.  There are two pages the bots love: one from my King's Quest walkthrough, and the other from an old guestbook.  Now both of these request will instantly ban the requesting IP address.  In just a few hours over a dozen IP addresses have been banned, and I am seeing a lot less "File does not exist" in my error logs.
   This picture of a man plugging away at a slot machine in Las Vegas reminds me of the inept bots trying to SPAM my site.  Without thinking the man pushes buttons thinking he is going to somehow beat the machine, but the odds are overwhelmingly in the machine's favor.  He could win, but he probably won't.

April 13, 2014

Inept SPAM bots.

Rocket Engine of a Titan Missile

Rocket Engine of a Titan Missile

   Since updating the King's Quest site, my traffic has dropped significantly.  Traffic went from around 200 visits a day to 30.  It may be I messed up the site's rank by retooling it, but I have an other hypothesis.  I believe this is due to a SPAM bot that is now finding a non-existent page.  Because I can't spell I had named a page incorrectly.  For whatever reason this page became a favorite of some kind of bot that hits it hundreds of times a day.  I renamed the page when I corrected the spelling error, and now the page has a redirect.  The bot seems to have trouble with the redirect and request a second URL that doesn't exist at all.  The hits come from all kinds of locations, and most are listed on Honey Pot pages as bots.  Time will tell if my traffic returns, or if I was misled into thinking my site received more traffic that I thought.  Still, 30 visits a day is 900 visits a month, and that (to me) is significant for an 11 year old game site.
   Just as strange as the as the actions is the fact this bot has never accomplished anything.  Despite having hundreds of requests a day made from hundreds of different locations the post attempt has never posted a single thing.  I can't be sure what all it attempts to post, but the page they all target has no postings at all.  There is never a request for the Captcha, so there is clearly never an attempt to solve it.  While the bots intent is probably malicious it is also inept.
   My new comment system should cut down on the bot traffic.  The new comment system does not have a form included on the page, and that form isn't loaded until the requested by Javascript.  Bots searching for forms to fill in have found my website a number of times.  Only once have they been ever successful.  This new comment system should complicate things enough so the bots don't bother me.  We shall see.


I use to back up MySQL by copying the directory that held the database files. This worked for over a decade, but now has issues. So, time to look into doing the duplication correctly. Turns out it isn't that hard. The command mysqldump can export all the databases to a text file, and that file is simply a set of queries to create the databases.

This command replaced my con job to make an archive of the database:

mysqldump -u {user} -p={password} --all-databases | bzip2 -c > /{path}/mysql.bz2

I also found a simple way to synchronize my console to the server over SSH:

ssh -C {user} mysqldump -u {user} --password={password} --all-databases | mysql -u {user} –password={password}

Put in a shell script, this is much easier than my old method of stopping the local server, deleting the old database data directory, decompressing the archive to the data directory, and restarting the server.

April 09, 2014

Updated King's Quest page go live



   After a lot of monotonous editing to reformat, and a rewrite to the comment scripts the King's Quest walkthrough updates are complete.  Although I considered verifying and updating some of the content on each page, I decided against it.  I have too many other projects that need attention.  It may not look like much on the surface, but the reformat took about 20 hours.

April 08, 2014

King's Quest work underway

   A long day, but the King's Quest I game walkthrough has been entirely ported to HTML5/CSS3.  Frames have been eliminated and replaced with PHP includes.  I still need to verify all the links, replace the comment system, and verify the site in a suit of browsers.  The grunt work is over, and it was long and dull.  I watched all the original Cosmos and knocked out a few episodes of the original Star Trek.