I am new to VPS servers. I have always used a shared hosting platform all my life. At the moment, we are working on a project at work thats is going to require more than just a shared hosting server, so we decided to setup a VPS account for the project. The project will be due to go live in about a week and i have been asked to take care of the VPS setup and configuration.

I have never done anything like this before. I have always worked with XAMPP on windows and just recently moved to LAMPP on Ubuntu Linux. To the best of my understanding I know the new VPS will require the installation of Apache, MySQL and PHP (not sure if it will already be installed and configured on new vps host). Also, I know there are more things to be done than just installing the above mentioned softwares. We plan on buying Perfetto2 Plan from Mochahost.com

My first question is, What linux distro should we go for and why? Secondly, What are the necessary installations and configurations that needs to be done and how will I do them. I would really appreciate if someone with good VPS experience can advice me on the best way further and if Mochahost.com is a good choice.

Thanks in advance.


I have never done anything like this before

To be honest you should consider hiring someone with more experience, or at least get some professional advice. Running a webserver in production involves a bit more than just installing packages (if there's any traffic) - let alone security concerns.

What linux distro should we go for and why?

Usually you should stay with the OS you are most comfortable with. Since you just started my advice is still the same but you should consider choosing based upon where you get the "best"(TM) documentation (whatever best means to you).

On the other hand if you know how to secure windows and how to run your software on it, why not go with a windows based hosting?

What are the necessary installations and configurations that needs to be done and how will I do them

  1. Secure your OS (SSH, Firewall, remove unneeded services, the "usual")
  2. Get a Testing environment - it's not clear from your question wether you have one. But you definitely don't want to deploy manually. If it's only an rsync job that does the magic it might be enough. But be sure that it's a repeatable process, be sure that you can roll back
  3. Since you run PHP you can only run the apache-prefork-mpm (sanely). Be sure to use that one
  4. Reconsider going to some provider that will do the hosting for you. It doesn't have to be shared hosting there are a couple of providers that specialize in PHP hosting and that will take for you (up to a certain point at least)

To stress the professional advice even further: If you think you save money by going with a EUR 9.99 VPS (or EUR 49.99) and do it yourself, consider this: How much money will it cost you if your service is down for a couple of hours because someone compromised your server?

Finally: Setting this up is not something for a single post here, especially if you don't have experience. A couple of people I know make a living from exactly the requirements you have and sell services just for the very reason that it's cheaper to get usefull advice and don't have downtimes instead of "learning the hard way".

  • 1
    This is the correct answer to your question. A regular work week is unlikely to be enough time for you to get this done properly if you've no prior experience. – brent Jun 14 '11 at 19:35
  • 3
    I agree that professional advice is what you need for a production server. If you're just looking to learn, get a cheap VPS and play with it. Keep your code in a repository. When hackers get in, reset your VPS to how your host gave it to you (your host should have a way to wipe out your existing VPS and give you a fresh one) and start again. If nothing else, you'll learn to not allow root logins with SSH and the importance of backups. – Chris Ting Jun 14 '11 at 19:46

You should use the linux distro you know the best. The reason is for an easier user experience. New to linux? Many people say that Ubuntu has the lowest learning curve. The VPS at Mochahost.com uses a modified kernel to give you a container. The 'distro' is a set of packages that are installed to the container.

Your VPS is going to come with either cPanel or Plesk installed. Usually, Apache, MySQL, and PHP will already be installed. Using the control panel gives you a nice GUI with which you can do the standard configurations.

Come back when you need to do something the GUI can't let you.

  • Thanks very much Chris. Your response actually reduced the tension in me. One more thing i need to clarify. Are you saying I need not bother about Security, Firewall, Database Configurations, etc....? – user431949 Jun 14 '11 at 19:26
  • You always need to be aware of these things. What you'll find is that the GUI won't give you much control over them, except for the database. There's usually something at least on the level of phpmyadmin. Your host will give you a way to SSH into the server, and which point you can change things such as sshd, sudoers, iptables, etc. – Chris Ting Jun 14 '11 at 19:30
  • I don't think he's saying there's no need to bother about security. He just doesn't mention security at all (which at least to me are 2 very different things) – Martin M. Jun 14 '11 at 19:30
  • @user431949: Securing (hardening) a server can be very involved. It requires you to constantly make decisions on if you want something secure or convenient. You should really ask that in a separate question. – Chris Ting Jun 14 '11 at 19:39

There is a step by step illustrated guide that will walk you through the various steps from the "bare metal" to a finished server including LAMP and a server panel.

I suggest trying it out. It's a panel called "ISPConfig", somewhat similar to the control panels you usually see in shared hosting packages. It's free too and quite kept updated.

Here's the exact setup I would use if I were in your place. ISPConfig for Ubuntu 14.04 and Apache.

The tutorial will make you install a number of things, some are optional. In example it tells you how to setup a mail server, antivirus etc. etc. Just do the steps you need and leave out the others and you'll have a neat and easy to administer LAMP server in few hours!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.