I previously mentioned the reasons why I'm moving my domains to a developer server at Media Temple. Now that I've received my activation e-mail message, I'm going to take you through my steps to set up the (ve) server and moving one of several domains to it. Before I begin, please be aware that the DNS propagation delay can confuse your efforts. If you're moving or adding domains, you can tell when the changes have taken place from your perspective, but not necessarily from everyone else's.
SSH Access
Remember, this is a developer server. Nothing other than the operating system and root access by SSH is set up for you. In my case, I chose the Ubuntu Linux OS and noted at the Media Temple account page for this server that root access was enabled. Before I could do anything else, I had to set my root password since I had no way of knowing what was set as the default.
After logging in as root, I immediately added a new user so that I would never be logging directly in as root again (after I set up). This was probably the easiest part of the whole setup. All I had to do was edit /etc/ssh/sshd_config and change PermitRootLogin yes to PermitRootLogin no and then restart the SSH daemon by executing /etc/init.d/ssh restart while still logged in as root (it will not work if you're logged in to root as a superuser).
Installing LAMP, Webmin, vsftpd and Postfix
The next step was to install LAMP (Linux, Apache, MySQL and PHP). I followed the guide to "Install LAMP on Ubuntu 9.10" to step 3 only because at that point I wanted to install Webmin as a lightweight control panel.
I followed the guide to "Install Webmin on Ubuntu 9.10", which was pretty straightforward, and then I followed the guide to "Setting vsftpd on Ubuntu 9.10". Although I don't use any of my domains for mail, one of my clients does so I followed the guide at "Installing Postfix on Ubuntu 9.10".
At this point, I knew I needed to start adding domains and transferring files. I double-checked to make sure the apache2 configuration file limited the MaxClients to 50 (as a starting point) with 4000 child processes before starting that phase of the operation.
Coming in Step 2
Once all of domains are moved to the new server and the DNS is pointing properly for me, I plan to go one step further. I intend to install nginx as a front end caching proxy server with Apache 2 as the backend. This means I'll have to change all the virtual hosts to a port other than 80 since nginx will be listening on port 80. I want to make sure everything is running as it should before proceeding with this step in case I screw something up — I have to be able fall back to something that works.
One thing I wanted to mention is that learning a new control panel is a pain in the keester. I'm familiar with cPanel and Plesk, but Webmin is almost too simple. I'm using Plesk from my current server to backup the MySQL databases and then using Webmin to restore those databases on the new server.
Similar Articles:
- Tweaks to using nginx as a Reverse Web Proxy for Apache 2
- A Plan to Move from Server to Server at Media Temple
- Setting up Media Temple's Developer (ve) Server Part 2
- Installing nginx as a Reverse Web Proxy for Apache 2
- File Permissions and WordPress
This article is published as: Setting up Media Temple's Developer (ve) Server Part 1
Hey RT,
You're a braver man than I am. I know just enough unix to be really dangerous .. especially since there's no "undo" command. Sounds like it's going to be a "fun" week or so, but in the end I'm sure it will all be worth it. Hope it goes as smoothly as possible.
Fun week? I'm all done except for the gninx part, which I may not do.
Thanks for the tip about immediately adding a new user. This is definitely the easiest part.
Not sure how you followed a set of instructions which don't work. There are errors all over the place and inconsistencies galore. It would be helpful for others to know this going in.
I didn't have any errors. How can I say there are when I didn't have any?