My environment is running BIND in a chroot jail, using the
bind-chroot package installed with YUM. This article at DigitalOcean got me started; this documents steps specific to a Scientific Linux (or Centos, RHEL, etc) install.
#change into the zone file directory
#generate a zone signing key
dnssec-keygen -a NSEC3RSASHA1 -b 2048 -n ZONE example.com
#generate a key signing key
dnssec-keygen -f KSK -a NSEC3RSASHA1 -b 4096 -n ZONE example.com
#append an include to the zone file for both public key files
for key in Kexample*.key; do echo "\$INCLUDE $key" >> db.example.com; done
#sign the zone (this needs to be done after each update as well)
dnssec-signzone -A -3 $(head -c 1000 /dev/random | sha1sum | cut -b 1-16) -N INCREMENT -o example.com -t db.example.com
#make sure bind is looking at the signed zone files
sed -i 's/db.example.com/db.example.com.signed/' /var/named/chroot/etc/named.conf
#these are the DS records that the domain registrar needs
Enable super detailed logging in OpenLDAP. Continue reading
There seems to be a lot of misinformation floating around on this subject, but after ignoring most of it and playing around I have a FreePBX system with BLF, remote caller ID, and directed pickup all working fine on my Polycom phone. Here’s how I did it, for the record.
I recently had to set up Mac Mail for our company’s Google Apps account (although the same thing likely happens with GMail.) I was seeing strange behaviour which I eventually figured out was due to the weirdness of IMAP and how Google treats labels as folders.
- deleting a message in Mail would just tag it with a Deleted Items label on the server; it never disappeared from the All Mail folder.
- Sent messages were tagged with a Sent Messages label and didn’t show up when I went to the Sent Items folder
- An [Imap]/Drafts label was cluttering things up in Google’s webmail
I pretty quickly figured out that it was just a problem of Mail not knowing what folders on the IMAP server were to be used for a specific function. But it took me a few days to figure out how to give Mail that information.
In Mail, open the [GMail] folder and select the Trash (Bin, Deleted items, etc) mailbox. Once it’s open, go to the Mailbox menu, select Use This Mailbox For, and choose Trash. Repeat this process for [GMail]/Sent Items, [GMail]/Spam, and [GMail]/Drafts. Now you can use the webmail interface to delete the Deleted Items, Sent Messages, and [Imap]/Drafts labels.
A similar problem happens with iPhone when using Exchange ActiveSync instead of IMAP. When you use IMAP, you have an option in your account settings to use Archive or Delete. But with ActiveSync, all deleted messages are archived by default, and stay in the All Mail folder. You can change this behaviour by visiting http://m.google.com/sync where you can change a few settings for each mobile device using ActiveSync, including Delete Email As Trash.
Following up a previous post for pfSense 1.2.3, here is a patch against pfSense 2.0.1 which allows setting a custom NAS Identifier. Just run these commands from the console.
I found a lovely script for sending voicemail notifications in MP3 format instead of wav. It’s a bit of a hack, since Asterisk only provides you with an entire, MIME encoded email message as input. Anyway, I improved it somewhat and wanted to share. This version adds call info and an image to the MP3 file, and is more elegant IMHO – e.g. use of
Here is the difficult way to send Asterisk 1.8 voicemail notifications to more than one address. The easy way is to define a sendmail alias on your system. However, if you want to allow management of emails through a GUI like FreePBX, that won’t do much good for you.
If you want to create some self-organizing maps on a Mac you’re going to need to compile some source code yourself. Assuming you have Apple’s Developer Tools installed, it should be fairly painless.
From one server to another, no need for file transfers or anything like that. Do this on the new server.
svnadmin create /foo/bar/new
ssh email@example.com "svnadmin dump /foo/bar/old" | svnadmin load /foo/bar/new
On your working copies you’ll need to say where the new repository location is:
svn switch --relocate https://old.host/svn https://new.host/svn /path/to/working/copy
Here’s the complicated way to get Asterisk sending voicemail notifications to multiple email addresses. (The easy way? Use group mailboxes and/or sendmail aliases.) Once this modified module is compiled and installed, multiple addresses in
voicemail.conf can be separated by a pipe character.
A couple of changes needed at the time of writing from the usual build requirements.
When you install the MySQL package on Ubuntu Linux, it does not come with a blank password, as most packages and installations do. The package is set up so you can change the password like so:
sudo dpkg-reconfigure mysql-server-5.1
The top Google hits recommend stopping the service, restarting MySQL with privileges disabled, etc. This is not the way it was meant to be done, according to Ubuntu.
So let me guess. You’re using A2Billing on FreePBX – I don’t know how TrixBox or AsteriskNOW work, but the concept is the same – and whenever you forward a phone to an outside number it doesn’t work. Callers get prompted with “Please enter the complete PIN number” instead of having the call completed.
Have you ever clicked on your FreePBX link, get prompted for a password, and then sit staring at your browser “connecting to…” your server forever? Restarting Apache doesn’t work, restarting MySQL doesn’t work, even restarting Asterisk doesn’t work. Meanwhile everything else is running just fine, but you need to restart the entire server before FreePBX starts working again.
The valley of the Fraser River is the bed of an ancient arm of the sea which extended as far inland as Hope. It is to a large extent made up of alluvial deposits, according to Dr. Dawson. The Indians have a very ancient tradition which bears out in a legendary way this more scientific premise. They say that the receding of the sea from this district explains the presence of certain varieties of fish. From Lillooet Lake to the Fraser and from Lillooet River to the Stave River is the district of Maple Ridge, which as the name implies, is a shelf or table-land, declining at the two ends, that occurs in the rise of the land from the Fraser River towards the mountains in the far background. It is the neighboring [sic] Municipality to that of Coquitlam and shares most of the natural features of the latter, but having the advantage of lying considerably higher above the level of the river. Briefly, this is how this part came to be settled:
pfSense has a captive portal option that allows RADIUS authentication. However, it doesn’t include the option to set the NAS ID of your firewall, instead creating something automatically based on the hostname. Apply these changes (against 1.2.3-RELEASE) to enable a custom NAS ID.
I needed to upload the device manager HTML files to a Cisco switch separately because I was low on flash space. You can’t download the HTML separately from Cisco (at least not for the 2950 switch I was upgrading) so I had to make the TAR myself.
So I made up a TAR file with the usual
tar -cf command and tried to load it, but got a checksum error:
PaxHeader/html (unknown file type) -- ignored!
%Tar checksum error in ftp://220.127.116.11/html.tar
Turns out that Cisco requires and old format TAR file (compatible with V7 UNIX.) Create the archive with
tar -cof and it will work out.
The PHP interface to rrdtool hasn’t been updated in 5 years and appears to have been deprecated by the developer, who doesn’t provide any documentation for it. Fortunately, there’s no functionality in the extension, so it won’t go out of date as long as the rrdtool library on your system is up to date. I’ve managed to figure out the functions by looking at the source code and thought it might be helpful for someone.
I’m creating an iPhone web application, using the iUI framework to give it a look and feel similar to native iPhone apps.
I needed a grid in the background while I was debugging an SVG image I was creating, something like Photoshop’s transparency grid. Here’s what I did.
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200" height="400">
<pattern id="grid" width="20" height="20" patternUnits="userSpaceOnUse">
<rect fill="black" x="0" y="0" width="10" height="10" opacity="0.1"/>
<rect fill="white" x="10" y="0" width="10" height="10"/>
<rect fill="black" x="10" y="10" width="10" height="10" opacity="0.1"/>
<rect fill="white" x="0" y="10" width="10" height="10"/>
<rect fill="url(#grid)" x="0" y="0" width="100%" height="100%"/>