Web Hosting and Server Management Tools

I was asked recently about what some of the tools and services I use for managing web hosting. It’s a great question and things are changing all the time, but I thought I’d pass along a few tools that are currently in my toolbox.

When I first started offering web hosting services for clients I was buying individual web hosting accounts from companies like Cruzio or Hurricane Electric (I’m takling about way back in the 90’s here). Once my number of clients started rising I became a reseller for HostGator and that worked pretty well for me for a number of years. HostGator uses the ubiquitous cPanel server management tools which I and my clients were very familiar with.

Following some problems with HostGator, such as sites running extremely slow, having a few server outages, etc, I decided it was time to start migrating my sites off of HostGator (at least the larger or higher priority clients) to have more control over their management. My initial migration was to Rackspace which is a great company and offered really good virtual servers, load balancing and content delivery networks. I still have some sites hosted with them and use their CDN for storing files especially larger audio and video files.

But with Rackspace, I felt it put maybe just a bit too much responsibility on me as a server administrator. I’ve gotten pretty good at managing Ubuntu servers, securing them, keeping them up-to-date, but I’m not an absolute linux guru, and it does take some work to set up new accounts, configure the sites and domains, and continue monitoring security and whatnot.

While looking for an alternative management tool to cPanel, I did a lot of research and ended up settling on ServerPilot. Basically you set up your hosting server (they support a wide variety such as Amazon Web Services, Rackspace, DigitalOcean, Linode, etc.) and then connect ServerPilot to the new server.

Why I love ServerPilot

What ServerPilot does for me is manages some of the low level system and package updates, it makes it simple to deploy new “apps” or web sites, makes it extremely simple to deploy LetsEncrypt SSL certificates, manage the domain names and databases for those client sites. One of the things it makes SUPER easy is deploying a new WordPress site… check the box saying you want WordPress set up, fill in a few fields (site name, admin user account, etc.) and it’s done, you’re ready to start developing.

ServerPilot also offers the choice of multiple PHP versions (5.4, 5.5, 5.6, 7.0 and 7.1) so I can manage legacy [ancient] sites as well as the needs of the most up-to-date clients. They offer server monitoring and statistics, and one of the things I think ServerPIlot has done amazingly well is their customer support! I love that I can submit a support request and even if it’s not exactly related to their exact platform they’ll usually get me the answer. I mean like, if I’m asking a linux question about how to do something on a ServerPilot managed server, they have still been extremely helpful for me.

My primary choice for servers at this point is DigitalOcean, they have been doing an excellent job for me and at a fair price as well. With Rackspace I was typically choosing servers in Chicago or Texas, not ideal for my West Coast clients. So with DigitalOcean I’ve been able to choose servers in their SFO datacenter and that makes site load times even faster.

One problem I’d experienced before was where my servers were needing to be upgraded in order to get more disk storage space. But maybe I didn’t really need more processor or RAM at that time. In the past I would push large files to the CDN on Rackspace or elsewhere, but with DigitalOcean, at their SFO2 datacenter, I’m able to attach additional Volumes to my server and pay separately for that storage space, without the need of upgrading the entire server and paying those higher monthly fees, very nice!

Let me know if you have any questions about ServerPilot or DigitalOcean, or about other tools I use for web hosting, I’d be glad to point you in the right direction (or at least, point you in a direction even if it’s wrong hehe!)

Corrupt Apple Keychain in OSX 10.11.6 after Security Update 2016-003

Not sure if it was directly related to the installation of Security Update 2016-003, but very soon after that installation I started having trouble with accounts on Apple Mail. All of my email accounts are Google Apps or Google Suite accounts, or just plain Gmail accounts. All of them went offline and entering their passwords would not restore access to them.

When I went to System Preferences –> Internet Accounts and entered a new password, it accepted the password but on the screen where you select which parts of the Google account you want to sync the Done button was greyed out and there was no way to get past this screen:

I went to Keychain Access and tried deleting everything related to Google, then tried deleting all of the keys and continued having trouble. Some online guides were recommending resetting the password for the Login keychain:

That didn’t appear to do the trick for me either. The only thing that would finally work is if I went to Keychain Access –> Preferences –> Reset My Default Keychain:

Then I went to System Preferences –> Internet Accounts and re-entered the passwords for all of my accounts, this time when I got to the Google window where I was stuck before I could select the items I wanted (Mail, Calendars, etc.) and the Done button wasn’t greyed out and I could proceed normally.

I’m guessing the keychain got corrupted in some way, possibly when the security update was applied. I did attempt just restoring the Keychains folder from Time Machine and that did work (I still had to re-enter some passwords) but I didn’t really want to revert to and older backup and kept working on various solution attempts.

My other thoughts for the possible cause were incompatibilities with GPG Mail with this version of mail after the security update, but I was able to re-activate that mailbundle and it has no problems running.

I had also attempted the solutions from this thread: Can’t login with Google using Internet Accounts

But I needed to do a larger reset than just deleting the Google keychain items.

Many of the threads I was reading kept referring to Apple’s Keychain First Aid but that functionality was removed with the 10.11.2 update and it appears there is no current alternate tool for it. Some mentioned that running Disk Utility would fix keychain problems and I tried it but had no luck getting it to update anything. I don’t think Disk Utility really verifies or repairs broken keychains.

More information on that topic can be found here:

Were you having the same problem with your Google accounts in Apple Mail? Did any of these solutions help you or did you find other solutions that worked for you? Please let me know and share the info with anyone else who stumbles across this issue.

Configuring Soundflower for use with El Capitan for Multiple Output Devices

Prior to upgrading to El Capitan I had my iMac set up so that I could send audio to the built in speakers at the same time as sending audio through a USB sound card dongle to my sub-woofer.

After upgrading it still had some of the SoundFlower application installed, but my multi-speaker configuration was no longer working. With some searching I found that Rogue Amoeba has given up development of Soundflower and is now directing users to this GitHub project as maintained by Matt Ingalls (thanks Matt!)

So the key to this is, you must uninstall the old (unsigned) version prior to installing the new one. And you must reboot after running the uninstaller or else it won’t work. Yeah, we’re always told we should reboot, and we never do, and things usually work fine. Well, not in this case. REBOOT! :-)

So I installed the most recent version of Soundflower from the Releases page. In my case it was Soundflower-2.0b2.dmg but you should see if there are any updates:

https://github.com/mattingalls/Soundflower/releases

Here is the quick version of getting the multi-device output to work, or at least how mine is set up:

  • Download the new version of Soundflower
  • Run the uninstaller that was in the package
  • Reboot the computer (really)
  • Run the installer on the newest version available (2.0b2 or above?)
  • Go to System Preferences –> Sound –> Output and select Soundflower (2ch) as the output device.
  • Launch /Applications/Utilities/Audio Midi Setup
  • Select Soundflower (2ch) in the left column and right click, then enable it to Use this device for sound output and Play alerts and sound effects through this device
  • Click the + in the lower left corner and create a new Multi-Output Device
  • Enable Built-in Output and your second audio device, in my case USB PnP Sound Device. Here is a screenshot:

Audio MIDI Setup - Multi-Output DeviceBut this was the point I realized I could not adjust the volume with my keyboards volume keys and if I remember right, I wasn’t even hearing anything. Of course from my old experiences this is where I would jump to Soundflowerbed and check my settings, verify my inputs and outputs, etc.  But where is Soundflowerbed?!  It’s gone! Usually it was in /Applications/Soundflower/Soundflowerbed but it was nowhere to  be found.

It turns out you can run the old copy of Soundflowerbed from the old installer! Just be careful to only install Soundflowerbed and NOT the old copy of Soundflower which we know won’t work.  Here were my steps:

  • Download a copy of an old version of Soundflower, the most recent binary I could easily find was Soundflower-1.6.6b.dmg from this Soundflower Google Projects Hosting site.
  • Open the Disk Image you downloaded
  • Run the installer labelled Soundflower.pkg
  • Accept the various pop-ups about unsigned apps, Readme’s, License, etc. But stop and look at Installation type!
  • Once you get to Installation Type instead of pushing Install push Customize
  • In the Customize section uncheck Soundflower leaving only Soundflowerbed checked. Complete the installation.
  • Now you have Soundflowerbed installed just like old times!

Soundflower-1.6.6-install-soundflowerbed-window

My final setup summary:

  • System Preferences –> Sound –> Output: Select Soundflower (2ch) as the output device.
  • In Audio Midi Setup: Select Soundflower (2ch) and enable it to Use this device for sound output and Play alerts and sound effects through this device
  • In Audio Midi Setup: Select Multi-Output Device and select the check boxes next to Built-In Output and USB PnP Sound Device
  • In Audio Midi Setup: Under Built-in Output in the Output tab, raise the volumes to Maximum values. Under the USB PnP Sound Device in the Output tab, adjust the subwoofer volume level to your desired level.
  • In Soundflowerbed under Soundflower (2ch) select Multi-Output Device
  • With that setup I can control the audio via my keyboard volume controls, and I can fine tune balance between my two output devices via the Audio Midi Setup Multi-Output Device panel.

 

Connecting the Kenwood TH-D7 to MacMemories Manager in Yosemite

It had been enough years since I’d used my Kenwood TH-D7 that I couldn’t remember how to get it to connect to my MacBookPro.  Mostly for my own reference, and possibly to assist others, I’ll post my quick notes here.

  • I used my Keyspan USA-19HS USB to Serial Adapter along with a Kenwood PG-4W programming cable.
  • Of course I needed to install some drivers to get the PL2303 Serial Driver to work in Mac OS X Yosemite, and the original project I used to use is still there and had the source for free, but you had to pay for the download. I did eventually find a download link to the Keyspan USA-19HS driver.
  • Next I just plugged in the Keyspan device, plug the radio in to it, and turn the radio on.
  • Launch MacMemoriesManager and selected the Radio Kenwood TH-D7 and for Port selected USA19H143P1.1. It immediately connected and I could download all of the frequencies from the radio.

Awesome :-)

Arduino and Accelerometer: Testing Resumes

Sure, it’s been like two years since I posted anything, but I did actually pull out my Arduino and started refreshing myself on how everything worked. It had been so long I had to reinstall the Arduino software and the serial driver for the old Arduino Diecimila.

arduino_accel_05I started back up on one of the last projects I had worked on. Having lived in California most of my life, earthquakes were always on my mind, so the idea of having an early warning network in the state was always something of interested to me.  Similar to the promises of an inexpensive flying car, public space travel and hoverboards, it seems like one of those things that will not happen in the near term.

Funny thing is, people manually typing “Earthquake, OMG!” in to Twitter can actually travel fast enough to give others warning, so why not build something automatic?  Back in 1989 after the Loma Prieta earthquake when I was still regularly using Bulletin Board Systems (BBS’s, like Deeptht, Gorn and The Omni) I had the F12 function key on my computer programmed with “Earthquake!” to notify those I was chatting with that another aftershock was on it’s way to them. I believe it was 20-30 seconds between Santa Cruz and San Francisco.

All that to say, now that I have moved to Oregon at first glance I was relieved… no more worries about earthquakes, only these volcanoes that surround me and they don’t move all that often.  Then I learned about the Cascadia subduction zone and it’s very real potential of magnitude 9+ Megathrust earthquakes. Now I’m reading a great book on the topic, Cascadia’s Fault, and learning more about it.

And that of course has all brought back my interest of receiving an early warning when that fault actually lets loose. Not counting capture/sensor and transmitting/receiving delays, there should be somewhere between 30-40 seconds warning before the shaking actually arrives here.

I had already started working with an Arduino with a dual-axis accelerometer so today I started working on it again.  I had seen a GitHub project from someone in Seattle, the P-Wave Detector that uses the Quake Alarm detector tied with an Arduino to send out text messages to anyone who subscribed.  Even with one detector in Seattle (if it’s even still online in the three years since he posted it) it would give me approximately 155 seconds of warning, and of course the shaking would be greatly reduced due to the distance traveled.

So, I’ll keep working on this little project, and if I build something that I think would actually work well enough to deploy I’ll contact my friends along the Oregon/Washington coast (Brookings, Coos Bay, Eugene, Portland, Vancouver and Seattle) and place sensors there for testing.

Maybe in a few years I’ll step off of my Hoverboard and write another post on how the project is coming along ;-)

ARRL Releases Video: “The DIY Magic of Amateur Radio in HD”

Today the Amateur Radio Relay League (ARRL) released a video who’s aim appears to be reaching out to the hardware hacker and DIY community to let them know about how closely that fits in with what a lot of amateur radio operators do. They pulled together quite a few of the interesting people and projects, gave a pretty broad view of all of the options available. If you haven’t seen it yet, check it out below!

I’d say it’s a good first step for them… production quality could be greatly improved, but I’m still glad to see the outreach and hope it makes it to a large audience!

Apple Lion File Sorting Issue… resolved!

For a while now when opening a Finder window in column mode I was seeing my files listed in reverse alphabetical order.  I would check and it was set to sort by name, I would change it to date or kind, then back to name, and it didn’t resolve the issue.

I was aware that if you held down option when clicking on the View menu the “Arrange By” item would change to a “Sort By” option, but when I did that all of the options were greyed out so I was unable to select any of them.

The solution is to go to the View menu and choose Arrange By –> None. Once it is set to none, go back to view, click Option, then choose Sort By –> Name and everything was now in proper alphabetical order.

Using Tags with the Apple Address Book

One thing I was always frustrated with is that there was no built in method to “tag” address book entries with the Apple Address Book.  My solution was usually just to add a line in the “Notes” section with the tags I wanted to add, such as:

tags: car, automotive

Then I could use the search feature in Address Book to search for “car” and it would show up… right?  Well, it did show up indeed, along with 87 other entries in my case. Why 87 and not just the one?

Entries that contained words or names like Carrie, cartoon or San Carlos all show up as well.

My first thought is use Twitter style hash tags, so I would have used #car and #automotive instead. Would have been an excellent solution if Apple’s Address book didn’t completely ignore the hash (#) symbol when searching!  A quick test shows it ignores almost all punctuation so that theory was out.

Then tonight I discovered Faruk Ate? who had a blog post on this exact topic. He discovered that the hyphen (-) is searched properly in Address Book, so you simply add a hyphen as a prefix to each tag will allow you to search for it directly. So the tags would be entered as:

tags: -car, -automotive

While I was updating my tags I decided it was also time to separate my tags from the Notes field. There are pro’s and con’s to this: If I leave the tags in the Notes field I don’t need to enter Edit mode in order to make changes. If I put it in any other field I’ll need to click “Edit” then make the changes and exit edit mode. Not a big deal, so if I was going to use a different field, which one should I choose?

In Address Book there is a section for Related Names, usually the default choices on mine are labelled “friend” and “assistant.” Instead I name one of those with a custom name of “tags” and then enter my list of tags in that field with the hyphen as a prefix. Here is an example:

You can add that “tags” field to the default Address Book Template so all new cards will include it by default.

This method also allows me to create Smart Groups of everyone that contained a specific tag. The “Related Names” field isn’t included in the list of available fields to search, but if you just search for tags in the “Card” it will pick it up. Side note: When editing the Smart Group I have to click off of it and then back on to it for it to update the list of cards within the group.

This method also allows for searching multiple tags at once. Just always remember to enter your tags with a hyphen as the first letter and separate multiple tags with spaces.

I like this method because if I search for “delete” I will see every post that contains that word, including this one that was tagged “-delete” … but if I search for the tag “-delete” I will see ONLY the entries that have the “-delete” tag.

FTP Error: 200 TYPE is now ASCII … Solution!

As usual, this blog is more a notepad of sorts to remind me of things if I need them again in the future. And it’s always a good thing to post them publicly in case others experience the same problem.

I use Cyberduck on the Mac for FTP and love it, but when I added a new FTP server to it on one of my computers today, and attempted to log in, I kept receiving the following error:

FTP Error: 200 TYPE is now ASCII

CyberDuck Error: FTP Error: 200 TYPE is now ASCII

I searched around for a while and never did find the solution for the cause, tried all kinds of things (Switching from Default to Active or Passive FTP mode, trying different encodings, deleting my bookmark and rebuilding it, etc.) and nothing worked.

Then I finally figured out the problem!  I had copied and pasted the password out of my password file, and when I selected it I accidentally included the line break at the end of the password.  So what was being entered in the password field was the password plus a line break.

Simply re-entering the password without the extra line break fixed the problem. In order to have Cyberduck ask me for the password so I could correct the error, I simply had to load up “Keychain Access” and delete the stored copy of the password. Clicked my bookmark again, entered the correct password, and I was in!

Hope that helps you if you had the same problem!