There’s probably not that many people that actually care about this, but it’s taken me a long time to get to this point, so if your a tech guy at a vet’s office, enjoy! I’ve been running this successfully for almost a year now.
WARNING: If you choose to do this, that’s your choice, read this through before even thinking of diving in. In other words, I am not responsible for ANYTHING that happens as a result of what YOU choose to do. I also assume your familiar with linux and the distro of your choosing, really, I won’t be explaining some things as this is already going to be lengthy.
Note: This may not be the most secure way to do things, but I feel it’s stronger than windows, I have better backups (flyback for gnome, and a few scripts I’ve written), and no one has “Administrator” access, except me of course.
For the past 2 years or so I’ve been the ‘Tech Guy’ at two small offices in my “free” time. I’ve had one Windows 2000 server, which was actually the most reliable, compared to the Windows Small Business Server 2003. I’ve experienced more problems than I care to recall, let’s suffice it to say, the workstations in the larger office were unreliable on network, even after a network rebuild (replace and tested all cable, made sure machines were clean, running the server on a gigabit network connection, all fun stuff). Finally it got to the point where I was spending all my free time there, no good. I am far more comfortable on any linux box than a windows machine, so I decided to take the plunge and make it work, installing linux servers that is. It may sound easy, but even since the switch I’ve had many unexpected surprises.
Office 1 was something like (It has come a LONG way):
- Windows 2000 server, static IP, gigabit network, file and print sharing on, rdp, that’s about it
- 15 Workstations – Slight variations of course, 2 or 3 year old dell desktops, 2.4 Ghz, 256-512mb ram, wired network
- Most cable all came back to a 24 port switch, old and hot, however they had expanded since then so they installed 2 ROUTERS in certain points in the office, when I first got there they were both broadcasting wireless and DHCP, in addition to:
- Bellsouth/Westel DSL Modem/Router – oh JOY! (Broadcasting DHCP also)
Needless to say this office was unreliable at best. It’s taken some time and effort but now:
- Server (AMD 3.2Ghz, 4 gig ram, locking case, enough storage, headless now, after the switch from windows)
- I bridged the Westel to a WRT54GS running DD-WRT v24, replacing a simple 4 port linksys switch (forgot to mention that)
- Installed a new 24 port switch, 2 gigabit ports, with a fan :-p
- Obviously turned the routers in the building to switches
- All cable tests good, removed anything sketchy
After installing Windows Server 2003 and still running like crap, I can’t diagnose anything because either I’m just not that Microsoft certified, or any decent software costs too much for me to justify, anything more than 10 bucks or so. So what do I do? Rip that Windows COA off the case, throw in my Ubuntu Intrepid cd I’m on my way (actually I’d been thinking/tinkering with this for months). Oh, a few things that might be problems:
- practice-management software doesn’t support linux. Scares the hell out of the office owner.
- Applying practice-management software updates, online updates work just fine
- Running reports, they ‘need’ to be run on the server
- Vet ‘Admin’ people need access to practice-management software on the server, more than just for reports.
- You won’t/shouldn’t run the practice-management software “Server” edition on linux
- Sharing remote (over the internet) printers via CUPS
The list goes on, but let’s go over a few benefits:
- Remote admin is so much simpler
- You get a real server (Apache, SSH – complete with tunneling to easily bring their network to your home network, CUPS)
- Users won’t have physical access to your server
- Nagios, useful for server and workstation failures
- Crons (Backups, notifications, etc.)
- OpenVPN
- I also setup Wiki and put useful information for the employees there (IE: Installing a printer…)
- Open source help desk of your choosing
- Oh yea, SAMBA, the single most important tool for replacing windows servers.
Again, list goes on but I digress, let’s begin.
You can pretty much follow http://www.howtoforge.com/perfect-server-ubuntu-9.04 if you’re reading this I trust you can do your own install and I don’t need to tell you much, you’ll need samba, I prefer to have Apache, mySQL, SSH, and it’s very handy if you can send mail, and we’ll be using VirtualBox 2.0.4, not OSE, it’s easier.
So once your all done and booted up, sign in, check the internet, etc. Let’s get to the gritty, config!
I’ve started with the default smb.conf, this is along the lines of what I have now:
View it here
I’ve found it very important to make sure practice-management software is happy with the permissions, access a good portion of the features before you give up. It’s absolutely necessary to make sure the samba user has access to all files that clients will create, as well as files that will be created when “Vet Admin” are using the VRDP server, I had fun with that for some time.
Now, you’ll need a direct connection to the server to do things like running reports and rebuilding indexes, that’s where VirtualBox comes in.
Modify /etc/apt/sources.list
Add: deb http://download.virtualbox.org/virtualbox/debian intrepid non-free Run: wget http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add - Then: sudo aptitude install virtualbox-2.2 (or newest version)
Now, make sure your user is allowed to use VirtualBox
sudo adduser `whoami` vboxusers
Create the machine and the disk, setup the vrdp while we’re here:
VBoxManage createvm foo (be sure to add quotes if you use spaces) VBoxManage createhd -filename .VirtualBox/foo.vdi -register -size 5120 VBoxManage modifyvm foo -hda "/home/ttpears/.VirtualBox/foo.vdi" VBoxManage registerimage dvd /path/to/your/legal/copy/of/winxp/PRO.iso VBoxManage registerimage dvd /usr/share/virtualbox/VBoxGuestAdditions.iso VBoxManage modifyvm foo -dvd /path/to/your/legal/copy/of/winxp/PRO.iso VBoxManage modifyvm foo -vrdp VBoxManage modifyvm foo -vrdpmulticonn 1 VBoxManage startvm foo -type vrdp (I've turned this into an alias)
Using either rdesktop or mstsc connection to the host ip address, you should see the machine booting up. Do the windows install, then change the cd (we added the GuestAdditions cd to VirtualBox earlier), shut down the vm:
VBoxManage controlvm foo poweroff VBoxManage modifyvm foo -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso VBoxManage sharedfolder add foo -name "sharedfolder" -hostpath "/srv/practice-management software" VBoxManage startvm foo -type vrdp
Now, connect again and install the utilities, makes the whole experience much more pleasing.
Open a run prompt and type ‘net use Z: vboxsvrsharedfolder’
If you know anything about practice-management software, you know they don’t condone using mapped drives, but they only do it because it’s unreliable, this is a whole different story here, as we are physically on the same computer.
Open up the Z:, navigate to practice-management software.exe and create the shortcut on the desktop.
You’ll probably want to print from here too, you can browse the network by ip, open a run box and type ‘192.168.XX.XXX’, Open or connect the printer of your choice and set the printer in practice-management software. I make RDP shortcuts on the client workstations that will be using the server connection, now you might have noticed we enabled multiconn, this allows more than one user, but not in the traditional RDP way, more VNC like, all users control the same screen.
Oh I wish it ended there, but one of the vet admins had been using a RDP from Office 2–> Office 1 and printing at Office 2, ….REALLY? Well, cups to the rescue, install and setup cups, you’ll need port 631 for this (I mentioned I wouldn’t explain everything, right?). Now you can do this at both ends and make it two way, or you can just choose one office to print remotely. So connect to the other office’s VRDP connection, add a Internet Printer (IPP), use http://foo.fqdn.com:631/printers/printername, set as the default and set it in practice-management software.
Again not explaining much except ‘how it’s done’, on top of that I broke the money rule, I broke the rule, I wanted a rock solid remote admin for the workstations so I went with RAdmin, installed the server and a matching user name and password, set them to incrementing port numbers, forwarded the ports, saved all the connections in a folder, very nice, if you need to copy the settings you can find the file in Application Data. I find it’s very fast, and since some of the workstations have XP home, RDP wasn’t an option, DSL isn’t very friendly to VNC.
What more can you want? Oh, a monitoring service, now this may be a little overkill for some people, but I like to know what’s going on at a glance, not to mention my vet doesn’t hesitate to blow up my phone. I installed Nagios, I monitor practice-management software.exe, and an assortment of system stats on each workstation, keeps me on my toes.
Again, a disclaimer, don’t do this on your production machine, set it up in a dev environment and just switch it over on a weekend.
Leave a Reply