There was no reason for him to get mad - he was just being an unreasonable jerk. Even if you weren't a posted business, concealed means concealed in most states. If he wants to be a bozo he should get used to this.
Plus, if this is a business where customers could have seen him, there could have been problems. However we feel about our rights, not everybody agrees and this is a place of business. Driving away customers is not an option.
You could just as validly and correctly told the boss and gotten him fired, as you state. Instead you decided to help him out.
I would say being discrete, or at least not being obnoxiously loud, is the only thing.