As I mentioned in the comment above, unless you absolutely need your private key to be on the server, I would recommend only storing the address for checking purposes.
I've never used bitcoind before, but the best solution I have seen for accepting bitcoin payments would be to use something like bitaddress.org to generate a huge number of address and private key combos. Upload the addresses into a database on your server, and then when a customer goes through a transaction your server can select a brand new (never before used) key for them to pay to. Then you can use a bitcoin API like the one provided by Blockchain to validate that the correct number of bitcoins have been sent to this address, and once it confirms, you can release the product to the client.
Then, at your leisure sometime in the future, you can collect your Bitcoins from the addresses having received payments.
This method presents a number of distinct advantages IMO:
1) Private keys are never on the server, you are considerably less vulnerable to an attack.
2) No requirement to keep the entire blockchain on your server, saving space and bandwidth.
3) Funds from each client are held separately (initially) so if you had multiple sales in a short time period, you can still identify each separately (if you used one central wallet, you run the risk of confusing the payments)
4) Your central wallet is slightly safer - the client no longer pays directly to it. Important to note that this makes very little difference because they'd still need your private key, but peace of mind is nice.
I appreciate that this isn't quite the solution you were asking for, but I think it may still fit your usage case & be more secure.