So I had a pretty busy past few days. I moved over everything from
joynal.com -- minus the short url stuff. The way I looked at it, having
joynal.com as my base domain made more sense than to have the
rab.io as my main domain -- also that gives me more options when it comes to building additional web-apps functionality. Maybe I'm just weird.
Anyways, during this whole migration, I also migrated servers. Initially I had just set up a laptop at home as a temporary server. It was running on Debian Squeeze on an old Dell Inspiron 600m. It was going well and didn't run into any big problems. The only issue I had with it was reliability with my internet connection. I have Verizon Fios at home, which is super fast btw, but Verizon has a tendency of going down time to time. The down times are unexpected and because the net shuts itself down, it resets my IP address at home. Then it screws with my DNS I have set up and I have to do some maintenance to get it back up and running.
It's a minor annoyance but if it happens enough times, it becomes a big annoyance. I've been toying around with the idea of using a host called Digital Ocean. Initially what got my attention was their feature of giving you basically a VPS environment. You would be building your server from scratch (software-wise). They do these things in droplets which is like an instance of a server. They even give you a dedicated IP and DNS set up -- which is fantastic.
I gave it a try and was beyond wow'ed by the service. It did exactly what they said and it was super cheap. It was so easy it took me only a couple of days to bring everything from my at-home Debian server and put it all on this new Ubuntu instance. Most of everything was scripted well and I was able to bring it over without a hassle. I just had issues with internal web server configuration. Here is a checklist of the things I needed to do initially.
- Create a new Ubuntu Droplet
- Secure the server with new users and credentials
- Install Nginx (Better version of Apache IMO)
- Install MySQL (so 90's right?)
- Install PHP5-FPM (a version of PHP)
- Install NodeJS
- Install Ghost Blog
- Configure Nginx to play nice with Ghost Blog
- Copy over old database for GhostDB
- Migrate URL Shortener data (custom bit.ly-alternative)
- Migrate URL Shortener logic
- Migrate cloud settings (custom CloudApp-like file hosting feature)
After doing all that, something seemed like it was missing. Oh yeah -- email. Until now I've always used third party services when it came to emails -- either something like Gmail or whatever service I bought my domain from. Now the problem I had this time around was that I was handling the DNS via Digital Ocean and they did not provided an email service out of the box -- I had to make my own via the droplet.
After scouring the internet I found the following tools:
Using the combination of the two I managed to set up my own email server and was able to send and receive secure emails. This was beyond fantastic -- I've never done it before and it actually worked out in the end. I even have email forwarding setup! (Nerdgasm)
After doing all that I basically have the same set-up as before but with more reliability and less hassle -- and it's only costing me at most $5/month.
There's so much more to explore and so much more features I can custom build and use -- I'm super excited.
The great thing about developing software is the instant gratification. With most other things you have to wait for results -- when it comes to web development you get back results almost instantly, which is fantastic.