mod_ssl and Server Name Indication (SNI)


While configuring Apache for SSL / SNI I ran into a few errors:

 

[root@webapps ~]# service httpd restart

Stopping httpd: [ OK ]

Starting httpd: Syntax error on line 1068 of /etc/httpd/conf/httpd.conf:

Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server configuration

[FAILED]

 

[root@webapps ~]# service httpd restart

Stopping httpd: [ OK ]

Starting httpd: [Sun Jan 01 03:15:08 2012] [error] (EAI 5)No address associated with hostname: Could not resolve host name *443 -- ignoring!

[Sun Jan 01 03:15:08 2012] [warn] _default_ VirtualHost overlap on port 443, the first has precedence

[ OK ]


Apache mod_rewrite + Vanity URLs + PHP


I'm trying to make the most of my year end break by familiarizing myself with some additional web development tools like PHP, HTML5 and jQuery. One of the projects I'm working on is a sort of rich content internet clipboard like my clipray.net site but with the added capability of storing images, files and rich text. One thing I really like about clipray is that I can create a new clipboard just by typing in a new clipboard name after the site name in the url bar (like http://clipray.net/newclipboard). This was achieved using Rails Routing.

I was able to replicate this behavior using PHP and Apache.

This article should:

  • Describe mod_rewrite and its rule system
  • Show a working example of a VirtualHost directive that includes mod_rewrite rules
  • Show how to make this work on the PHP side of things

Issues with NIC Detection: Centos 6 on a VM


Does this ever happen to you: After provisioning a VM with Centos you discover that it has not detected the virtual NIC. It happens to me on occasion and can get annoying.

Symptoms:

  • No internet access (of course)
  • When you run ifconfig, you only see output for lo

1-No_Ethernet.png 

This article:

  • Shows how to tell if the NIC is "physically" installed correctly
  • Walks through a manual configuration scenario

Error: LoadModule takes two arguments (when configuring Passenger in httpd.conf)


While configuring Apache + Phusion Passenger + Ruby on Rails I encountered a few error messages:


[root@webapps ~]# service httpd reload
Reloading httpd: not reloading due to configuration syntax error
        [FAILED]

[root@webapps ~]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd: httpd: Syntax error on line 221 of /etc/httpd/conf/httpd.conf: LoadModule takes two arguments, a module name and the name of a shared object file to load it from                             [FAILED]

[root@webapps ~]# service httpd restart
Stopping httpd:                                            [FAILED]
Starting httpd: Syntax error on line 1039 of /etc/httpd/conf/httpd.conf:DocumentRoot takes one argument, Root directory of the document tree
                                                           [FAILED]


pfSense 1.2.3, Portforwarding and firewall rules


A year ago I setup a minecraft server on my private network. To open it for friends and family I added a port forwarding rule through my pfsense 'appliance'. After awhile we stopped using the server (frequent updates came out for the server software and I was busy with work).

Today I setup a new minecraft server (hosted on my ESXi box) and edited the port forwarding rule in pfsense to point to its new IP address. Unfortunately it didn't work. NMAP, Symantec CRTTools and my TCP/IP Port Scanner app all showed the port as filtered/blocked/closed.

What Was going on?


VPS Hosting for Web Applications- Webkeepers vs Alien VPS vs Tailored VPS


I've noticed that Bluehost has been throttling my hosting account more frequently over the last couple of weeks than it normally has. The time throttled has gone from 1 second in 24 hours to 119 seconds in 24 hours. Given the web applications that I'm trying to setup, I'd like to move them to their own host to ensure that my site stays responsive.

There are a lot of options for inexpensive VPS hosts out there! I'll pass along what I've found out about each provider along with my thoughts & final decision on which one to use.

 

Update 29-April-2012: I wrote a Follow up article mentioning some of the experiences I've had with AlienVPS and ChicagoVPS including uptime and general performance.


Anatomy of a Test Case Automation Engine


Just before leaving for the Holiday break I was able to demo a 1.0 version of the Test case automation engine to the Director of Engineering and lead developers. The reaction was very positive! I'd like to outline what components are used and the general thought process behind this as I may want to refer back at some future point in time.


Accessing Testopia XML-RPC Webservices using HTTP GET commands


A lot of our tests revolve around passing parameters to an executable and reading the output to determine if it is valid. Given the generic nature of this test procedure, it seems impractical for QA to maintain a set of test cases in a test tracker (Testopia in our case) and a separate set of automation scripts.

To alleviate the burden of synchronizing and updating automated test cases I set my sights on some sort of Web Service integration with Testopia. I'm starting small and working my way up.

This article will

  • Point you to the XML-RPC Webservice API docs for Testopia
  • Demonstrate how to Get all test cases associated with a Testplan via an HTTP GET

Bash 101 Part 5: Regular Expressions in Conditional statements


I've come to rely on Regex for most of my text analysis needs. Regular Expressions are powerful, flexible and precise. They come in handy when you need to analyze the output of CLI Commands.

This article aims to:

  • Briefly cover what a regular expression is, and where you can go to learn more
  • Cover the Bash 3.2+ Syntax around regex in conditionals

Bash 101 Part 4: Brackets / braces / Parenthesis, Arithmetic and Loops


Bash can do arithmetic and loops. While this comes as no surprise, this article intends to show some examples of both and provide a few references where you can learn more.

Also covered: What the different bracket types mean.