Why you should be a sysadmin

As a PHP developer, I believe that its essential to have certain skills. One of the most important, is that of a sysadmin. You don’t have be a very good one, but you need to know your enivronment.

Why do I say this? Well, first of all, you’re writing the code. You should know what it needs, this means several things:

  1. What PHP Version is required
  2. What Apache version is required
  3. What PHP configuration is required
  4. What Apache configuration is required
  5. Directory Structure
  6. Permissions

Now, your company will typically have a sysadmin already. This is where the problem lies. Your sysadmin is in charge of the entire network most likely, and its his ass in a sling if something breaks.

This is a problem many people face, a sysadmin reluctant to upgrade and/or change things because they don’t want things to break. This is understandable – who wants to get fired?

There are solutions however:

1) Ask for your own development server. You should have complete control over this. So should your sysadmin.
This step is crucial, we’re not all perfect and it can take a number of iterations to get your environment perfect, why should you waste your sysadmins time? Also, your sysadmin needs to secure the machine just like any other on the network, but the entire AMP (or similar) stack should be solely your domain.

2) Make demands to your sysadmin
I understand that you don’t want to lose your job either, but if your software requires certain things, you need to make that clear. You also need to do it properly. That includes full reasons (we need to chown this directory to apache because we need to save uploads there, we need to upgrade to MySQL 5 because it has transaction support which will ensure data integrity, etc) and should also state that you have done preliminary testing, and that there are no backwards compatibility issues. If there are BC issues, state how they can be gotten around (A full dump of the MySQL databases to file before re-importing them into the new version will ensure BC). Once your sysadmin has seen the light of day, if necessary, see step 3

3) Provide a united front
If your boss requires it, you and your sysadmin should approach your boss together, explain that you’ve done step 2, and then do it again with your boss.

Now, to do all of the above, means you need to be an adequate sysadmin yourself. Otherwise you will fall flat on your face at step 2. Besides, you need to keep your development server up yourself :-)

Remember, your sysadmin doesn’t know PHP (most likely), but check if they know another language, a lot know basic Perl or otherwise, that will help you to explain stuff if you feel the need to say why your code does something a certain way.

Finally, keep yourself and your sysadmin appraised of AMP security exploits, its a great maneuvering piece to get your syadmin and boss to agree to upgrades :-)

– Davey