All I wanted to do was turn an unused computer into a web host in my house so I could run wordpress on my own domain/website. I knew Ubuntu is the best so that was my plan. There are a lot of tutorials out there but I found it to be fragmented all over the world wide webs.
This post is to bring it all together in the steps needed so you can come back to it if you forget pieces (which I did shortly after successfully doing it). Here we go!
1. Prepare a USB drive for getting Ubuntu Server put on
This link will give you everything you need to prepare the drive. The only thing you have to change is the .iso file which can be downloaded from www.ubuntu.com. For this tutorial you want to download the appropriate 14.04 server version (32 bit or 64 bit). But the method of doing this is the same:
2. Install Ubuntu Server
This step-by-step tutorial is a good one to get your base server install going on the machine. Once you’ve done it a few times this part, by the way, is fast and easy. A bit intimidating the first time but rest assured most of the default settings are pretty not scary
3. Configure static IP
I had a bit of an issue in that during one install it gave me the name of the hard-wired connection as the normal ‘eth0’ but then after reinstalling it on another computer it was called ‘p1p1’. I still don’t know the reason for this but it turns out that p1p1 and eth0 seem to act and operate and configure the same way. Just a heads up in case you encounter it. In this tutorial it explains how to set up the
4. Setting up the DNS servers with ddclient so the world can find your machine and domain
Now, before you begin this part, make sure you have your Dynamic DNS service details in front of you as you probably have to do some stuff in the back end where you registered your domain before you do the next stuff. I did all this next stuff and then couldn’t figure out why it wasn’t working and the reason was that I had to do stuff in my domain registrar (Namecheap in this case) first. For the sake of a quick namecheap tutorial and to maybe trigger some help for your own registrar, I’ll just explain what I did:
a) log into namecheap admin
b) manage my domain
c) find my domain and click ‘all hosts”
d) type ‘what’s my ip’ in your favourite web search. It’ll spit out your public facing ip address.
e) manually enter that into the ‘all hosts’ area in the @ record space and the www record space.
f) save those changes.
Now move on to do the ddclient stuff in Ubuntu and it should work…
This link should be your defacto starting point. It may be all you need but I, of course, did other stuff and didn’t have patience…
https://help.ubuntu.com/community/DynamicDNS
This one is good, too.
http://sourceforge.net/p/ddclient/wiki/Home/#introduction
Before even reading any of that I just did:
sudo apt-get install ddclient
And that seemed to get it on my system. As soon as it was installed a GUI showed up to help with the install of the ddclient update stuff which was cool…. except that it didn’t work for Namcheap… so I just hit ‘esc’ a bunch of times and it got me out and finished the install eventually. Then I did a:
sudo nano /etc/ddclient.conf (it seems some may need sudo nano /etc/ddclient/ddclient.conf)
I’m using Namecheap (I try not to plug too much but these guys have nailed it so many times) and they have a dynamic dns service for free with the domain you buy (big plus). This is the tutorial I’m using but you can buy (or search free?) a dynamic name service that updates itself so you don’t have to buy a static IP from your ISP (internet service provider).
https://www.namecheap.com/support/knowledgebase/article.aspx/583/11/
… just plug in the data, control ‘x’, and enter key.
This blog post is a super nice exhaustive post showing perhaps more stuff you’ll need for a namecheap / ubuntu server setup:
http://ubuntuforums.org/showthread.php?t=1941466
I’m not sure if I had to but I ran
sudo ddclient
.. and it seemed to ‘start’. I’m not sure if this will run on startup or not…
5. Ping it! Just Ping it, yeah!
go to another computer ideally outside of the local network you are on (ie. call your mom and ask her to open a terminal) and enter:
ping yourdomain.com (but make sure you tell her to replace that with your domain, lol?)
You should get a reply eventually showing your public IP address from your ISP followed by regular packets coming back at you. If no reply, the update client may still be propagating the changes through the internet. I’ve been told propagation can take 24 to 48 hours although I”ve never experienced more than about 5 hours wait.
6. Administrate me, baby. I love it.
Now you’ve got a server running and doing stuff. You’ve seen Great Eagle, Moose Jaw and Apache before your eyes. Now it’s time to turn words into dreams…?? or something like that.
This tutorial was the most simple and Ubuntu friendly tutorial I could find for getting webmin set up. I’m converted back after a failed attempt with EHCP… if you figure it out please send me a nice simple tutorial and I’ll try again.
Here is the link to the tutorial
Note that I had to adjust the wget URL to the correct one for ubuntu by first going here: http://sourceforge.net/projects/webadmin/files/webmin/
then choosing the .deb file name and replacing it in the wget command in the tutorial above. So, as of February 2, 2015, your wget command would look like this until the next release:
wget http://sourceforge.net/projects/webadmin/files/webmin/1.730/webmin_1.730_all.deb
I also had issues with the last item in the tutorial where you change the webmin admin…. didn’t work. skip it and when the login page comes up, just use your main root user/password and it works fine. Maybe someone could write a comment below how to change password because it would be nice not to use root…
7. Install WordPress
Why? Because that’s what every wimp does when he thinks he’s a server rock star and gets his first false sense of pride. That’s why.
maybe this one? https://www.youtube.com/watch?v=iqLsTycO9aA
and then this one maybe if you need to ssh and wget it on the remote machine?
http://code.tutsplus.com/articles/download-and-install-wordpress-via-the-shell-over-ssh–wp-24403