How to build the Ultimate Linux Home Server - Part 5 - Installing a Web Administration tool and setting up VPN

July 29th, 2008

Today on part 5 of How to build the Ultimate Linux Home Server, we will be installing a web administration tool so that we can have our home server be headless, so we will be using Webmin.

Webmin is a web-based interface for system administration for Unix. Using any modern web browser, you can setup user accounts, Apache, DNS, file sharing and much more. Webmin removes the need to manually edit Unix configuration files like /etc/passwd, and lets you manage a system from the console or remotely.

If you missed a section of How to build the Ultimate Linux Home Server, you can view them here: Part 1, Part 2, Part 3, and Part 4.

More after the jump!

Setting up Webmin

We will be using the RPM’s to install Webmin. You can grab the latest files from Webmin’s website here. Once you’ve downloaded the RPM, you can simply double click on it and it will prompt you for your password and then install it. You can also compile it from source if you would like, but I won’t be covering that here.

Once the RPM is installed, launch Firefox, then browse to http://localhost:10000/ to get to the Webmin configuration website. You will use root as the username and your password for the root account.

Once you’ve logged in, it brings you to a page with some server stats such as uptime, available memory, etc.

From there, I recommend only allowing IP addresses in your home’s subnet access to Webmin. If you want to be able to access this directly from other computers remotely, you can leave this wide open.

To only allow private IP’s, go to Webmin Configuration and then to IP Access control. Select Only allow from listed addresses, then put in your private IP range and subnet, for example, 192.168.0.0/255.255.255.0.

We will also want to use SSL to encrypt all traffic to and from webmin. To do this, go to Webmin Configuration and then SSL Encryption. Click download and install to install the required SSL Module. Then Make and Install it once it has finished downloading.

You will then click Enable SSL and use the private certificate. If there is no key available, you can easily create a self signed using the Create Certificate tab.

If you go to Servers >> Bind DNS Server, you can see that the domain that you have created is available there, you can add zones and addresses extremely easily here if necessary.

If you go to Servers >> Samba Windows File Sharing, you can also see and add all of the network shares you have created.

There are many, many more modules that you can download and install and add some wicked fucntionality to your home server, I’ve barely even scratched the surface of what this can do. Next we’ll be setting up VPN using Webmin.

Setting up a PPTP VPN Server

I’ve decided to go with PPTP since it is very easy to set up and is widely supported. While it is not considered to be extremely secure, I won’t be using it to transfer any incredibly important information. If you do need a more secure protocol, there are OpenVPN modules for Webmin to make it easy to set up. Since things can get pretty messy when dealing with certificates, I won’t be covering that.

To start off, you will need to install pptd from the YaST Package Manager (Install software). Once you’ve finished that, go to Webmin Configuration >> Webmin Modules.

You will then select Standard Module, then click the button “…” beside it, select pptp-vpn-server and then install it.

Once the module is installed, go to Networking >> PPTP VPNServer. Go to PPP Server Options and set the range of IP’s that you would like to allocate to clients.

Next we will be setting up PPP Accounts. Click create a new account, then you can add the username and password for the account, and if you would like to give it a dedicated address, you can also enter the address in there.

Next, you can start the PPTP Server and try VPNing in. Leopard managed to connect no problem, all I needed was the address of the server. If you are behind a firewall (presumably you are), you will need to forward port 47 and 1723 to your home servers IP address on your router.

So far, We’ve pretty much covered everything that you’ll need for your home server. While setting up a Mail Server and a LAMP server is also very easy, it’s something I will never use since I have my own web server, so I’ve added some additional reading for you.

Additional Reading

Like my articles and how to’s? Have a request? You can buy me a cup of joe or some music to listen to by donating! Donate via paypal or iTunes Gift Certificate to shawn@32packets.com


3 Responses to “How to build the Ultimate Linux Home Server - Part 5 - Installing a Web Administration tool and setting up VPN”

  1. How to build the Ultimate Linux Home Server - Part 4 - UPNP Media Streaming | 32packets Says:

    [...] Proceed on to part 5 here. [...]

  2. taiyed Says:

    I’m trying to set up the pptp-server webmin module on my system. Webmin says it has installed the module to /usr/share/webmin/pptp-server and says it should be under the networking category, but it does not show up there. I installed pptpd and ppp. I’m running the latest version of webmin and pptpd. Any advice or resources would be awesome.

  3. Shawn Molnar Says:

    If there is a pptd-server option to install in YaST2, you will need to install it. When I did it, I did not need to install it, but I was also experimenting with other VPN solutions, so the module could have been installed when I was trying them out.
    If not, try starting the pptd daemon (I think its “service pptpd start” in the terminal) or give your home server a reboot.

Leave a Reply

What I'm Doing...

  • Ugh, the Smart car was almost in the ditch, one wheel was off the road and we had to push it in the snow. The hill is like sheer ice! 2 days ago
  • Great article about what is going on in Canada if you have no idea what has been happening over the past weeks http://tinyurl.com/5r3gf5 3 days ago
  • More updates...

Categories