Hosting my own blog
I hope this is the correct forum to post this. I have searched the forums and cannot find an answer.
My question; Is it possible to host your own blog on your own server at home rather than having to pay a hosting company?
I currently have a Wordpress blog hosted at Wordpress.com and I would like to move it 'in house' so to speak.
I have a Zyxel NAS that can handle up to 4Tb, and my desktop PC is running Ubuntu 12.04 LTS with two 160Gb HDD's.
Is this feasible or is it a non-starter? If it is feasible what would be involved and are there any books/advice on how to set it up?
I have a little experience in running a website so I am familiar with the technicalities there, but I have also had a play with WAMP but it was a while ago now, so I know about mySQL etc.
Depends if you intend to use the NAS to host your site on and how many people you expect to view the site at any one time. I dont know what services it has or OS it uses. Providing you can install or run apache and mysql and php5 etc ( these might already be done ), then I would imagine it can be done. Ive done it a lot, but only as tests for short periods on different home built servers on Centos or Fedora Core 4, I'm currently doing something simular using a raspberry PI. The key thing is what sort of processor speed your server has and also its through-put on the network, plus whatever your home internet upload speed is. ( assuming your provider hasnt blocked certain ports ). As this will drive performance of the browsing experience, so if its slow, then you might want to think about finding a fast enough server. Space doesnt seem to be a problem at all from what you state.
You would need some sort of DNS service ( these can be free noip.com dyn.com) , assuming your on a dynamic IP, to direct traffic via your chosen free domain name to the Router. Then from your router, use port forwarding to direct the port 80 to your internal IP of your home server.
Also, bear in mind that whilst this is running 24/7, it might impact on your day to day internet speed and usage...
I hope this is some help.
If I were you, I would find out what OS your nas has or stipulate the OS you intend to use as your hosting server and then go from there.
When it comes to hosting your own server on a dynamic ip, you can pay for the domain name registration and dns services, but you will need to constantly check your ip address (especially if the modem loses power or gets reset) and manually update your whois records with your dns service provider.
Originally Posted by IXL
My servers unfortunately are stuck on a dynamic ip at the current moment, but I am writing bash scripts that will email me when the ip address changes (since my provider doesn't have any auto ip updaters that work with NATed routers.
You shouldnt need to pay for anything.
Originally Posted by kmatsumari
If you have a router, such as a Netgear 834G or others, these have an admin area on the router to enter your dnydns ( free ) domain name, so its constantly updating your domain with the ip address at all times.
The other option is to run the noip service, which runs on the server itself and does the same thing. ( Google noip linux tutorial ) for a very simple "10 min how to" install.
Both these methods work perfectly and are free. You dont have to pay for any of these services and will update when your router is rebooted or restarted after a power cut for example, without any need to intervene.
This works for me on ADSL, I cant see why it should not work on cable.
Hope this helps.
Not everything is "free"
Obviously if he wanted to host his own blog, he wouldn't want to have to constantly advertise his IP address to the world every time it changes...this is what a domain name is for; to advertise a single set of characters that ALWAYS points to your IP address(es). If this were completely free (like it used to be), then domain name registrars wouldn't exist, as anyone could hijack your domain name when they see fit, and your validity couldn't be verified if you use any SSL certs that aren't self-signed.
Originally Posted by IXL
Now to point your domain name to your IP address(es) in your whois records, you need to have this information sent from a trusted DNS service to all of the ISP's throughout the world, otherwise they will not know what your domain name is because your whois records are not trusted outside of this net of DNS providers (unless you are one, this isn't going to change). Now you have to pay for DNS services to change your IP address(es) since the validity of whois records has to be trustworthy, and not just anyone can sit there and broadcast information to the world's ISP's saying "this is my server" and expect them to trust some stranger they never even knew existed, from an unverified and untrustworthy location. This is why these services aren't free.
This is true, if you have a router like this, and if it isn't NATed. Thing is, the most common form of home internet is either DSL or cable broadband, and these ISP's have been phasing out older modems as they are open to security vulnerabilities in the common household that doesn't have an IT security administrator on hand, and replacing them with composite modem/router devices, which are NATed, and usually only support dyndns.com for IP updating. dyndns.com is great, don't get me wrong, but they don't have the power to update your domain information that resides with another provider they aren't partnered with (they are their own provider and registrar, so why help the competition?). This means your router may not even be of any help to you in updating your IP address (especially if it is NATed, like most are).
Originally Posted by IXL
yes, using the noip.com free service will allow you to get a domain name, but it is a subdomain of their own domain, meaning they own it! read their fine print, any domain name you sign up to have them host as a subdomain, they will automatically own the rights to the name, and you cannot move that name to another registrar, DNS provider, or ISP service, you cannot use it for IRC, you cannot put a large strain of traffic that they would constitute as not being acceptable use, etc. You need to read their terms of service, and notice the use of ads if you don't pay for services...that's the trade-off for going "free" on everything.
Originally Posted by IXL
Depending on your DNS Provider, domain name registrar, and you networking hardware, this may be true. For me, it isn't, because I will not run my business domain name under a subdomain, be plagued by ads, be restricted to not only my ISP's acceptable use policy but theirs as well, and to top it off, the modem I have doesn't support any automatic IP updating to any providers except dyndns, which costs more than what I paid for my services, and my provider WILL let me unlock and move my domain name to anywhere I want to go if I so choose (unlike places like godaddy.com, who lock your domain name to their services for the duration of the contract, and like to register the name for longer periods so you can't move at the end of the year to someone else because your domain name will still be registered elsewhere). So again, if you choose to skimp here, or you are just unlucky enough to have hardware that doesn't want to work with your chosen providers, then a little improvising is in order from within the network itself (likely on the server). If your network is NATed all the way down from the modem, then programs like ez-ipupdate and the like will not be able to "see" what the external IP address is; they will constantly report the computer's internal WAN/LAN IP address, which is useless when dealing with this. I don't recommend disabling NAT (if your hardware allows you to) for the network just to enable this feature unless you have measures you can deploy that are just as effective as NAT at the top of your entire network (please research NAT and networking concepts before just diving in).
Originally Posted by IXL
Sometimes your hardware and provider do cooperate and there is ease in your situation, other times not so much.
Remember that it's not about how your internet signals are delivered (Dial-up, Cable, DSL, T1, FiOS, etc.), but by the limitations of the hardware that decode those signals and how they behave within the network. Obviously internet types that are designed for businesses will have static IP's, so the hardware won't necessarily need to support these things, and home internet users tend to choose the cheaper packages (like ADSL as opposed to SDSL), which are not likely to openly support dynamic IP address updating very easily, at least not just from within the router. Some do, alot don't, but it depends on your network infrastructure, and how your network is secured from intrusion from within the router.
Originally Posted by IXL
I know it was a simple question, but this won't be a simple answer, which is why IT consulting agencies exist, and which is why I am building own my own business in the world of IT, so I can consult on these things. It's why I went through 4 years of college just to get my business started (actually I started my business in my third year in college at home), but clients are hard to pick up when they are already set and locked with their past choices (either its comfort, or they just simply cannot get out of it without losing uptime or having to pay two IT businesses/freelancers to make a switch).
To recap, yes you can host your own server with a blog. How you decide to do it will dictate what costs you will face and what obstacles you will have to overcome. Keep this in mind: The more you dish out for services, the less obstacles you tend to run into with operation and uptime. So if you are okay with doing the hard work yourself with overcoming obstacles in order to save money, then the cheaper/free route may benefit you well, but if you aren't very savvy in that area, and don't have the time/patience/will/motivation/ability/etc to do this yourself, then you are going to dread every obstacle that comes your way, and you may even say "screw it, I'm shutting it down!". Compromise where you are able to deal with certain hardships in keeping the system up, and try your best to avoid the obstacles and costs that will make your experience negative. If you have to get an extra job in order to pay for a couple of small services to make your life and time with a server easier, then I think you are spending too much free time not getting paid, and blogs don't pay for themselves or for you (generally speaking).
Your going way to far into it. All I was doing was answering the original question, which was:
In my opinion, this user is using this as a starting point, to learn how to set one up and work, if at all with his home server. If he understands how the basics work, he can move on from their to the extremes you suggest or enjoy going on about.. Theres no point going into the lengths you suggest, if his server cannot cope with it in the first place. So I would suggest one of the free methods first to test both your hardware and to learn how, in a very simple way can work.
Originally Posted by LordElpus
From there, the world is your oyster to upgrade etc.
Good Luck Andy.
Hi kmatsumari and IXLl,
Thanks both for your comments. Yes, I would like to use the NAS to host my blog and I am sure that if the NAS IS suitable to host my blog, then all the other technical details will be useful!
My ADSL router is a Belkin N Wireless Modem router - dual band. I also have a Belkin Wireless extender into which the NAS is hard wired. Unfortunately my line speed is only 2.2meg, although we are due to be upgraded soon!
As for traffic, it would not be much as only my family & friends know of its existence
As for the DNS, my domains are registered with 123_reg and, as far as I know, my sites can be hosted anywhere, they don't have to be on 123_reg's servers. All I have to do is point to the correct location/web address via the control panel, they call it 'web forwarding'.
Now the NAS documentation tells me it has a 1.6Ghz CPU but no make, model or number. In the 'Network' area of the admin panel of the NAS it does say "Enable PPPoE to directly connect to the Internet" ? Additionally, under the applications tab, there is a web publishing facility, which is currently disabled. Also under 'maintenance' there is a facility to 'Reset MySQL Database Password'. DyDNS is also installed on the NAS and states "This gives your NAS a domain name with a dynamic DNS". Also PHP-MySQL-phpmyadmin is also available and states "This tool can be used to manage MySQL through the web. Enter 'root' as the username ... etc. Finally WordPress is included in the applications and this states "This allows you to create and manage a blog. Use the NAS administrator credentials to log in. The administrator can then create accounts for other users." If I click onto it the usual home page of a Wordpress Blog shows up and I can just log in and add posts so hopefully everything is in place?
If it helps here are the specifications of the NAS:
Processor / Memory: Processors Installed1 x 1.6 GHz RAM Installed: 512 MB
Storage Controller: TypeRAID - integrated Controller Interface: TypeSerial ATA-600
Max Storage Devices: Qty2 RAID: LevelRAID 0, RAID 1, JBOD
Hard Drive: TypeStandard
TypeNetwork adapter Data Link Protocol: Ethernet, Fast Ethernet, Gigabit Ethernet
Network / Transport Protocol: NTP, PPPoE
Network Services Compatibility: Microsoft CIFS, Network File System (NFS), FTP, Server Message Block (SMB), HTTP, HTTPS
Features: Wake on LAN (WOL), web server, download client, iTunes server, Samba support, FTP server, BitTorrent Client, UPnP Media Server, DLNA Media Server, Receive Side Scaling (RSS), eMule client, DHCP client
Encryption Algorithm: SSL, TLS
Compliant Standards: DLNA CERTIFIED, UPnP
Expansion / Connectivity: Expansion Bays2 (total) / 2 (free) x internal - 3.5"
Interfaces: 1 x Ethernet 10Base-T/100Base-TX/1000Base-T - RJ-45 , 2 x Hi-Speed USB - 4 PIN USB Type A , 1 x SuperSpeed USB 3.0 - 9 pin USB Type A
Hopefully you can now advise if this is feasible or not :-) If it is, what's the next step? I can grab all the info from my blog on the WordPress server, so that shouldn't be too difficult. It's the other bits that I am not sure of.
Well it seems my Belkin Router supports DDNS but the info. it gives is no longer up to date!!
"Your Wireless Router supports dynamic DNS through DynDNS.org. The Dynamic DNS service allows you to alias a dynamic IP address to a static host name in any of the many domains DynDNS.org offers, allowing your network computers to be more easily accessed from various locations on the Internet. The Dynamic DNSSM service is ideal for a home website, file server, or to make it easy to access your home PC and stored files while you're at work. Using the service can ensure that your host name always points to your IP address, no matter how often your ISP changes it. When your IP address changes, your friends and associates can always locate you by visiting yourname.dyndns.org instead! DynDNS.org provides this service, for up to five host names, free to the Internet community. Oh, no it doesn't!!"
This service now costs as low as $20 per year, and Dyn Standard DNS costs $29.95 per year "An all-in-one Managed DNS product for your own registered domain name"
I have to say that those costs are not bad at all and it is cheaper if you buy 5 years in advance.
Does this mean I could host my own blog on my NAS?
it shouldn't be an issue if the web server that you are using on a computer (with port forwarding properly setup on your routers) can have the working directory set on the NAS, but web servers that can do this on their own are few and far between. It actually isn't too safe if you aren't careful about access restrictions and jailkit'ing directories that are being used to actually host web serving files. I suppose if you can navigate from your computer to the NAS device using a simple change directory command without any other prompting or signing in per session, then I would assume it should be ok to use, but you will need to do some improvising that will open the NAS device to your internet traffic for a read operation, but not allow any actual browsing through it. If you are choosing the NAS over a couple 160GB HDD's because your blog is expected to grow that big, then the best I can say for a simple setup is to use the NAS as an archiver instead and have your blog server use symbolic links to 'fetch' changes from the NAS to its web directory. This will be easier for security, since web servers that use NAS devices for web hosting operations tend to have much higher capability than what you might have available, so they can handle the temporary loading of the files from the NAS device locations to their own memory for sending off to the client, and there is almost always a firewall in between the server and the NAS so nothing will go wrong (at least not without alerting them first).
My thoughts are that it will be more hassle than it's worth to use NAS devices to host web server files that aren't strictly secured by firewall and temporarily copied into private links (like private ftp download links that occur for a specific user, then the link is deleted once the download time-frame expires), so I would invest in a 1TB or bigger HDD for the webserver directory to be hosted on (installed in the computer that will be used as the server), and just use symbolic links in the blog directory to basically duplicate the files needed from another source (the Zyxel storage device for example).
If the NAS device has features and capabilities that work with Linux to enable it to be basically 'owned' by the system, then it might be pretty easy to do it, but I would suggest you read the manual to find out if anything of the sort is possible. If the NAS actually has the full capability of managing its entire storage system as if it were a headless server, then you could just port forward the NAS' IP address (be sure to make your router keep the NAS' LAN IP static so it won't move around on the DHCP server)on the web server port (usually port 80), but the NAS would have to be running a web server on itself, which your previous post shows it can clearly do, but you might want to test the connection as a read-only connection so people can see your blog. Other than all that, there's not much else I can say but to read the manual, and google the heck out of "how to use Zyxel NAS MODEL# as a web server for a blog". I have too many things going on right now to effectively tell you step by step what to do, plus I don't have the slightest idea of your network infrastructure layout, nor do I even know if you are going to have any other web servers on your network, if you are going to use a nameserver inside your network (I would), or any other server-related details. These kinds of things require a few cups of coffee, my physical presence, and about $65 per hour for me to really assess what you have, don't have, and if something is possible, feasible, or even the best alternative for your needs. Just from what I have seen in your posts, you may have everything you need for a very simple home-hosted blog server; you just need to learn hands-on with an actual server, and I'm not talking about some outsourced hosted website that you pay for each month/year, I'm talking about an actual computer in your possession that is going to run Ubuntu 12.04 server, and just fiddle around with setting it up and getting to know the real inner workings of an actual server. I spent 5 months messing around with SuperOS before I got my server ideas really figured out and squared away with what I was going to use and my configuration schematics. The sad part is that I had to take down my server a little bit ago, and now I'm working on getting some new hardware and putting it back up again, but I'm gonna train a guy on Linux server installation, setup, configuration, and deployment on this one. Take some time to really get in the thick of it, and get to know your NAS and its capabilities, then you will be able to know almost everything that you can do and how to get started. You may not always know exactly what or how to do something, but you will have a good enough idea to know where to look for the information so it will be a cinch, and you won't feel as worried or nervous because you won't be going blindly into uncharted waters.
What a fantastic and detailed reply, you have blown me away and I am extremely grateful. :D
All I can say in reply is that I have a lot to learn and a lot of reading to do! You have really fired my imagination and given me the enthusiasm to take this on as a project. I have a suitable PC to act as a server so the first thing to do is to install the server software and make a start. It may take me several months (or more) to get it up and running but that doesn't matter, it is important to get it right! Who knows, along the way I might learn a lot and even enjoy it.:)
Once again, thanks very much. I will keep you posted.