Need to setup a multi-headed LAMP app ASAP. Looking for advice and/or possibly help.

April 13, 2014 1.3k views
Hello, I've got a web application that was contracted out and was supposed to go live this week. The contractor that did it chose a hosting provider that just is falling down and this isn't even due to traffic. Let's just say it's a hosting provider that's in turmoil and leave it at that. I need to setup at least: 1 load balancer 2 LAMP instances running this PHP, Expression Engine (not my choice) based app 1 MySQL database instance The app needs to be able to handle a peak load of 2000 concurrent requests. This is our high end target but NOT steady state. My questions are: 1) Is this something I can setup quickly and simply here by myself? I'm a high end developer, architect that's done lots of large scale applications in Java, C++, Rails, etc but usually have someone else handle setting up the servers. I'm "linux friendly" but not what I'd call a Linux admin guru. I've setup Rails instances but am not someone that knows all the tuning / setup off the top of my head. Google is my friend. 2) Is there someone out there that'd be interested in a contract to set this up for me with the potential for an admin contract? Any answers / help appreciated. I've put up a Rails server on Digital Ocean and have been really impressed with how quickly I got my Linux distro setup and rockin! Thank you. -Bill
2 Answers
1) Is this something I can setup quickly and simply here by myself? I'm a high end developer, architect that's done lots of large scale applications in Java, C++, Rails, etc but usually have someone else handle setting up the servers. I'm "linux friendly" but not what I'd call a Linux admin guru. I've setup Rails instances but am not someone that knows all the tuning / setup off the top of my head. Google is my friend.
Depends on whether or not you're willing to learn how to manage a linux system. :)
2) Is there someone out there that'd be interested in a contract to set this up for me with the potential for an admin contract?
You can find many freelance sysadmins on sites such as Freelance.com, oDesk, etc.

We have huge amount of articles on configuring linux systems: https://www.digitalocean.com/community/articles.

These articles should help:
- Load balancer: https://www.digitalocean.com/community/articles/how-to-use-haproxy-to-set-up-http-load-balancing-on-an-ubuntu-vps
- LAMP instances (skip the MySQL part): https://www.digitalocean.com/community/articles/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu
- MySQL instance: https://www.digitalocean.com/community/articles/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu (just the MySQL section) and https://www.digitalocean.com/community/articles/how-to-secure-mysql-and-mariadb-databases-in-a-linux-vps. You will also have to configure MySQL to listen on the public interface so that your other droplets can connect to it. You can do that by editing /etc/mysql/my.cnf and setting bind-address to 0.0.0.0. Once you've done that, restart MySQL: sudo service mysql restart. Make sure your droplet is firewalled so only your app droplets can connect to it: https://www.digitalocean.com/community/articles/how-to-setup-a-firewall-with-ufw-on-an-ubuntu-and-debian-cloud-server

Good luck!
by Etel Sverdlov
This tutorial explains how to install Apache, how to install MySQL, how to change the root MySQL password, how to install PHP, and how to see what libraries are available. LAMP stack is a group of open source software used to get web servers up and running. The acronym stands for Linux, Apache ( the web server) , MySQL (the database), and PHP (the language). This tutorial is written for Ubuntu.
Thank you Kamal. I'm capable of doing it. My issue is time. I used to develop operating systems for a company that made fault tolerant computers so I'm very well versed in how they're built as well as what's necessary. I just can't afford to be administering as well as developing and managing. Not enough hours in the day :-)

Can you tell me about any large systems that are running at Digital Ocean? Just trying to get a sense of whether this is where I should start and expect to grow or just start, grow to a certain size and then have to move to a large geographically dispersed hosting center. I really like Digital Ocean and would love to make it work for me. The first app we're launching is going into beta now but will make a big launch in September assuming the beta goes well.
Have another answer? Share your knowledge.