Michael McNamara https://blog.michaelfmcnamara.com technology, networking, virtualization and IP telephony Sun, 31 Oct 2021 01:42:26 +0000 en-US hourly 1 https://wordpress.org/?v=6.7.2 How to start blogging in 2021? https://blog.michaelfmcnamara.com/2021/03/how-to-start-blogging-in-2021/ Sun, 14 Mar 2021 15:50:44 +0000 https://blog.michaelfmcnamara.com/?p=6798 It’s interesting how many people still ask this basic question, wanting to know how much it costs and what it takes or more specifically “how to do it”. I get the question from college students, colleagues and more often neighbors who stumble upon my not so secret digital identify. While there’s a lot more social media around today than there was back when I started blogging in 2007 and I believe there’s still a space for blogging. You’d be surprised that many of the reasons people start blogs are commonly similar. Whether it’s for professional exposure or experience, personal interests or curiosity there are no shortage of tools or solutions available today to help a budding creator.

I started with Blogger back in 2007 and then in 2008 I migrated to a self-hosted installation of WordPress. While there are a number of great managed solutions available today I’m one of those guys that enjoys the challenges of learning by building it yourself and then managing it day to day. The self-hosted WordPress or WordPress.org as some refer to it, requires a server to run the software stack. In my case I’m using a Linux Virtual Private Server (VPS) rented/leased from a hosting provider in order to run WordPress. This was traditionally done with what is referred to as a LAMP stack, Linux, Apache, MySQL and PHP. These days I’m running a LEMP stack which includes Linux, Nginx, MariaDB and PHP. I’ve gone through a few hosting providers in my days, starting with RimuHosting, then Linode and today I’m using DigitalOcean. I’m also still using GoDaddy as my domain registrar. While I’ve heard a lot of horror stories from GoDaddy customers I haven’t experienced any issues myself. I have heard really good stores from customers of Gandi.net.

You can still find my original site on Blogger today at http://michaelfmcnamara.blogspot.com/.

If you are looking to test out blogging I would strongly suggest you start with Blogger or perhaps WordPress.com – not to be confused with WordPress.org. Whether you decide to try Blogger or WordPress.com both solutions make it incredibly easy to get up and running quickly and easily. If you later find that you enjoy blogging and you want to delve into all the features and options then you can migrate your content to any number of solutions, both commercial and other.

Since I run a self-hosted WordPress site I needed to purchase the following components separately;

Domain Name (michaelfmcnamara.com)GoDaddy$56.32/2 years
Virtual Private Server (Linux CentOS 7.6 x64)DigitalOcean$240/2 years
SSL Certificate (Wildcard)RapidSSL$258.00/2 years
$554.32 Total (2 years)

As you can see the costs quickly add up, on average $23/monthly. I advise anyone just jumping into blogging to start out with a free solution until you are ready to commit your hard earned $$$. I use my server to host multiple websites (and more recently a Minecraft server) so the costs presented above are a little skewed so don’t go postal on me in the comments. There are definitely cheaper alternatives out there, this is just what I’m doing these days and it works for me. As another example if you used a WordPress.com Premium account that would run you $8/monthly or $192 over 2 years.

You can look to use advertising to help offset some of the costs above. For a number of years there I was earning about $130/monthly from Google Adsense and directly contracted banner ads which helped offset the costs. It takes quiet a bit of effort to get beyond anything more than “beer” money so keep that in mind if you think you’ll be able to launch a blog or even a YouTube channel and it will start paying for itself in six months.

In the end it’s not Blogger or WordPress that’s going to make your blog successful, it will be the content that you share!

If you have any questions drop them below and I’ll do my best to answer them.

Cheers!

]]>
The Swedes are coming! https://blog.michaelfmcnamara.com/2021/02/the-swedes-are-coming/ Thu, 18 Feb 2021 03:17:37 +0000 https://blog.michaelfmcnamara.com/?p=6860 No, I was hacked with some stolen user credentials.

I was surprised today when I noticed that someone had posted a new article to this site at 6:36AM this morning titled “3 Reasons to Start Using Dealspaces”. Interestingly enough the user account used to post the article was a test account under my wife’s name that I probably haven’t used in years.

I went looking at the nginx access.log files and found the relevant entires;

213.164.204.89 - - [17/Feb/2021:11:36:17 +0000] "POST //xmlrpc.php HTTP/1.1" 200 141 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0"
213.164.204.89 - - [17/Feb/2021:11:36:18 +0000] "POST //xmlrpc.php HTTP/1.1" 200 2253 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0"
213.164.204.89 - - [17/Feb/2021:11:36:19 +0000] "GET /2021/02/3-reasons-to-start-using-dealspaces/ HTTP/1.1" 200 9985 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0"

The IP address belongs to a Swedish Internet Service Provider named Bahnhof, not particularly helpful as it could have also been a Tor endpoint or exit node. I can tell from the time stamps that the action was likely scripted as there was exactly one second between each request.

Needless to say I immediately deleted the post and the user account that was used to make the post and then changed my own password out of an abundance of caution. I then scoured the entire WordPress filesystem using the recent backup I had to try and make sure that nothing else was changed. I even dumped the database and ran a quick comparision against a recent backup, again looking for any changes or any obfuscated code.

My Thoughts?

Old user accounts are becoming a bigger and bigger problem as the longer they hang around in the wild they will eventually end up being compromised. This is why IT security professionals plead with users to use different passwords on every single website and to frequently change those passwords. Unfortunately in this case I’m going to guess that the password used for this account likely wasn’t very secure (Test123) and that’s likely how the hacker was able to login to WordPress and post the article. So shame on me for yet again falling into the roll of a user.

Are you curious if your user credentials have ever been leaked? Check out have i been pwned?

Cheers!

]]>
Where is Seychelles? https://blog.michaelfmcnamara.com/2015/12/where-is-seychelles/ https://blog.michaelfmcnamara.com/2015/12/where-is-seychelles/#comments Wed, 30 Dec 2015 14:51:34 +0000 http://blog.michaelfmcnamara.com/?p=5505 With the Christmas break and holidays upon us I usually get a few days to tend to the digital upkeep of my little fiefdom.  The plan this year was to add HTTPS/SSL capability to my blog with a wildcard SSL certificate from RapidSSL. While I was installing the certificate I noticed a large number of odd POST requests in the logs;

::ffff:89.248.172.6 - - [26/Dec/2015:18:53:22 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
::ffff:89.248.172.6 - - [26/Dec/2015:18:53:22 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
::ffff:89.248.172.6 - - [26/Dec/2015:18:53:22 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
::ffff:89.248.172.6 - - [26/Dec/2015:18:53:22 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
::ffff:89.248.172.6 - - [26/Dec/2015:18:53:22 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
::ffff:89.248.172.6 - - [26/Dec/2015:18:53:24 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
::ffff:89.248.172.6 - - [26/Dec/2015:18:53:25 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
::ffff:89.248.172.6 - - [26/Dec/2015:18:53:25 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
::ffff:89.248.172.6 - - [26/Dec/2015:18:53:25 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"

I was naturally curious and started digging through my logs, I found 427,358 requests from that IP network over the past two weeks. Using whois I was able to identify the network and hosting provider where the requests were originating from.

[root@moon logs]# whois 89.248.172.6
[Querying whois.ripe.net]
[whois.ripe.net]
% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See http://www.ripe.net/db/support/db-terms-conditions.pdf

% Note: this output has been filtered.
%       To receive output for a database update, use the "-B" flag.

% Information related to '89.248.172.0 - 89.248.172.57'

% Abuse contact for '89.248.172.0 - 89.248.172.57' is 'abuse@ecatel.net'

inetnum:        89.248.172.0 - 89.248.172.57
netname:        SC-QUASI40
descr:          QUASI
country:        SC
admin-c:        QNL1-RIPE
tech-c:         QNL1-RIPE
status:         ASSIGNED PA
mnt-by:         QUASINETWORKS-MNT
mnt-lower:      QUASINETWORKS-MNT
mnt-routes:     QUASINETWORKS-MNT
created:        2008-06-21T17:49:26Z
last-modified:  2015-11-09T13:20:10Z
source:         RIPE # Filtered

role:           Quasi Networks LTD
address:        Suite 1, Second Floor
address:        Sound & Vision House, Francis Rachel Street
address:        Victoria, Mahe, SEYCHELLES
remarks:        *****************************************************************************
remarks:        IMPORTANT INFORMATION
remarks:        *****************************************************************************
remarks:        We are a high bandwidth network provider offering bandwidth solutions.
remarks:        Government agencies can sent their requests to gov.request@quasinetworks.com
remarks:        Please only use abuse@quasinetworks.com for abuse reports.
remarks:        For all other requests, please see the details on our website.
remarks:        *****************************************************************************
abuse-mailbox:  abuse@quasinetworks.com
nic-hdl:        QNL1-RIPE
mnt-by:         QUASINETWORKS-MNT
created:        2015-11-07T22:43:04Z
last-modified:  2015-11-07T23:04:49Z
source:         RIPE # Filtered

% Information related to '89.248.172.0/23as29073'

route:          89.248.172.0/23
descr:          Quasi Networks LTD (IBC)
origin:         as29073
mnt-by:         QUASINETWORKS-MNT
created:        2007-11-19T14:34:49Z
last-modified:  2015-11-09T13:24:19Z
source:         RIPE # Filtered

% This query was served by the RIPE Database Query Service version 1.83.1 (DB-1)

I had never heard of Seychelles before, but Google pointed out that it’s a collection of islands off the east coast of Africa. I would personally think that bandwidth would be expensive there but I’m guessing the miscreants don’t mind paying for it.

It was pretty clear from the logs that this IP address was trying infiltrate the XMLRPC service in WordPress while hoping to avoid detection by using the Googlebot agent string. If anything using the Googlebot agent string actually draws attention to the request.

While not a foolproof solution, I’ve added another IP network into my server firewall tables.

I did a quick scan of the logs and found 38 distinct IP addresses had tried to login to my WordPress blog a total of 359 times since midnight. A number of IP addresses were from proxy and VPN providers of which the majority were based in the continental United States. There were 104 attempts from 104.193.120.218 which belongs to a service provider in Farmington Hills, MI and resolves to solutionslick.net which is a front to adult porn sites.

I’d love to spend more time pouring over my log files but I just don’t have the time or energy.

Cheers!

]]>
https://blog.michaelfmcnamara.com/2015/12/where-is-seychelles/feed/ 3
I’m making the jump to HTTPS and SSL for this blog https://blog.michaelfmcnamara.com/2015/12/im-making-the-jump-to-https-and-ssl-for-this-blog/ Mon, 28 Dec 2015 18:00:38 +0000 https://blog.michaelfmcnamara.com/?p=5514 In early January I enabled HTTPS/SSL on the discussion forums with the primary goal of securing user credentials that were being used to log into the forums. Almost twelve months later I’ve found some free time to migrate my blog to HTTPS/SSL as well. The goal is essentially the same, however, this change is more to protect my credentials as I’m really the only user that logs into WordPress. That said there’s more to secure than just the user credentials. Security is becoming a big and bigger topic as ISPs have been taking more and more liberties with customer traffic. While some ISPs have been data mining and profiling their customer traffic other ISP are actively inserting third parties cookies and headers into the datastream. You only need to search Google for a few minutes to find some blatant examples. It’s one of the reasons I’ve started using private VPN services, using HTTPS/SSL over an IPSec VPN I should say.

In addition, Google has been using HTTP/HTTPS signals in their ranking for quite a few months now. Not sure if that will have any impact on my little blog but I’m happy to try and push that percentage of sites using HTTPS/SSL just a little higher.

I purchased a wildcard SSL certificate from RapidSSL that covers *.michaelfmcnamara.com. I have multiple servers and virtual hosts so it only made sense to purchase a wildcard certificate instead of purchasing multiple individual certificates.

The installation was pretty simple, I did need to bundle all the certificates including the root GeoTrust Global CA, the intermediate RapidSSL SHA265 CA – G3 and then my certificate into the certificate file so the browser was presented the proper SSL chaining. I changed the WordPress Address and Site Address URLs from within WordPress and then I setup a redirect from Nginx;

server {
    listen              [::]:80;
    server_name         blog.michaelfmcnamara.com mirror.michaelfmcnamara.com;

    return 301 https://$server_name$request_uri;
}

I also had to make a few small changes to the Google Adsense scripts.

Any Issues?

Yes, there will be a few issues… Internet Explorer 8 for Windows XP doesn’t support SNI (Server Name Indicator) so that browser won’t be able to connect now that I’ve enabled two SSL enabled sites on the same IP address using two different certificates in Nginx. If you are still using Internet Explorer 8 on Windows XP you should really consider migrating off Windows XP.

Are you going to enable HTTPS/SSL on your blog or website?

Cheers!

Update: December 30, 2015 –  I had issues uploading images via WordPress after turning on the HTTP redirect. I was getting the error “An error occurred in the upload. Please try again later.” when I tried to upload an image via HTTPS/SSL. I had to go into wp-config.php and add the following, “define(‘FORCE_SSL_ADMIN’, true);” which appears to have resolved the problem.

]]>
cURL and SSL TLS Issues https://blog.michaelfmcnamara.com/2015/12/curl-and-ssl-tls-issues/ Mon, 28 Dec 2015 14:00:47 +0000 http://blog.michaelfmcnamara.com/?p=5496 I ran into an interesting problem while recently checking over my blog. I noticed that the RSS feed from the discussion forums was failing to load in the HTML footer of my blog. It was returning the error “RSS Error: WP HTTP ERROR: SSL connect error”. So I started digging into trying to figure out what had broken.

BlogRSSfailstoload

I quickly found that cURL was having issues connecting to https://forums.networkinfrastructure.info without any parameters;

[root@mars certs]# curl -v https://forums.networkinfrastructure.info/.xml/?type=rss
* About to connect() to forums.networkinfrastructure.info port 443 (#0)
*   Trying 162.243.40.10... connected
* Connected to forums.networkinfrastructure.info (162.243.40.10) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* NSS error -5961
* Closing connection #0
* SSL connect error
curl: (35) SSL connect error

Initially I thought I had a certificate issue, concerned that either the GEO Trust root certificate and/or intermediate RapidSSL SHA256 certificate might be missing from /etc/pki/tls/certs/ca-bundle.crt but I was able to quickly rule that problem out using the -k flag on cURL. I noticed that if I tell cURL to use TLS 1.2 then it can connect without issue;

[root@mars certs]# curl -v --tlsv1.2 https://forums.networkinfrastructure.info/.xml/?type=rss
* About to connect() to forums.networkinfrastructure.info port 443 (#0)
*   Trying 162.243.40.10... connected
* Connected to forums.networkinfrastructure.info (162.243.40.10) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSL connection using TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
* Server certificate:
*       subject: CN=forums.networkinfrastructure.info,OU=Domain Control Validated - RapidSSL(R),OU=See www.rapidssl.com/resources/cps (c)14,OU=GT54191003
*       start date: Jul 16 16:20:24 2015 GMT
*       expire date: Nov 26 12:10:44 2016 GMT
*       common name: forums.networkinfrastructure.info
*       issuer: CN=RapidSSL SHA256 CA - G3,O=GeoTrust Inc.,C=US
> GET /.xml/?type=rss HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: forums.networkinfrastructure.info
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx/1.0.15
< Date: Sat, 26 Dec 2015 14:23:13 GMT
< Content-Type: application/rss+xml; charset=ISO-8859-1
< Transfer-Encoding: chunked
< Connection: keep-alive
< X-Powered-By: PHP/5.3.3
< X-Frame-Options: SAMEORIGIN
< X-XSS-Protection: 1
< X-Content-Type-Options: nosniff
< Set-Cookie: PHPSESSID=tfvh4sti8ks08l6n6o61sd46n5; path=/
< Expires: Thu, 19 Nov 1981 08:52:00 GMT
< Pragma: no-cache
< Cache-Control: private
<

        
                Network Infrastructure Forums
                https://forums.networkinfrastructure.info/index.php
                            
...
...

So there’s some issue with cURL negotiating between SSLv3, TLS 1.0, TLS 1.1 and TLS 1.2. I turned to Google and found way to many bug reports and issues with how cURL tries to negotiate the transport layer security protocol. There’s a lengthy discussion regarding bug 1170339 concerning cURL’s default behavior on a RedHat/CentOS client and covers the exact scenario I’m experiencing.

I decided to turn my attention to the server configuration, perhaps I could find a quick fix in the server configuration, because a client fix might work for this specific client but would still be present for anyone else on the Internet using the same client software.

Here’s what my ngnix configuration looks like on the server side;

    #SSL
    ssl_certificate     /etc/ssl/certs/bundle-forums.networkinfrastructure.info.sha256.crt;
    ssl_certificate_key /etc/ssl/certs/private.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1.1 TLSv1.2;
    ssl_ciphers ALL:!EXPORT:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
    ssl_prefer_server_ciphers on;

I recall recently removing TLS 1.0 support from the Nginx configuration file so I’m guessing I broke it myself (funny how that’s usually the case).

I went back and did some additional research around best practices for SSL protocols and ciphers and modified my Nginx configuration file with the following settings;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:DHE-RSA-AES128-GCM-S
HA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-R
SA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256
:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:A
ES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EX
PORT:!DES:!MD5:!PSK:!RC4;

I restarted Nginx and then ran a quick test from Qualys SSL Labs to validate the changes and found that I needed to make an additional config tweak to close a Diffie-Hellman issue. With that complete I the server was now scoring an A from the Qualys SSL Lab testing and it was answering TLS 1.0 requests from cURL.

Another 5 minute problem closed 2+ hours later.

Cheers!

]]>
WordPress Themes and Frameworks https://blog.michaelfmcnamara.com/2013/08/wordpress-themes-and-frameworks/ Sun, 11 Aug 2013 19:06:34 +0000 http://blog.michaelfmcnamara.com/?p=3830 It was time for a change… perhaps not a completely fresh look but something a little tidier than what I already had up and running. A few months back I stumbled across a problem with the Mystique theme I had been using for the past 24-36 months. While responding to some comments I discovered that some replies were missing.  The replies and content was in the actual HTML source but was being hidden from display probably from some obsecure DIV element or CSS property. In any case I quickly threw up a copy of Twenty Twelve and hacked together a few quick changes to a child theme to get everything running. That kludge did the trick and restored visibility to all the comments.

Professional

While Twenty Twelve worked, it didn’t look very professional and that was completely my fault. As a budding web developer I hadn’t spent the appropriate amount of time digging into the code and discerning all relationship between all the different HTML elements and the CSS properties.

A few of my stalwart colleagues would probably suggest I let someone else design me a theme. Well I enjoy learning, really I do, and there’s no better way to learn in my opinion other than just picking up the brush and putting some ink up on the canvas. In this case trying to understand the interaction of the HTML elements and the CSS properties.

I’ve been hearing quite a lot about the Genesis Framework for sometime now and was considering have a look at it. However, I realized that I had purchased a developer copy of the Thesis Framework about 2-3 years ago so I decided to spend sometime messing around with Thesis 2.1 before trying yet another framework. What you see today (August 2013) is the result of me making one a few different changes. Thanks to the tutorials on Build Your Own Business Website I was quickly able to grasp the functionality of Thesis.

I won’t comment which is better or worse… because I haven’t tried Genesis yet, I’m still trying to learn and understand all the features behind Thesis. If I ever get a chance to test drive Genesis, then I’ll be sure to add my $0.02 to that conversation. Right now, I’ll probably continue to play with the CSS styling, not really exited about Georgia although I’m not sure I want to take the performance penalty of relying on a Google font.

I’m also curious what impact Thesis will have on the speed of my site and the content generation times, might need to run some benchmarks there just for later comparison. I know Twenty Twelve included some Google fonts which tended to slow things down a little, don’t believe that’s the case with the default Classic Responsive theme in Thesis although I believe you can add those fonts through the API.

Feel free to let me know what you think…

Cheers!

]]>
Humpty Dumpty https://blog.michaelfmcnamara.com/2013/05/humpty-dumpty/ Thu, 09 May 2013 03:29:01 +0000 http://blog.michaelfmcnamara.com/?p=3659 It appears there is an issue with the Mystique theme I’m using on my WordPress blog that is literally “hiding” a large number of the comments and replies to almost every post with more than 10 comments or replies.

I’ve spent a few hours looking into this problem but I’ve been unable to locate the culprit (theme, plugin, update, Nginx, etc). In order to quickly address this problem I’ve decided to switch to the default Twenty Twelve theme that ships with WordPress. While this theme doesn’t have that much bling it doesn’t hide the content from the user or visitor.

I’ll probably need to dig into the HTML and JavaScript to try and figure out what’s going on but right now I don’t have the time or energy to make that happen in short order so this workaround will need to suffice.

Cheers!

]]>
We systematically reject ‘apache@…’ Huh? https://blog.michaelfmcnamara.com/2011/02/we-systematically-reject-apache-huh/ Sat, 12 Feb 2011 17:00:50 +0000 http://blog.michaelfmcnamara.com/?p=1960 I’m continually amazed by how much hands on effort it takes to run even a small blog or community these days. The SPAM bots are continually spewing their useless garbage everywhere, the hackers and script kiddies are continually trying to break down the front door and somewhere in there is the appreciative reader in search of an answer to his/her question or just genuinely interested in the topic at hand.

Every now and then a genuine (system administration) issue or problem surfaces that deserves some time and effort. Since I’m utilizing a virtual private server (VPS) running CentOS 5.5, I’m responsible for administering and managing the server myself. I was an IBM AIX (long live SMIT) and Solaris System Administrator in a previous life so it’s not a big challenge but it can be a time consuming task. The benefits of managing my own server are still significant enough for me and I’ve learned so much about Linux, MySQL, PHP, Perl, etc. that the experience has been well worth the investment in my view.

I recently noticed that I was getting a lot of bounced email messages on the server from a number of readers that had subscribed to posts on my blog. Here’s a quick snippet of the bounced error message;

Action: failed
Status: 5.1.7
Remote-MTA: dns; mx.acme.org
Diagnostic-Code: smtp; 550 5.1.7 ... We
    systematically reject 'apache@...'

It seems that a few domains (example above is acme.org – changed to protect identity) were rejecting any email message with the Return-Path set to apache@hostname. In my case the Return-Path was set to apache@michaelfmcnamara.com although the From address was set to noreply@michaelfmcnamara.com. Unfortunately you can’t set (not to my knowledge anyway) the Return-Path from within WordPress administration portal. You need to manually edit wp-includes/class-phpmailer.php and set the variable $Sender to the same email address you setup within WordPress to use as your From address.

/**
* Sets the Sender email (Return-Path) of the message.  If not empty,
* will be sent via -f to sendmail or as 'MAIL FROM' in smtp mode.
* @var string
*/
var $Sender            = 'noreply@michaelfmcnamara.com';

With that change complete I can see from the server logs (/var/log/maillog) that the Return-Path is now being properly set.

Feb 12 08:29:56 michaelfmcnamara postfix/pickup[9770]: 2B8FD2C3BB: uid=48 from=<noreply@michaelfmcnamara.com>
Feb 12 08:29:56 michaelfmcnamara postfix/cleanup[11068]: 2B8FD2C3BB: message-id=<67fa95dc7fd22d7c6cfd481d506bfd87@blog.michaelfmcnamara.com>
Feb 12 08:29:56 michaelfmcnamara postfix/qmgr[2647]: 2B8FD2C3BB: from=<noreply@michaelfmcnamara.com>, size=1729, nrcpt=1 (queue active)
Feb 12 08:29:56 michaelfmcnamara postfix/local[11070]: 2B8FD2C3BB: to=<whowhatwhen@michaelfmcnamara.com>, relay=local, delay=0.07, delays=0.04/0.01/0/0.02, dsn=2.0.0, status=sent (forwarded as 321C72C37A)
Feb 12 08:29:56 michaelfmcnamara postfix/qmgr[2647]: 2B8FD2C3BB: removed

With that change those domains that were rejecting email from my server are now accepting them again. Just another day where I’ve learned something new.

Cheers!

Update: Thursday February 24, 2011

It seems the upgrade to WordPress 3.1 has overwritten the change I made in the file… had to update the file again!

Update: Friday April 22, 2011

It seems the upgrade to WordPress 3.1.1 has overwritten the change I made in the file again!

]]>
Gravatars – How to setup? https://blog.michaelfmcnamara.com/2009/02/gravatars-how-to-setup/ Sat, 07 Feb 2009 14:30:23 +0000 http://blog.michaelfmcnamara.com/?p=635 gravatar_logoA few folks have asked how to they can setup their avatars so it shows up in the comments. The current WordPress theme I’m using is integrated with Gravatar. You simply need to visit the site and create an account using the same email address that your using on this blog. A vast majority of sites use Gravatar so your avatar will also start showing up in those sites as well.

You can sign-up for an account at this URL; http://en.gravatar.com/site/signup

Cheers!

]]>
GoDaddy Hosting and WordPress https://blog.michaelfmcnamara.com/2008/07/godaddy-hosting-and-wordpress/ Fri, 01 Aug 2008 03:00:27 +0000 http://blog.michaelfmcnamara.com/2008/07/godaddy-hosting-and-wordpress/ wordpressGoDaddy_thumb It’s closing in on two months now since I migrated my content from Blogger over to my new WordPress installation at GoDaddy. I must admit that I’ve enjoyed the entire process, from researching the different hosting providers to actually migrating the content and publishing the site.In short I’d have to say that I’m pleased with GoDaddy. I know there is a lot of “hate” out there directed at GoDaddy but the solution has been on par with my expectation of what a $6.64/month hosting plan should provide. It’s no where near as fast as the servers I have at work or home but it works fine enough, what do you want for less than $10/month? The install was as simple as clicking on the “Install WordPress” icon within the GoDaddy hosting connection control panel. Although I did need to fix up the configuration after the installation since I wanted to use the hostname “blog.michaelfmcnamara.com” as opposed to just “michaelfmcnamara.com”. I should probably let folks know I also used GoDaddy to register five different domain names along with their “Deluxe” hosting plan. I should point out to those that are interested that customers automatically get an “Economy” hosting plan with each purchased domain. I only signed up for a single year and didn’t mind spending the extra dollars to try out the upgraded hosting plan.

With respect to WordPress I have just one word – AWESOME! I’ve spent quite a bit of time sifting through the cascading style sheets of the themes and dissecting the PHP code trying to understand all the ins and outs. There is literally a dizzying array of plugs-in and add-ons out there for WordPress that extend the solution’s functionality ten fold. You may have noticed that I’ve been adding a few of the more mainline plug-ins every week (don’t want to overload the site and/or detract from it’s main purpose – educating the readers).

As a side note this blog was recently reviewed by Blogged and received an 8.3 rating. If your interested or just bored why don’t you wander over and post your own review of this blog.

Cheers!

Update: August 19, 2008
I thought I would just post an update with respect to my experiences with GoDaddy. I’m happy to say that I haven’t yet had any issues or problems. The traffic to this blog continues to grow daily but the site still feels fairly responsive. I’ve also added quite a few different WordPress plug-ins and just can’t say enough good things about WordPress.

Cheers!

]]>
The little web publisher https://blog.michaelfmcnamara.com/2008/07/the-little-web-publisher/ Fri, 11 Jul 2008 02:00:22 +0000 http://blog.michaelfmcnamara.com/?p=136 1160561_45274657I’m starting to feel like a little web publishing company given all the steps I’ve had to go through in order to get myself off Blogger and over to WordPress. Don’t get me wrong I’ve kind of enjoyed the trip as I can now say I know more than I ever thought possible about SEO (Search Engine Optimization) and how Google, Yahoo and Live all index sites. I’ve also gotten a chance to hack up the CSS stylesheet for this blog, changing the colors and fonts trying to make the site easier on the eyes (the original font color was too light and very hard on the eyes after reading for a while). There’s quite a bit more to be done but we’re well on our way. You might notice that I’ve finally managed to get Google to remove all search results for my old Blogger account (michaelfmcnamara.blogspot.com). Hopefully over the next few weeks Google will start to index the content on this site. I really don’t care how high or low I show up on a search result but if people can’t find the stuff I put out there than what’s the point of writing it.

A few folks have asked about GoDaddy…. so far so good. Although I did have a brief problem with the MySQL server which seemed to resolve itself in about 30 minutes. And I must say that I’m liking WordPress more and more each day, especially coupled with Microsoft’s Live Writer. Although I don’t know that I’m completely content with Live Writer, so the search continues.

What would you guys and gals like to hear about? I’m probably going to write a detailed article on how to configure two core ERS 8600 for IST/SMLT providing all the CLI commands. It seems there are a lot of folks out there struggling with that topic.

Cheers!

Update: Saturday 19, 2008

I spent a few hours last night and today exploring the CSS styles and cleaning up a few things. I noticed that a Internet Explorer was hanging on my recent article, Domain Name Server Patch. It seems that I had inadvertently copied the <style> tags from the RedHat HTML document and pasted them into my article. While Firefox (my primary web browser) would display the page without issues, Internet Explorer would download the entire page but stop displaying the page when it hit the <style> tags. I also added a poll feature to the blog… looking for some feedback folks.

Cheers!

]]>
WordPress – Love It or Hate It! https://blog.michaelfmcnamara.com/2008/07/wordpress-love-it-or-hate-it/ https://blog.michaelfmcnamara.com/2008/07/wordpress-love-it-or-hate-it/#comments Wed, 02 Jul 2008 02:00:58 +0000 http://blog.michaelfmcnamara.com/2008/07/wordpress-love-it-or-hate-it/ I’ve made some significant progress tonight in getting the new WordPress installation up and running. There are still wp-2.0-button some issues with the content from the migration that need to be addressed. We did manage to migrate all the comments so I’m very happy about that. This evening I managed to get AdSense setup and running along with Feedburner. I also setup the Google sitemap and added this site in the Google Webmaster Center.

I still need to redirect visitors from Blogger over to this site. That might take some time and testing.

Cheers!

Update: July 2, 2008

I’ve finally added the redirection code from Blogger to this site. It seems to be working but there are a few URLs that are not redirecting properly so I’ll need to “fix” that. I’ve also submitted changes to Google Webmaster tools and changed the robots.txt file to block the search engines from indexing the old site. I’ll just need to wait for the search engines to index the new site.

Update: July 18, 2008

I’ve added a WordPress plugin called WP-Polls that will allow me to conduct some basic polls. I’ve also had to play with the CSS style sheets to try and clean up some formatting issues. It’s a sure way to learn CSS/XML by getting your hands dirty fast. I’m fairly happy with the current design of the site and the quality of the content. I’m still patiently waiting for some of the more popular search engines to catch up with the fact that I’ve moved.

]]>
https://blog.michaelfmcnamara.com/2008/07/wordpress-love-it-or-hate-it/feed/ 1
It’s alive! https://blog.michaelfmcnamara.com/2008/06/its-alive/ https://blog.michaelfmcnamara.com/2008/06/its-alive/#comments Sun, 29 Jun 2008 00:10:49 +0000 http://maddog.mlhs.org/blog/?p=94 1207509_60357288Yes yet another WordPress installation!

Things are coming along… it’s amazing how someone as simple as a blog can grow so quickly. I’ve got all the content in here, although I desperately need to clean up the tags and categories. I like the ability to puslish “pages” and I think I’ll write up a few FAQs for those high volume questions regarding VoIP.

I still need to make the actual cut, insert the redirection code into blogger, fix Feedburner, fix Adsense, submit the sitemap to Google and the other search engines removing the current search index entries for the old blogger site.

I also need to play with the style sheets… the site is just too “grey” right now… and the article text is hard to read, too light against a white background in my opinion.

Cheers!

]]>
https://blog.michaelfmcnamara.com/2008/06/its-alive/feed/ 3
It’s time for an upgrade or two… https://blog.michaelfmcnamara.com/2008/06/its-time-for-an-upgrade-or-two/ Sat, 28 Jun 2008 13:30:00 +0000 http://maddog.mlhs.org/blog/2008/06/its-time-for-an-upgrade-or-two/ I’ve decided to make the jump… to my own domain. I’ll be using GoDaddy for now along with WordPress. I’m currently in the process of migrating the content from Blogger to WordPress. Once I’m happy with the content I’ll setup a redirect from Blogger to my new domain.

If you would like to have a preview try this http://blog.michaelfmcnamara.com.

dell8200 On a different note my trusty Dell 1.4Mhz Pentium 4 8200 (purchased in 2002) appears to be finally on it’s last legs. So I’ll need to either purchase a new machine or build a new machine from scratch. Here are the components I’m thinking of using;

  • Antec Mini P180 Case
  • Antec NeoPower 550 Power Supply
  • ASUS P5Q LGA 775 Intel P45 Motherboard
  • Intel Core 2 Duo Quad Q6600
  • Corsair Dominator 4GB DDR2 1055 (PC2 8500)
  • Seagate Barracuda 7200.11 500GB SATA Hard Disk
  • EVGA 512-P3-N801-AR GeForce 8800GT 512MB Video Card
  • Samsung 20x DVD+-R Burner SATA
  • Microsoft Windows Vista 64-Bit Home Premium

I’ve priced these components on NewEgg and they come in just around $1,000.00. I’m trying to build a machine that isn’t bleeding edge but will last the test of time. I would welcome any thoughts or suggestions.

Cheers!

]]>