Shami's Blog

Sysadmin, Because Even Developers Need Heroes

Real-Time Network Traffic Stats On FreeBSD

2016-05-08 by Mohammad H. Al-Shami

Quick one here, to get real-time traffic stats on FreeBSD just run the following command

systat -ifstat

Copying Content From A Word Document To A CKEDitor

2016-05-03 by Mohammad H. Al-Shami

So I’ve been assisting a customer with their website and I was helping them with some data entry. Most of the content they sent me was in MS Word format. Copying the text directly to Drupal’s CKEditor had all formatting messed up so I was copying to notepad, copying from there to Drupal and then formatting manually. This turned out to be a nightmare when I had to copy 10 tables in a single page.


'apt-get update' Failing After A Fresh Ubuntu 12.04 Installation

2016-05-02 by Mohammad H. Al-Shami

So I’m currently working with a customer that requires Ubuntu 12.04 for their servers since their apps were built and tested on that version, so every new install I run into the following issue


Adding 'on behalf of' To Outgoing Emails With Postfix

2016-04-28 by Mohammad H. Al-Shami

I used to be a big fan of Mandrill. I used to use it as an email gateway for my personal servers. It’s easy to use and it’s cheap (Or free if you send less than 12,000 emails per month). I liked not having to setup SPF, DKIM, and DMARC for my small setups. Even for smaller clients I wouldn’t bother with that and just use Mandrill. Emails just show up with the following sender [email protected]; on behalf of; [email protected]


Randomize Source IP Addresses With Postfix

2016-04-27 by Mohammad H. Al-Shami

Sometimes when you have a high number of outgoing messages services like Yahoo! and Gmail might block you. To prevent that you need to distribute your outgoing emails through a set of IPs. I used HAProxy for that along with a number of FreeBSD Jails. That solution is a bit tedious, even though after I started using Salt things became a bit easier it was still too complicated for my taste.


Corrupted image_captcha In Drupal

2016-04-23 by Mohammad H. Al-Shami

I have noticed that the image_captcha Drupal module has been showing empty images on some of the websites I administer. When checking the cause of this I tried to view the image directly and got:


Moving A Magento Instance To A New Domain

2016-04-21 by Mohammad H. Al-Shami

Quick one here, when you move a Magento instance to a new domain or URL it will keep redirecting to the old address. There is a quick fix


Bootstrapping PKGNG From Your Own Repository

2015-03-13 by Mohammad H. Al-Shami

I’ve been building my own PKGNG repositories with Poudriere lately. Some of the benefits include:


HOWTO: Small Mail Server With Salt, Dovecot, And OpenSMTPD

2015-01-26 by Mohammad H. Al-Shami

Update: Sadly OpenSMTPD version 5.4.4 on FreeBSD broke the passwd table, I’m checking the Gills to get this fixed.

Update2: I am no longer using OpenSMTPD. I’ve switched to dma for servers that only need to send emails and went back to Postfix for servers that require an actual MTA. Not that OpenSMTPD is bad, I just prefer Postfix. I might reconcider in the future when OpenSMTPD is more mature.


Perl One-liner To Generate htpasswd Passwords

2014-12-29 by Mohammad H. Al-Shami

Instead of having to install Apache or use an untrusted website just to generate the required password, you can use the following perl one liner

perl -e 'chomp($password=<>);chomp($salt=`tr -dc A-Za-z0-9 </dev/urandom | head -c 1024`); print crypt($password,$salt)."\n";'