ClearOS – Initial Configuration – Video

Recorded my initial configuration of ClearOS. Here’s the video with my commentary.

I do make a few mistakes in the video. One is the OS is really Centos, and while I did add SugarCRM, it wasn’t what I needed. I’ll be linking instructions for that soon though.

Clear OS – Initial Thoughts

Spent a good part of my weekend building a box out of parts cobbled together in my garage for a ClearOS server. Thought I’d post some first thoughts on the process and why.

What’s it for?

I’d been thinking I needed a small business server for a while to help me manage some projects and as a testing and development platform. I need to be able to develop web applications locally, invoice some consulting projects and other uses.

Why ClearOS

Normally I’d use Ubuntu Server or Windows Server for projects like this. Ubuntu is my preferred Linux flavor, and it’s rare to find something that doesn’t work with it. A friend of mine pointed me to ClearOS, however. I really like the idea of a web-based interface for interacting with the server. For rolling out features quickly, I think this is the way to go for most deployments assuming your security is tight enough. So I thought I’d give it a try.

Pros and Cons

I am looking at the Community Edition. They have paid Home and Business editions as well as pre-built appliances you can order. It’s a subscription model and pricing is fairly reasonable at every level.

First the bad.

  • Their website and documentation is good but either lacking or not updated often. I was trying to install MySQL from the Marketplace. I could not find it no matter what I did. Everything I found indicated you should just be able to search for “MySQL” and click install. It did not show up. Eventually I figured out, as far as I can tell you install “MariaDB” and that installs MySQL and phpMyAdmin. At least for the Community Edition this seems to be a recurring problem.
  • Manually installing apps is confusing. It’s basically just the yum app in CentOS/Redhat, so no big deal. However, because of the documentation issue when I tried to just install MySQL manually I wasn’t even sure it worked. The manual installation instructions were confusing and had screenshots of things that just didn’t seem to exist. This could just be because I am using the Community Edition and some things are turned off. This is one of those things that would make it sort of hard to consider upgrading.
  • The setup process makes you register the server even if you are just using the Community Edition. Not a huge deal, as you get some Dynamic DNS stuff and a few other things. This is likely why their apps are so easy to work with. If you care about your privacy, this might be an issue. Installing these for clients, this is actually a pro, in my opinion.
  • It seemed like it turned on its DHCP server for some reason. I’m not sure if it was really on or if the GUI was just indicating it was on. I set it up as a private server and didn’t have it act as a DNS server. This could be bad if it turns a DHCP server on by default.

The Good

  • It was incredibly easy to install. The entire install process took no more than about twenty minutes. Initial configuration made sense and it didn’t need too many unnecessary steps.
  • The Marketplace makes it very easy to set your server up to do whatever you need. Do you want to build a firewall? You can choose the apps you need for that really easily. Do you need just a basic web server and nothing else? Easy to do that. A couple of clicks and you have it done.
  • There are templates for Public, Private and Gateway servers as well as other functions. This lets you deploy things much more quickly than setting up a server entirely from scratch.

Overall I’m pleased and look forward to using it. There are bugs for sure but I think that something like this could potentially shave off significant amounts of time in deployment. It is not good for all situations but for small to mid-size businesses it has a lot of potential.

 

CMOS Batteries – Most Common Type

Quick post for something to add to your toolkits. Occasionally a CMOS battery will go out, especially on an old machine that’s been sitting around a while. They last several years but not forever. I’ve seen some ancient machines that use some weird battery packs but most motherboards use plain old ‘CR2032’ lithium batteries. You can be a sucker and go buy them locally for way more than what they’re worth or get a few dozen of them now for about fifty cents each if you need one.

KEYKO 10pc C2032 Lithium Coin Cell Battery

The above link has ten packs, twenty packs, and fifty packs. If you look around you can find them in hundred piece blister packs. Personally I wouldn’t buy that many unless you work with a lot of old computers. They do go bad, not quickly but they do.

They’re also handy to have around for other things. Small kitchen scales, alarm clocks and other devices use them either as their power source or as a memory backup. You can also replace old gameboy game cartridge batteries with them.

Just had to use one for a computer I ‘refurbished’ for a ClearOS server build I just did. Don’t get caught unprepared!

Editing Personal Call Handling Rules For Other Users in ShoreTel

This is one of those guides that requires some knowledge of relational databases and the confidence to edit your ShoreWare Director Database without screwing it up.

You’ll need some software on your ShoreTel Server to do this. I prefer HeidiSQL but you can use any MySQL GUI that you prefer. You can even install PHPMyAdmin if you want. The hardcore can just use the shell. The relevant database that you want to connect to is on port 4308, it’s called “shoreware”. The username is root, and the password is “shorewaredba”. You can find all this information with a quick Google Search, the ShoreTel forums, Reddit, and even on the ShoreTel server itself if you poke around enough so I’m not terribly concerned giving it away here.

The annoying thing about a vanilla ShoreTel server is there isn’t any way to do Nuisance Call Blocking except Personalized Call Handling Rules on each individual Communicator. There’s also no way to add new rules to a user’s Communicator in the Director. Outside of some third-party software I’ve heard of, or some extra software from ShoreTel you have to either walk a user through this process or do it on their computer yourself. That changes now.

Editing Someone Else’s Personalized Call Handling Rules On Your ShoreTel Server

Step 1 – Create the rule on your own ShoreTel Communicator. You do this in the Options Menu under “Personalized Call Handling”. Just make the exact rule you want on the other user’s Communicator. Please note I’m using ShoreTel version 14.2 as the example.

Step 2 – Remote into your server and fire up your mySQL editor and connect to the configuration database.

Step 3 – Look for the table ecrrules. Your rule will probably be the newest rule in there, but you can look at the tables ecractions and ecrnumbers to verify which rule is yours. The field “RuleID” is the foreign key that ties them all together.

Step 4 – Once you’ve determined which rule is yours, simply change the extension in the UserDN field from your extension to the user who needs the rule’s extension. HeidiSQL is nice enough to give you a list when you click on it.

Step 5 – Verify in Director under “Personal Options” of the user that the rule shows up.

Step 6 – The rule is in the new user’s Personal Options now. If not check to make sure you put the right extension in the ECRULES table.

If you want to edit the rules you can change the fields. Simple things like the phone number or destination number are easy to edit under the ecractions and ecrnumbers table. I would not change the parameters of the rule or anything like that. If you need to change what the rule does, I would delete it in Director, make a new one that does what you need and do steps 1-6 above. For instance, if you mistyped the caller ID the rule needs to check for you can change that in the database, if you want it to forward to an inside line not an outside line, I’d start over since doing that would require changing several things in multiple tables and it’s easy to get confused.

If you are not familiar with how relational databases work, stay away from this. It’s pretty simple but you can mess something up fairly easily if you aren’t careful.

 

ShoreTel Communicator Encountered Error While Attempting to Connect to Server

Had this problem on a few machines during a failed upgrade. I found the fix here at Read, Deploy, Enjoy!. Here’s the link. Basically it involves setting the permissions to the STClient Login object under DCOM Config in your Component Services to to “Everyone”.

What I ran into was slightly different. The object wasn’t even showing up on a few computers. I think this is related to how the Communicator is installed from GPO. Especially the old versions if you had to use a ‘trick’ to get the MSI files. This could also be a problem if you have some variation of Roaming Profiles.

Here’s how to remedy the problem.

Step 1 – Uninstall ShoreTel Communicator under the problem users profile, delete all registry keys associated with it, delete the folder under Program Files or Program Files (x86).

Step 2 – Log in as a Local Administrator, or a Domain Admin that doesn’t have any special home profile folders or anything.

Step 3 – Install ShoreTel Communicator from the ShoreWare Director Page on your Server.

Step 4 – Reboot and log back in as the problem user and it SHOULD work correctly. If not follow the instructions on Read, Deploy, Enjoy!

My suspicion is that an installation task fails during an automated install and causes the DCOM object not to be created properly. This probably happens near the end of the install and doesn’t always trigger a failure in the install. Newer versions of Communicator may not use this object at all, so it may be a symptom of a downgrade procedure as well.