Untangle, Asterisk PBX and File Server; All-in-One. Part 3
In this third instalment, the hardware is all running and I have a nice and shiny new LFS-6.3 running happily with xorg-7.2 and the very cool and lightweight fluxbox Window Manager. I have also installed the latest JDK, and Ruby & Rake to support the untangle build process.
A first try at building the untangle source failed (as I expected really). Initially this was due to the JAVA_HOME environment variable being hard-coded into various “.rb” rake build files. Needless to say, where they expected the JDK to be (/usr/lib/jvm/java-1.5.0-sun/jre), mine is somewhere else entirely (/opt/jdk).
I edited the top level rakefile, so that JAVA_HOME pointed to my JDK, to see how this affected the build. It ran for a bit longer but then aborted with some unintelligible errors.
Realising that I know nothing of Ruby, and consequently Rake, I thought I’d try a different tack. My main desktop machine runs Ubuntu Feisty. As an experiment, I installed VirtualBox (A virtualisation application) and installed the Untangle ISO into that as a virtual machine.
Really neat – it worked without any hiccups or issues whatsoever. Now I can play around with Untangle, see what goes where and what it’s dependencies are, before I go back to try and build it from source on my new server platform.
Here’s a screen shot of Untangle running as a VM (Virtual Machine) on my Ubuntu Desktop 🙂 You can see I have opened a
terminal in Untangle so I can start investigating the environment.
In terms of the dependencies I know I am missing: Postgresql is definate, and I may need ANT too. It might also be that I will need to downgrade the JDK to version 5 rather than 6; but I’ll confirm that later.
I have also just ordered the FXO card for Asterisk. The card I ended up going for was for sale on eBay in the USA. It sounds like it should do the trick nicely and has a low profile bracket so it will install into my little case. Including shipping it worked out at just over £17.00. Not too bad.
This may end up being a slightly longer series that I first thought. But hopefully it will still be interesting…
Untangle, Asterisk PBX and File Server; All-in-One. Part 2
The rest of the hardware finally arrived this afternoon (the courier seemed to be asleep yesterday).
The physical installation was simple and quick. Everything worked first time. I connected it all up, checked it POSTed O.K. and verified in the BIOS that the new RAM, HDD and CD were visible and identified correctly. No problems.
I tidied up the cabling and put the lid on 🙂
Unfortunately I’ve just noticed that when I come to install the FXO line card for the PBX I’ll have to move some of the cables, but it shouldn’t be too much trouble.
As things were going so well, I though I’d just see how the Untangle install from their ISO went. It installed fine really but there were a couple of issues for me with it:
- It didn’t give me any opportunity to partition the hard disk,
- It didn’t do any sort of locale checks so I ended up with a default US keyboard layout,
- It couldn’t identify the network chipset hardware. Their kernel is quite old and doesn’t have the drivers built in.
To be honest, this isn’t really a problem though. As this will be a heavily customised server anyway, I had always really planned to build a new LFS system on the box, partition it how I want and then build the untangle source and on top of my own host Linux. That way I will have much more control over what goes on, and I should be able to add asterisk and anything else as and when I see fit… That’s the theory anyway 😉
In terms of partitioning, I reviewed my original plan and have come up with a new and much simpler scheme:
Machine | Part Type | Drive | Grub | Mount Point | File System | OS | Size (GB) |
vimes | sda | hd0 | 320.000 | ||||
Linux | sda1 | hd0,0 | /boot | ext2 | Linux | 0.2 | |
Linux Swap | sda2 | hd0,1 | /swap | swap | 1.000 | ||
Linux | sda3 | hd0,2 | / | ext3 | 5.000 | ||
Extended | sda4 | ext part | |||||
Linux | sda5 | hd0,4 | /opt | ext3 | 5.000 | ||
Linux | sda6 | hd0,5 | /usr | ext3 | 5.000 | ||
Linux | sda7 | hd0,6 | /srv | ext3 | 5.000 | ||
Linux | sda8 | hd0,7 | /var | ext3 | 5.000 | ||
Linux | sda9 | hd0,8 | /home | ext3 | 280.000 | ||
Linux | sda10 | hd0,9 | /mnt/lfs | ext3 | 10.000 | ||
316.2 |
The figures won’t be exact as formatting will remove some of the usable space, but the idea is about right.
As you may also have noticed, I have chosen “vimes” for the name of this box. He is, after all, the Discworld’s first and only true “policeman”. I thought that Vetinari (the patrician of Ankh Morpork) would also be appropriate but vimes is quite a friendly chap, not how I would describe Vetinari.
More later…
Untangle, Asterisk PBX and File Server; All-in-One.
Here’s the first instalment of what hopefully will be a short series. I am building a low-power PC for use as a home server, firewall, net-filter, and IP-PBX.
Our house is flood-wired with CAT5e cabling to almost every room, and with me, my wife and eldest son we can have up to 4 or 5 PCs active on our network at any one time.
My eldest son (James) is about to turn 7 and has already started to use Google. So it is time to put some content filtering on the network, and maybe some caching too. Plus I want a decent, low power device that could be left on pretty much 24/7 with sufficient hard disk capacity to act as a backup host for our desktop machines’ data. Also my business partner and I both work from our respective homes currently and it would be useful if the single analogue line coming into my office could be switched (via Asterisk) so calls can be routed to whoever happens to be available using VOIP.
After reading up on the Untangle product, I decided that would be a great foundation for my project as it is a bundle of all the main network security applications built into one software appliance. The interesting task will be to get it, happily living along side Asterisk, Samba/FTP and hopefully Apache for a public web server.
After ensuring that Untangle would be happy with a low-power VIA type PC for our use, the next step was to identify suitable hardware. Much research led me to choosing this board – a Jetway J7F4K which has dual GigE Lan ports, a couple of sata ports, IDE, USB and the usual other interfaces. This board is available in two models:
- a 1.5Ghz VIA CN700 fan cooled (available as either a 25W or 12W mobo)
- or a 1.2Ghz VIA CN700 fanless and rated at an amazingly meagre 7W.
The 1.2Ghz model was the one I chose as power drain is more important to me than 300Mhz of processing power. To fill it out, I ordered, a 1Gb stick of DDR2 533Mhz ram, a 320Gb Hitachi Sata Hard Disk and a DVD+/-RW/RAM anything drive.
For those interested, the motherboard I ordered from LinITX.com and the rest of bits I got from SCAN Computers. After reading a couple of forums, there were good comments about LinITX and they had the latest rev of the Jetway board in stock which has a new heatsink and latest BIOS to cure some reported reliability problems with earlier models. SCAN I have used before and always offer good prices and service.
I bought a really neat case on eBay for £15.oo which was a real bargain. Brand new, including PSU, quite small and nicely engineered, and designed for uATX boards, but Mini-ITX are fine too. It is made by a company I’d not heard of before; In-WIN.
The motherboard arrived before all the rest of hardware so I have just loosely fitted the mobo, and am thinking about how to route the cables neatly. For that I’ll need some cable ties and some of the sticky pads for fixing cable ties to as there aren’t many useful holes in the case to tie onto.
The motherboard itself is really quite amazing. being the Mini-ITX format – it is really tiny, just 17cm (6.6in) square! Here’s a close up of it and you can clearly see the large heatsink that covers the processor, VRMs and northbridge I believe.
On Monday I should be getting the rest of the hardware so I’ll post some more as I complete the physical assembly.
Then we’ll get into the good stuff – installing lots of Open Source software…
Update: Whilst waiting for the hardware to arrive, I started thinking about a partitioning scheme. I am not a fan of LVM for performance reasons so I will be using physical partitions. Here’s my first draft.
Machine | Part Type | Drive | Grub | Mount Point | File System | OS | Size (GB) |
TBC | sda | hd0 | 320.000 | ||||
Linux | sda1 | hd0,0 | /boot | ext2 | Linux | 0.243 | |
Linux Swap | sda2 | hd0,1 | /swap | swap | 1.870 | ||
Linux | sda3 | hd0,2 | / | ext3 | 4.000 | ||
Extended | sda4 | ext part | |||||
Linux | sda5 | hd0,4 | /usr | ext3 | 10.000 | ||
Linux | sda6 | hd0,5 | /var | ext3 | 10.000 | ||
Linux | sda7 | hd0,6 | /opt | ext3 | 10.000 | ||
Linux | sda8 | hd0,7 | /srv | ext3 | 10.000 | ||
Linux | sda9 | hd0,8 | /home | ext3 | 100.000 | ||
Linux | sda10 | hd0,9 | /home/alord | ext3 | 40.000 | ||
Linux | sda11 | hd0,10 | /home/hjlord | ext3 | 40.000 | ||
Linux | sda12 | hd0,11 | /home/jlord | ext3 | 40.000 | ||
Linux | sda13 | hd0,12 | /home/mlord | ext3 | 40.000 | ||
Linux | sda14 | hd0,13 | /mnt/lfs | ext3 | 10.000 | ||
316.11 |
Also, I’m thinking about a name for the new server… All the computers in our network are named after characters from Terry Pratchett’s Discworld novels. So Far I have used: Twoflower, Rincewind, Moist, Binky, Gaspode and Mort. I am thinking about using: Eroll (the dragon), Ludmilla (a werewolf), Angua (another werewolf), Vimes (the commander of the watch), or Magrat (the young witch).
Anyone got any more good suggestions?