I'm looking to host a personal website from home. I have a good computer/software background but only a basic idea of how to properly host a site.

The goal for the web hosting is to make the site(s) public on the www.

The site is built, using PHP/MySql, and I'm familiar with how to get that to run in a "LAMP" environment, what I'm not familiar with is making it accessible to the world and the correct/safe/reliable ways to do so.

I've got a box that is running FreeNAS right now but I'd like to convert it to a Linux server flavour, I was thinking Ubuntu with the GUI so that I could still run some of the same software I have running on the FreeNAS now for the household, and have the web hosting services on it as well.

So my question(s) are as follows:

  • Which server OS would do what I want, but not be too complicated for a beginner
  • What additional software, or services should I install (i.e. Apache, Mysql, PHP etc...)
  • What would be best practices to ensure home network security, and home server "section" security?
    • Should I be running a VPN for additional security? I'm aware of the myriad of benefits of the VPN in general, I'm wondering about specifically in relation to web hosting from home.

I'm not looking for any hand holding by any means, but if anyone could point me in the right direction that would be much appreciated.

  • Were you going to make this website accessible from the internet ?
    – Lawrence
    Commented Jul 16, 2014 at 1:30
  • Yes that's the goal, edited my question to clarify. Commented Jul 16, 2014 at 1:32
  • What's the plan for this website(s) then ? Without knowing the goal, whether it's static pages, or a full blown CMS, it's hard to give pointers. I'd say look at apache/lighttpd/nginx. If you want dynamic content, add in PHP, if you want databases, add in MySQL/PostgreSQL. Keep in mind that the more things you add, the greater the security risk as there are more things to compromise.
    – Lawrence
    Commented Jul 16, 2014 at 1:38
  • The site is already built with PHP/Mysql, as far as getting it to run, I'm familiar with the "LAMP" process, it's more the "back end" stuff like the security that you mentioned and the services or software that might be required to do that. Edited my question for clarity again. Commented Jul 16, 2014 at 1:40

1 Answer 1


First thing you'll need to make the website accessible is either your external IP address, or a domain name that points to your external IP Address.

If your external IP address is a dynamic IP address then you'll need to go for a domain name provider that supports a dynamic dns client that will update your domain name each time your external IP address changes.

Second thing you'll need is to forward port 80 from external to your server that is on your network.

Security wise, you'll want to keep Apache/MySQL/PHP patched up to keep up with security flaws.
If you want to get fancier, there are a myriad of log processing tools out there than can alert you to irregularities that are occuring, e.g. buffer overflow attempts.

For a home server though, as long as your code is good and SQL injection isn't a possibility, that should do you just fine.

  • I edited my question with this but, along with what you've suggested, would it be prudent to run a VPN service for additional security? I know about all the other benefits of it, I'm just talking strictly related to the web hosting. Commented Jul 16, 2014 at 2:05
  • VPN wouldn't really be useful here. VPN would be useful for a client to get access to your home network from outside your home network.
    – Lawrence
    Commented Jul 16, 2014 at 2:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .