AwStats Analytics On Nginx

I  had a chance to play with a web-log statistics package over the past couple weeks, and I think it turned out nicely, so I’ve been looking forward to writing about it. The package is called AwStats, and it’s reasonably mature (admittedly this is not a new package, and it’s been written about many, many times). Best of all it’s a straight-forward installation/configuration, and an easy project for intermediate or even beginner Linux users. AwStats has good documentation, a substantial user base, and there are a number of add-on packages that can both be used by AwStats and make use of the AwStats file format. AwStats consists of several perl scripts, and functionally it breaks down into two major parts. Part of AwStats is used to convert raw web server log files into a specific text file format, a kind of flat-file database. Another part of AwStats is for the presentation of those statistics on a webpage, for consumption by a browser. Without additional fanfare I’ll launch into how I did the setup (on my Debian system, and running Nginx as my web server). (more…)

System Backup for Bloggers

This one is for the bloggers out there who haven’t yet done their disaster recovery planning, and for those who manage an entire Linux box instead of just a WordPress interface. In the past I’ve had close encounters with complete data loss disaster, and I’ve made significant efforts in the areas of data backup, disk imaging and storage, and identification of critical personal files, on my own desktop computer. Backup of data on my hosted server is an extension of that effort. Right now my website isn’t worth much monetarily, but I’d like to keep it running for the time being, and that means a relatively easy recovery in the case of say, a pervasive malware infection that can’t be easily eradicated. I’ve developed a Linux shell script which backs up not only my important WordPress files, but also my entire WordPress database and a number of key configuration files throughout my system, and I’d like to share this script with the public. (more…)

HTML5 and JQuery – Functional Obsolescence?

Going through some recent training on JavaScript and HTML5, I ran into a couple instances where new HTML5 standards may eliminate the need for certain JQuery functionality. These HTML5 functions are not new (they’ve been part of recommended standards for at least a couple years now), but it’s new information for me so I decided to put up a short post on the subject. The functionality is the same in each case, and since JQuery was first on the scene it is likely the W3C borrowed the idea from JQuery (it could be some of the same people working on HTML5 also developed JQuery though). Performing operations on a construct like the DOM would not be easy in any language, and would I know since I’ve done it in a couple other languages, but JQuery makes this an almost effortless task. Is the HTML5 approach just as effortless? Let’s find out. (more…)

Using Nuget Package Manager with SharpDevelop

The past 3 to 4 years has seen a relative newcomer to the world of C# programming, that of a packaging manager to download, install, and maintain third-party .NET libraries. Back in the old days we had to download individual or collections of .NET library files and possibly related resources files, and then either reference them locally by a single application, or attempt to install them globally into the Global Assembly Cache. Those days are hopefully gone with the entrance of the Nuget package manager, and to make things especially easy you can not only access Nuget from a console built into the IDE, but all your packages can be managed from a windowed dialog. (more…)

Nginx, PHP5-FPM, and MySql Setup for Windows

Web servers can be used for a variety of purposes. I often use them for building and testing server scripting pages, such as with PHP or Python. They can also be used for target practice with your most horrific scanning and hacking tools. The easiest way to set up a web server on MS Windows is by using the so-called WAMP installer programs. I have recently grown fond of a web server called NginX, so in this article I’ll be describing the setup of NginX, PHP FastCGI Process Manager (PHP5-FPM for short), the MySql database server, and the simplest possible configuration of these. In Linux these can all be installed with the packaging manager that’s specific to your Linux version, but in Windows you have to download and install these manually (and in some cases the configuration requires extra work). I’ll describe this so it will all work with the least amount of pain and effort, so without further ado I’ll get started. (more…)

ASP.NET Webforms Build Environment

To work with the Microsoft web technologies such as ASP.NET, you need to install the Microsoft web server Internet Information Services, either IIS or IIS Express. It’s that simple. No other HTTP server does exactly what IIS does (though I’ve heard of one named Cassini which comes close). I am setting up a build environment in a virtual machine, and my focus will be the use of SharpDevelop with ASP.NET, running on IIS7. I may also test Visual Studio for comparison purposes. I believe Microsoft makes a free edition of Visual Studio called Web Express, and this would let you perform these same tests without having to buy the full product. (more…)

SharpDevelop, A Getting Started Guide

SharpDevelop is truly an old friend of mine, with regard to having a constant programming companion on the MS Windows platform. Not only is it an always-free proposition, but it is vastly simpler to set up an application structure, include libraries, and become productive quickly, than an equivalent object-code program would be. Object-code compilers will always be with us, but I think at this point the numbers of .NET programmers have probably surpassed those of most other programming disciplines (and this is another advantage, because more users means more code support, better documentation, more sample code, more and better libraries). You can also program C# on other operating systems by using the Mono framework, although I personally have not tried this. To top off the list of benefits, the .NET library is almost guaranteed to be installed on any computer where I might find myself employed. (more…)

Android App Builds with Eclipse

With the world being overrun by smartphone apps, once again I was a bit curious just how difficult it would be to build one of these apps on my personal computer. The Android OS has been around for 5-7 years, so I have to believe the development SDK is fairly mature. I have very little experience with Java, and even less with the Dalvik VM, but I do have 20+ years of experience with C/C++ and object-oriented design methodology, so I decided to give it a go. (more…)

Volatility Memory Analysis – A Working Environment

There have been quite a few articles floating about recently talking about the Volatility forensic tool, so I decided to take a closer look and see just how difficult it is to get up and running, and how quickly I could do useful things. From some of the more recent blogposts, it appears to be absurdly easy to do very powerful stuff. I think Volatility as a project started about 6 years ago. It probably began life as a tool dedicated for a single operating platform, but at this point can be used on MS Windows, Linux, Macintosh, and the Android OS. (more…)

Alpha AWUS051NH – First Impression

I  just got my new Alpha AWUS051NH wireless network adapter that I ordered from ebay. This thing is advertised as dual-band and supports 802.11a/b/g/n. I’m not sure how new this device is, probably 3-4 years or so, and at $35 with free shipping I decided I couldn’t go too terribly wrong by purchasing it. (more…)