John Hesch

Echoing my thoughts and interests

Author Archive

Finally I can log into my Google Calendar and view and add events.

Just visit calendar.google.com from your phone, and you’ll see your agenda of upcoming events, complete with details like date, time, location, description, and guest list.

If you find that your phone number is in Google Search you can have it removed here.

05-8-07

Linux Server Uptime

Posted by John

Using the uptime command on one of my Red Hat Linux servers

CODE:
  1. 07:52:55 up 258 days, 10:411 user,  load average: 0.08, 0.02, 0.01

Let's see you keep your Windows server online for 258 days without a restart.

I recently stumbled upon a free CSS editor available for Windows, Mac and Linux.

To help you work with CSS, we've created a free tool called Simple CSS, which runs on Macs, Windows and Linux. Simple CSS allows you to easily create Cascading Style Sheets from scratch, and/or modify existing ones, using a familiar point-and-click interface.

Simple CSS

Whitelist For Exim Sender Verify Callout

Recently a user called and said that he was not receiving emails from a particular person. The email was being sent, but not received by the user. After verifying that the email was not getting caught up in a spam filter, I looked through the Exim logs located at /var/log/exim_mainlog. I found the email was being rejected with the error

could not complete sender verify callout

Exim by default, will check the senders email address and send a callback to the sending server to check and see if the users email address actually exists. In this case the senders email server was not verifying the email address actually exists and so the email was being rejected.

I didn't want to turn off callouts to verify the existence of email senders so I did some digging and found that Exim allows the callout feature to check with a whitelist to see if a callout instruction should be ignored. The instructions were locked within the cPanel forums which require registration and so my Google check didn't find these instructions.

I'm posting them here in hopes that others can find them easily. The original forum post is located here.

Create a file that will be the actual whitelist. In this example it is /etc/whitelist_senders - the addresses need to be listed one entry per line, either the email address or use the wildcard to do an entire domain. To create the file:

CODE:
  1. touch /etc/whitelist_senders

In WHM, in the top most edit box add (if there is anything else in the text box add this bellow it):

CODE:
  1. addresslist whitelist_senders = wildlsearch;/etc/whitelist_senders

Still in WHM. scroll down to where there are three text boxes together. This is the begin ACL section. In the middle box scroll down until you find:

CODE:
  1. #sender verifications are required for all messages that are not sent to lists
  2. require verify = sender/callout
  3. accept domains = +local_domains
  4. endpass

and change it to:

CODE:
  1. #sender verifications are required for all messages that are not sent to lists
  2. deny
  3. !verify   = sender/callout
  4. !senders  = +whitelist_senders
  5. accept domains = +local_domains
  6. endpass

Still in the middle box scroll down to the end and change:

CODE:
  1. #!!# ACL that is used after the DATA command
  2. check_message:
  3. require verify = header_sender
  4. accept

to this:

CODE:
  1. #!!# ACL that is used after the DATA command
  2. check_message:
  3. deny
  4. !verify   = header_sender
  5. !senders  = +whitelist_senders
  6. accept

Save and exit. Now try to send and receive email to make sure everything is still working. If all is ok add the address in question to the whitelist and see if it works.

Then put the sender addresses in the file /etc/whitelist_senders, one per line, e.g.

CODE:
  1. someone@domain1.tld
  2. *@domain2.tld 
04-19-07

Virus Alert

Posted by John

I have been receiving some strange emails lately. The latest one goes like so

Do not reply to this message

Dear Customer,

Our robot has fixed an abnormal activity from your IP address on sending e-mails.
Probably it is connected with the last epidemic of a worm which does not have patches at the moment.
We recommend you to install a firewall module and it will stop e-mail sending. Otherwise your account will be blocked until you do not eliminate
malfunction.

Customer support center robot

A zipped file is attached. I didn't unzip the file but this has all the characteristics of an email virus. As always, never open a file attachment from someone you don't know.

04-18-07

Chuckle of the Day

Posted by John
04-12-07

Want a Good Laugh?

Posted by John

View and update Google Calendar with Thunderbird

If you use Google Calendar and Thunderbird check out the above tutorial for keeping the two in sync. I was able to delete events in Thunderbird and see the changes in GCal, but I wasn't able to move an event to a different day in Thunderbird and have it moved in GCal. The tutorail uses Mozilla Lightning and Thunderbird 2 RC1, so there are bound to be a few problems up front.

Internet ad spending to grow 28.2% globally in 2007

ZenithOptimedia forecasts that worldwide spending on internet advertising will grow 28.2% in 2007, compared with a rise of just 3.7% in the rest of the advertising market.

activeCollab is an easy to use, web based, open source collaboration and project management tool. Set up an environment where you, your team and your clients can collaborate on active projects using a set of simple, functional tools. 100% free.

I've been using activeCollab for a month or so and it is the most adaptable, easy-to-use project management application I've ever used. Unfortunately the developer is closing up the source as of v1.0, but 0.71 is still open source and hopefully some developers will take that code and begin a new branch of activeCollab.

There is a close-knit active community that is hacking the 0.71 code to add functionality but it hasn't taken off like I'd hoped.

phpsh -- an interactive shell for php

phpsh is an interactive shell for php that features readline history, tab completion, quick access to documentation. It was developed at Facebook and ironically, is written mostly in python. It is open source.

03-6-07

Prepare Linux For DST

Posted by John

If you're running a Linux server you better check to make sure you are ready for DST which comes early this year.

From the command line

zdump -v /etc/localtime MST7MDT | grep 2007

If you are in another time zone you will use one of the following.

zdump -v /etc/localtime EST5EDT | grep 2007

zdump -v /etc/localtime CST6CDT | grep 2007

zdump -v /etc/localtime PST8PDT | grep 2007

You should see

CODE:
  1. /etc/localtime  Sun Mar 11 01:59:59 2007 MST

That's the date and time DST begins. If you see Sun April 1 you will need to update your system. Check here for information on how to manually update your system.

Recently I needed to move 19 databases from server A to sever B. The new server B was a scaled down Linux server with no web services so I couldn't use phpMyAdmin, the MySQL database administration tool. I needed to learn how to take care of this task using the command line only.

After moving 19 databases, I created a fairly easy system for exporting, transferring, importing, and creating permissions.

Step 1: Dump Database

Use SSH and log into server A. Navigate to a temporary folder or create a new folder for dumping the databases into. From the command line issue the following command

CODE:
  1. mysqldump DATABASE_NAME > DATABASE_NAME.sql

This will dump the structure and data from the database you named above into the directory you are currently in.

Step 2: Transfer File

Now you need to transfer the file to the new server.

CODE:
  1. scp DATABASE_NAME.sql USERNAME@IP_ADDRESS:DIRECTORY_ON_SERVER_B/DATABASE_NAME.sql

Replace DATABASE_NAME with the name you gave the file in step 1. Replace USERNAME with the login name on server B. I used root. Replace IP_ADDRESS with the IP of server B. DIRECTORY_ON_SERVER_B is the name of the directory on server B where you want to transfer the file to. It doesn't really matter where you put it.

Once you issue the above command, you will be asked to provide the password for the username you supplied. Once accepted, the file will be transferred.

Now log into server B and navigate to the directory where you transferred the database file to.

Step 3: Create Database

CODE:
  1. mysql -u root -p -e 'CREATE DATABASE DATABASE_NAME';

This command will create a new database with the name you provide. Should be the same name as you used on server A. After entering the above command provide the MySQL root password and the new database will be created.

Step 4: Restore Data

CODE:
  1. mysql -u root -p DATABASE_NAME < DATABASE_NAME.sql;

This command will import the structure and data from the database on server A. Again you will be asked for the MySQL root password.

Step 5: Grant Users

CODE:
  1. grant all on DATABASE_NAME.* to DATABASE_USERNAME@localhost identified by 'PASSWORD';

Now you need to create a new user and give that user permission to access the database.

Step 6: Flush Privileges

CODE:
  1. FLUSH PRIVILEGES;

Now tell MySQL to reload the new privileges you created.

That's it. Repeat for each database you are moving.

Here are a few other commands that came in handy

Show the databases:

CODE:
  1. SHOW DATABASES;

Show Grants:

CODE:
  1. select User,Host from mysql.user;

Delete Grants:

CODE:
  1. DELETE FROM mysql.user WHERE User='DATABASE_USER' and host='localhost';

I never thought I would see the day where Microsoft would work with Mozilla to build a Microsoft version of Firefox. Introducing Microsoft Firefox 2007 Professional!

NOT! It's a joke and a fairly elaborate one. I almost fell for it until I started reading some of the features like

Disables nearly all pre-installed non-Microsoft software to prevent potentially vulnerable controls from being exposed to attack. You can easily enable or disable required programs as needed through the Add-on Manager by using any valid credit card.

Proactively warns and helps protect you against potential or known fraudulent sites such as Google.com, blocks the site and shuts down your computer if necessary. The filter is updated several times per hour using the latest security information from Microsoft.

Too funny.

Graytone | Design: Tenant Report