Fix SARG Reports in pfsense

torchSARG Reports are a good compliment to Squid Proxy and since there is a package that is available for installation in pfsense, it makes good sense to setup SARG Reports. The downsides to SARG Reports is that the reports do take up space and over time this can be significant. This posting is about a problem I encountered on pfsense 2.1 and the latest SARG package.

For some unknown reason the reports stopped generating. Upon checking my System Log this is the issue I found:

php: /pkg_edit.php: The command 'export LC_ALL=C && /usr/pbi/sarg-amd64/bin/sarg -d `date +%d/%m/%Y`-`date +%d/%m/%Y`' returned exit code '1', 
the output was 'SARG: Cannot get the modification time of input log file /var/log/squid/access.log (No such file or directory). Processing it anyway SARG: File not found: /var/log/squid/access.log'

I am using the 64-bit version of pfsense, so hence the sarg-amd64. If you are using 32-bit, it will state instead sarg-i386.

The solution is to edit the sarg.conf file that is located in one of these locations, depending on your pfsense build:

/usr/pbi/sarg-amd64/etc/sarg/sarg.conf
/usr/pbi/sarg-i386/etc/sarg/sarg.conf

You will need to verify that the access_log line is correct:

#access_log /usr/local/squid/var/logs/access.log

In my case, removing the # sign and specifying the correct path to my Squid access.log corrected the problem.

If you have issues with SARG Reports, it is best to do the following:

  1. Under the Status Menu – click SARG Reports.
  2. On the General tab click Save
  3. Next click on the Users tab and click Save
  4. Click Schedule and create your schedule or if you have one already open it up and click Save.
  5. You can go back to the Schedule and Force Update to see if SARG Reports are working now.

I also schedule SARG Reports in Cron to run at 11:50pm every night instead of midnight.

50  23  */1  *  *

Zoho Email For Domains Setup

Zoho EmailIn this post, I discuss how to setup your own domain with Zoho Mail, a hosted email solution from Zoho. Similar to Google Apps, Zoho provides a set of online business tools including office apps, project management, and contact management. At the time of this post the hosted email package has a free option as well as higher tiers for users who need more options. The biggest selling point for Zoho is that none of their apps have advertisements, and so if you are bothered by other webmail solutions that feature ads, Zoho seems to be a good alternative solution. Other than webmail access, the other reasons to use Zoho is that it works with desktop email clients, smartphones, and tablets.

My Requirements For An Email Solution

In order of importance, here is what I was looking for in an email solution.

Integrates with your Domain name

  • I wanted an email solution that would work with my current personal domain that my family uses.

iPhone and iPad Support

  • Everyone in the family has an iPhone, iPod, or iPad that they can use for email.

Apple Mail Support

  • Oh, we do use our Mac computers every now and then, so we need desktop mail.

IMAP

  • I want to keep email on the server, and not worry about losing it. I can also manage my email from my smartphone when I have time. This is really convenient.

Cost

  • Free if possible, but am willing to pay for a good solution on a yearly basis.

Ad-free

  • Not having my kids bombarded with advertisements is a good thing.

Zoho’s Instructions

Step 1: Verify domain ownership
Please verify your domain ownership. This is required to prevent imposters from using domains to send malicious messages. You can follow either the CNAME method or HTML method for verification.

Step 2: Add / import users to your organization
As the administrator of your organization, you have a Control Panel link in your user interface. In the Control panel, click User Details on the left list of options and click Add User option on the top. You can also import a list of users by selecting the Import User option.

Step 3: Migrating data to Zoho Mail
We recommend you to test migration for 2 users before pointing MX records.

Step 4: Point MX records to Zoho
Point the Mail Exchanger (MX) records to Zoho to start receiving mails to your inbox.

Changing My eMail

Steps 1 and 2 were pretty easy. Since I only have 4 users accounts, it took a few minutes to setup my four users in the Control panel. I skipped Step 3, I don’t really keep a lot of personal email. My current email was stored in Apple Mail and I was fine leaving it there. The interesting step is number 4. The Internet works via DNS. The domain naming system allows everyone and everything to find each other on the network. This is accomplished by DNS having different types of records to point requests to the right place. In the case of most personal domains, you have two different parties involved. The first is a domain registrar who takes care of your domain registration. The second is your hosting provider, usually for shared hosting this is a cPanel type hosting provider. When someone tries to email you at user@some_domain_name.net, a lookup is made to the root DNS authority for the .net domains, your registrar is what adds your domain to the DNS authority servers. The root server then sends you to your nameservers specified. Your nameservers are at your cPanel hosting provider. The final step in the lookup is to see what your cPanel nameserver has for what is called the MX records. The MX records have the server that processes your email and ideally where the email is going to go.

Zoho Email For Domains

Your current hosting provider has MX records for its own email processing. What needs to be done, is to remove the current MX records and replace them with MX records that point to Zoho’s servers. This way only your email, emails sent to user@some_domain_name.net, will route to Zoho, but everything else will still be at your current hosting provider. To do this most cPanel hosts make it easy to do this now. Log into your cPanel control panel and scroll down to the Email section. You want to click open the MX Entry icon.

cPanel Email MX Entry

You will first choose your domain name that you want to change the MX records for. This is your main domain. First add the MX entries as Zoho instructs, then remove your current record for your host. When the changes are complete, it should look similar to this:

Zoho MX Records

The DNS changes take a matter of minutes to a couple of hours to propagate to the rest of the internet.

Build A Better Team

user iconWe have all been in this situation. It has been a busy work week and although you really need to get some work done, you find yourself in a meeting. The reason is usually the discovery of a problem and the meeting has been called to figure out a solution. After the first 15 minutes, you start to see just how effective your team really is. If what occurs next is an active and engaging debate between everyone in attendance, then you have nothing to worry about. However, if the room goes silent or if the list of ideas seem familiar and there are few of them, then most likely your team has issues. I am a big believer in the concept that all problems are people problems first. Regardless of how great a process can be, if the people executing the process don’t understand it (or their role in said process), then that process will ultimately fail. The same goes for teams. If you have a team where members do not understand what role they play or are not willing to actively participate within the team concept, then your team is not very effective at all. Not being effective, means not productive, not able to think creatively, not working at all. This is most often described as the Nonfunctional team. Nonfunctional teams are costly, don’t produce quality work, and force your most talented and productive people to look for another job. The impact on the business is immediate and sometimes irreversible. So what can be done to build better team?

Begin The Conversation

Recognizing that the team is nonfunctional is great, but the problems will not just go away by pointing them out. Team members will need to be communicated to individually and as a group. Convincing most team members that there are problems will not be hard, getting them to talk about it is what will be difficult. It is important that the team take responsibility and ownership over improving the team environment. Empowering your team is the single most important thing you can do. Take the time to listen to each individual’s point of view. Some managers take it upon themselves to do a day long meeting and hash out a team building event, but if the problems have been going on for a while, it is better to build up support before going to team events. As a team leader or manager, be prepared for obstacles. Remember that the status quo is not where you want the team to be and that feeling “comfortable”, means that you have not really implemented any change.

Strategy

Once you have some support on your side, present to the team the plan. You should have some goals, as to what defines the team, what values the team will have, and how the team will get there. These should be written out and easily recognizable to anyone who reads them. Reaching your goals will mean changing the culture of the team, to work effectively, to focus, and to let go of old habits, processes, policies, politics, etc that get in the way of these goals.

Team Building

For the first day long team event, you will need to tackle the first thing that most teams are not good at, namely communication. Effective teams communicate openly and honestly. In order to do that, as a leader, you have to put yourself out there first and talk about what difficulties you have as a manager or team leader. Communication is personal and so our instinct is to avoid anything that makes us feel vulnerable to each other, however, you have to share. Communication is a shared experience and until you share something, you can’t really communicate. Once you take that first step, the team will follow one by one. It will be difficult at first, but the more you share the better you will be able to communicate. Again, the communication has to be personal. There are simple exercises you can do, or you can simply have an open discussion similar to a talk show. For example, the statement “I feel uncomfortable when…” is a good start. The idea is to have the team get to know each other as people first.

Once you have a shared experience, next comes work. The idea is to communicate better and with better communication comes that magic word that everyone talks about all the time: trust. In effective teams, all team members trust each other. It sounds simple but a good working relationship takes a lot of work. In order to get there, as the leader in the room, you have to help the team to craft some ground rules on communicating with each other. Communication needs to be active and engaging, but you also need to agree as a team that once the team decides on something, that it is decided. You want to allow for individual discussions and points of view, but you also want to the team to be able to achieve consensus.

At the conclusion of your first day long event, you should have come out with ground rules for communicating and agreement to work with each other for the sake of the team goals. You won’t have the perfect team yet, but you will have something which you can build on in the coming months.