Posts in the Get Help category will help you solve a tech support problem.

Resetting Your WordPress Password

Bloggers: have you ever forgotten the password for one of your WordPress blogs?  Or attempted to take over or maintain a blog setup by someone else who doesn’t know the admin password?  This is your lucky day!

Assuming you have access to the database containing the WordPress blog’s data, resetting the password is easy. Assuming that the blog is using the default “wp_” table prefix, the user account is named “admin,” and the new password is being reset to “password”:

UPDATE wp_users SET user_pass = MD5("password") WHERE user_login = "admin";

For more information about resetting a lost WordPress password, see the official page on the subject at the WordPress Codex.

Creating a Child Theme in WordPress

A couple of days ago I updated Lightword, the theme that I’ve been using on this blog for quite a while now. Unfortunately when I did the update I lost all of my customizations, including my logo and Adsense code.  So I went looking for a solution.

Little did I know, WordPress has supported a feature called “child themes” for some time now.  The idea is that you create a new theme, which is as simple as creating a new directory with a single CSS file called style.css, and add a comment to the new CSS file specifying the name of the parent theme.  You can read all about how to create a child theme here.

Should Schools Have a Facebook Page?

As the developer responsible for my employer’s website (a technical school for high school students and adults) I was also made responsible for creating and cultivating membership to the school’s Facebook page.  Our school is different from a high school in that we aren’t guaranteed enrollment from year-to-year, and so we’re constantly looking to improve our marketing. Facebook was the perfect candidate, but what was initially viewed as a great marketing and communications tool is quickly devolving into an administrative mess.

Should I disable commenting, image, and video posting?  Should our school even have a Facebook page at all?  Facebook is by nature very open and everyone from our Quality Management Team to our instructors to our Administrative director find something wrong with just about every comment posted, whether it be an inappropriate tone or improper grammar.  Policing the page takes no small amount of time an effort.  Disabling the interactive features of the page defeats the purpose of having it.

What do you think?  Should a school have a Facebook page and, if so, how should it be regulated?

6 Reasons I Chose A2Hosting

FTC Disclaimer: I’m a satisfied, four-year customer of A2Hosting and a proud member of their Affiliate Program. I’ll make a buck or two if  you purchase hosting via my site,  so if you have a moral objection to helping me pay my monthly Netflix subscription, then by all means don’t click my links. Either way, check out A2Hosting.

Anti-Disclaimer: My blog has had a long and proud tradition of sounding off about products that suck. Just this once I decided to get behind a product that I’m truly proud of and tell you all why I recommend A2Hosting’s Shared Hosting package above the competitors.

Introduction

If one goes searching this vast Internet of ours for recommendations about cheap web hosting, one will be sure to drown in oceans of fake ratings and user reviews, not to mention affiliate links from folks who have never actually sampled a company’s services or those of any of their competitors.

I’ve dealt with several cheap, shared web hosts from the largely unknown Global Internet Solutions (name intentionally left unlinked for your protection) to Danika Patrick’s host-of-choice GoDaddy.  But when I have the choice, I host with A2Hosting.com.  This personal choice and my recommendation to my readers comes not from the promise of affiliate payments, but from four years of positive experiences with this company. Below are 6 reasons why I stand behind A2Hosting.

6. A2Hosting Watches & Listens

Up until just a few months ago I was running a now-defunct personal project called Sudoku Madness.  This marginally-popular website was hosted on A2Hosting and hosted hundreds of thousands of unique Sudoku puzzles in a PostgreSQL database. My site became a small hit (especially with my sister’s seventh-grade math class), which turned out to be a problem for other users who shared my server:  my scripts were opening a new database connections on each request and not returning them for use by other users.  A2Hosting didn’t knock me offline as they had every right to do, but they immediately notified me that my PHP was running amock and proposed a fix.

A2Hosting solved a problem of my own creation and suggested a solution that kept me and their other customers online and happy. Plus they kept me earning literally tens of cents per week in affiliate income from that project! (Look for my money-making infomercial coming soon to QVC!)

5. A2Hosting Supports PostgreSQL

Many shared web hosts support only the typical LAMP development stack; but in addition to the traditional Mysql offering, A2Hosting also supports PostgreSQL.  Attempting to debate the pros and cons of the two platforms is both out of this article’s scope and risks inciting a religious war, but suffice it to say that Oracle’s purchase of Sun Microsystems leaves MySQL’s future uncertain so a choice in open database platforms can’t be a bad thing.

I chose to use PostgreSQL on several of my projects, most notably on my Sudoku Madness site.  That particular database housed hundreds of thousands of records and used home-brewed PGSQL procedures to speed up searches and puzzle creation. The site ran for several years largely unchanged, and speed and storage never became a factor.

My one complaint: A2Hosting’s automatic backups include your MySQL databases, but at least as of a year ago, not your PostgreSQL databases. To the best of my knowledge, you’ll need to set up your own backup schedule if you choose PostgreSQL (a good idea regardless).

4. A2Hosting’s Server Rewind Feature

Whether you only host your own projects or resell hosting to clients, the day can and will come when you’ll need a backup. There is nothing more embarrassing and damaging to your credibility than losing a client’s site or database and not having a recent backup.  Nobody is perfect. That’s why pencils have erasers and decent web hosts provide backups.

I’ve tested A2Hosting’s backup system on numerous occasions.  The first was when my account was migrated to a new server and one of my databases was missed during the restoration (again, darn that lack of PostgreSQL backups!). With the help of A2Hosting’s support department I was able to recover one of my manually created SQL dump files from the Server Rewind app and quickly get my site up and running again.

More recently a site which I inherited from another developer was hacked.  The code for this site only worked when a certain directory under the web root had full write access by the Apache process and the client refused to pay for a rewrite.  Suffice it to say, they eventually got theirs.  I was able to recover both their site and their back-end database  using Server Rewind, available through my management panel.

3. A2Hosting Supports Subversion

The day comes when a developer outgrows manually updating their websites via FTP.  Fortunately A2Hosting supports Subversion over SSL, which provides you with secure version control of your code.  They also offer CVS and Git hosting if Subversion isn’t your thing.

I personally use A2Hosting’s Subversion hosting for all of my projects that aren’t based on another project (WordPress, etc), even development projects that aren’t hosted on A2Hosting.  After committing my code to Subversion I SSH into my server and run a script that pulls the latest changes from the repository. Using version control to manage your sites saves you time and bandwidth by only uploading changed files, and it gives you the power to quickly undo a bad update.

2. A2Hosting Has Never Eaten My Domains

Granted, I’ve never given them the option. I’ve previously lost domains to other shared web hosts who offered me cheap domain registration but refused to release my domains after I became disgusted with their service and wanted to move.

On the other side of the coin, I’ve transferred a number of domains to A2Hosting and they’ve always offered assistance in this frustrating process when they can.

1. A2Hosting’s Support is Unmatched

I can’t begin to explain how helpful A2Hosting has been to me over the past few years.  They’ve always responded quickly to my support requests no matter how inane, and they’ve saved my ass from embarrassment and lost clients on a number of occasions.

When I developed my first site using PostgreSQL, I uploaded my scripts to A2Hosting only to find that they had not enabled the pdo_pgsql extension which my code was completely dependant upon.  Their support people had the issue resolved within hours, which I consider more than acceptable for a shared host, when other hosts have rejected my requests across the board for common PHP extensions in the past.

More recently I had an issue with mail from my domains being rejected.  This is the sort of issue which truly tests a company’s metal because there are so many possible points of failure. Many companies will play the blame game for days or even weeks with email issues, insisting that the problem is “on the other end.” A2Hosting has never been afraid to dive in, and resolved this issue by the end of the day.

Summary

Though A2Hosting remains competitive in price, speed and options, their edge comes from their fanatical support.  Though I award them zero points for originality by naming their support wing the Guru Crew, those are the folks who have made me a committed and loyal customer of A2Hosting. Choosing a web host is a lot like choosing car insurance:  you can pay your premiums for years and have no concept of a company’s quality.  You find out when it’s too late, and that’s when A2Hosting truly shines.

PHP On Windows 7

Last week I decided to take the plunge and install the release candidate of Windows 7 on my office workstation where I happen to do a lot of web development and testing.  My development stack consists of Netbeans IDE, PHP 5.2.8, and IIS 7.  There are plenty of other quality tutorials out there explaining how to get PHP working on IIS 7 so I won’t bother beating that particular dead horse.  However there was one quirky difference between installing PHP on Vista and installing PHP on IIS 7 that developers may want to be aware of before they follow my lead.

The Problem : Editing php.ini as a Standard User

During the process of installing PHP on Windows 7 you will be required to copy php.ini into the C:\Windows directory, and  later point you’ll most likely need to edit this file to suit your needs.

On Windows Vista I simply wasn’t allowed to edit files under the \Windows directory (specifically php.ini) when logged in as a Standard User. Windows 7 was more than happy to allow me to modify and save this file in the same location, logged in with the same credentials. But even after restarting IIS my configuration changes never took effect.

The problem was caused by something called the Virtual Store, an application compatibility feature that existed in Windows Vista but works a little bit differently in Windows 7.  Where Vista wouldn’t let me edit this file at all, Windows 7 happily lets me modify it but transparently saves the changes in a different location. The updated php.ini was stored in %UserProfile%\AppData\Local\VirtualStore\Windows\php.ini.  The service account which IIS runs under can’t see this updated file

The Solution: Run As Administrator

When editing php.ini, don’t simply double-click it and make changes.  You must run your text editor as an administrator to edit the file, otherwise the changes will be saved to the Virtual Store.