Move to Cloud
Currently reading: Programming Amazon EC2.
Setup
One tiny instance will run all the live sites, another tiny instance will be used for development. This will also host a Git server.
Cost
http://calculator.s3.amazonaws.com/calc5.html
Just messing around with the calculator, I can get a pretty sweet setup for less than $25 a month. If I run everything on a single micro instance, it's free.
Plan
- Get a tiny instance up and running with a lamp stack
- Buy a test domain from Amazon and get that hooked up
- Terminate it and make sure the EBS volume sticks around
- Reattach the volume to a new instance
- Try attaching the volume to larger instance.
- Transfer the sites over (data)
- Confirm everything is up, running and works
- Transfer domains
- Try to figure out SSL
Also try
- Put the database (data) on a separate EBS volume
- Try running that volume on a separate instance (one for apache, one for MySql) - this would allow a lot of scaleability
- Running FTP server
- Running GIT
- AWS command line tools
Registrars
http://lifehacker.com/5943452/five-best-domain-name-registrars
Should move away from Dot 5, just not what I need.
Things to Learn
- How to backup/restore an image
- Databases - how do they work? (can I get WP setup with the database on another server, can I move the DB around?)
- cpanel, webmin? Needs some research.
- I should really learn vim
- https?
- linux sys admin
- if I run my own DB, how does load balancing work (I can always just use the Amazon services)
- Can I install command line tools on an instance - then I can have one instance controlling others
- http://aws.amazon.com/articles/1663
Notes
startup script (for ubuntu) in /etc/init.d/ec2 and to make sure it's run at startup, "update-rc.d ec2 defaults"
Tools and Setup
Server Type
I've been using Ubuntu server, and that seems to be work very well. The only quirk (and perhaps not a bad one) is that the system does not allow you to log in as root, you must instead issue sudo.
Update
Do this first. Do it.
sudo apt-get update
Server Setup
Tasksel seems to be a good tool for system setup and is already installed in Ubuntu, just run "sudo tasksel".
More here: http://www.unixmen.com/install-lamp-with-1-command-in-ubuntu-1010-maverick-meerkat/
Webmin
Note, the initial attempt to install webmin will fail, but it will tell apt what it needs to finish. When the apt-get -f install command is run, it will get everything and install webmin.
http://www.webmin.com/deb.html
- wget http://prdownloads.sourceforge.net/webadmin/webmin_1.610_all.deb
- sudo dpkg --install webmin_1.610_all.deb
- sudo apt-get -f install
- sudo ufw allow 10000
- sudo pico /etc/webmin/miniserv.conf
- change ssl=1 to ssl=0
- sudo /usr/share/webmin/changepass.pl /etc/webmin root PASSWORD
- sudo /etc/webmin/stop
- sudo /etc/webmin/start
PhpMyAdmin
sudo apt-get install phpmyadmin
VNC Setup
- Update the system
- Install a desktop either through tasksel or sudo apt-get install ubuntu-desktop
- sudo apt-get install vnc4server
- vncserver :1
- vncserver -kill :1 (starting and stopping it generates some necessary files
- sudo pico ~/.vnc/xstartup
- Erase the last two lines
- add "gnome-session &" at the end
- sudo passwd ubuntu
- vncserver :1
- Open ports 5900-5910
- Connect! I recommend Remmina (or RealVNC for windows)
Blender
Still don't have this working, but http://www.noobslab.com/2011/09/nvidia-drivers-for-ubuntu-1110-oneiric.html got me past the first set of errors.