1

I'm a software developer and don't have much experience as a sysadmin. I developed a web app and was considering buying a server and hosting the web app on it.

Is this a huge undertaking for a web developer? What's the level of difficulty of maintaining a server and keeping up with the latest security patches and all that kind of fun stuff. I'm a single user, and not planning to sell the service to others.

Can someone also recommend an OS for my case, and maybe some good learning resources that's concise and not too overwhelming.

2
  • 5
    This is kind of like asking how hard would it be for a sysadmin to become a programmer. Too many variables and impossible to answer meaningfully. May 19, 2010 at 1:22
  • Should be community wiki at least.
    – Wesley
    May 19, 2010 at 2:59

3 Answers 3

3

Let's start with some simple answers...

Is this a huge undertaking for a web developer?

Depends on your level of experience and how comfortable you are with breaking and fixing things.

What's the level of difficulty of maintaining a server and keeping up with the latest security patches and all that kind of fun stuff.

Package updates (I refuse to endorse source-based distros like Gentoo anyone who's not already a guru) are easy; securing web apps can be quite difficult, depending on what functionality you're trying to achieve. Web Application Exploits and Defenses is an interesting exercise in teaching developers to write secure applications, once the basics like PHP security and SQL injection are out of the way.

Can someone also recommend an OS for my case, and maybe some good learning resources that's concise and not too overwhelming.

Ubuntu is fairly newbie-friendly but may be too "simplistic" for some people's tastes. Both the distro and the community have a few strange ways of doing things, but filtered through a reasonable degree of cluefulness you should be able to achieve almost anything.

It's a good idea to try and find a community that you can ask questions of - IRC, and specifically the Freenode network is good for anything open-source related - and forums are good for almost anything, if you can find the right one. Real People Who Know Things are also invaluable when starting out.

1

If you are going Linux/Apache and you want to keep it as simple as possible, I'd suggest going with Linode (http://www.linode.com/) and use their Ubuntu images. Linode is a VPS provider and provides a great number of tools to automate things such as backups and let you manipulate your system through an http based console if the need arises. You'll have root access. You won't ever have to deal with anything hardware related and very rarely will you have to deal with anything network related.

You've tagged the question as Centos related, but I typically find Ubuntu much simpler (and ubuntu.com's documentation is fantastic). Installing apache / php / mysql is pretty darn easy with apt-get (or aptitude). For documentation on Ubuntu, refer to http://www.ubuntu.com/products/whatisubuntu/serveredition and https://wiki.ubuntu.com/

I don't think you'll have much problems doubling as a sysadmin if you remember to "automate everything" - I've done this before in a previous life. Learn how to write bash scripts (or scripts for the shell of your choice). Putting on a sys admin hat as a developer is a very useful exercise. It'll help you both appreciate the work admins do and also make you tailor your development processes to make life easier on admins.

1
0

CentOS is fine, but put it on a local system first and destroy it a few times.

Also, RUTE.