Finding a live chat solution – and picking cSupport
How I found out
In my company HelpSoft we run various websites either selling products, offering free stuff and we also own a web portal where women can find new friends.
For all of these we wanted a live chat solution. Simplicity, functionality and pricing were three factors in this process. You see Zopim everywhere, so we looked at that. We did try to sign up for a beta, unfortunately they don’t seem to like new customers because the required activation e-mail never arrived.
Sometimes in these cases, the forgotten password button is a help, but that failed too. No e-mail arrived. And ironically, their live chat support were not online. I’m not a man who enjoys waiting a lot, if I want something I want it now, not tomorrow or whenever they feel like responding to a support ticket. So they were trashed and the whole idea of Zopim was out.
I visited one of my favorite web sites, alternativeTo and did a search for Zopim. Some very irrelevant products showed up and so did cSupport.
I had fallen in love with IM integration I read about on Zopim. cSupport did that too, limited to XMPP, but I can live with that since that’s my favorite IM protocol anyway. And a 14-day trial with no credit card required, I mean, what’s the worst that could happen?
Getting started
It was simple, really. I clicked the “Start trial” button and inserted a name, an e-mail address and a username. I picked the “Premium” plan, it seemed to fit our needs fine.
Updated set of must-have apps for your Mac
Back in 2009 I wrote a post about the apps you must have for your Mac. Time changes, new apps are born and I discover new stuff. So this is my new updated list of the Must-Have apps I will recommend you to get if you do not already have them.
1Password
This software is simply awesome! 1Password makes it possible for you to store all your passwords securely and gives you the ability to easily use those logins from your browser. Furthermore you can store credit card information in it, and it will be able to fill that out for you too.
Adium
I still think that Adium is the best instant messating app for your Mac. It supports most IM protocols, and that’s about what there i to day.
BetterZip
For unpacking a wide range of archives, BetterZip really gets the job done easily.
Camtasia
If you make instruction video or any other kind of screencast, Camtasia is without doubt the best application for recording these sessions I have used. Not only is it very easy to start recording, it also offers to record your mic and/or the system audio. Also, editing your work afterwards is very easy.
CoRD
While I think that Windows is a useless OS, CoRD is the best app for remote controlling those computers/servers running Windows via RDP.
Divvy
Being and old GNU/Linux desktop user, there were some things I have missed on OS X in regard to managing application windows. Divvy really makes this task easier. It gives you the ability to arrange your windows very easily and with a click on a keyboard shortcut.
Hands Off!
Control which applications has access to the internet and to write files on your disk. If you’re a security paranoid like me, you will love this.
iStat Menus
Keep an eye on your CPU, Disk, memory and network usage at all times right in your menu bar. Highly customizable and has a nice simple design.
LimeChat
The IRC client to rule them all. The themes are created using standard CSS. It also gives you a small preview window which shows you everything going on in all channels you are joined in. Great if you’re curious.
Keynote
PowerPoint.. seriously..met… the boss! Nuff’ said.
NaviCat (for MySQL)
If you manage MySQL databases and you’d like something a little nicer than phpMyAdmin and you’d like something to use for building and testing queries easily, this is the tool you want.
Transmit
Connect to FTP/SFTP/DAV/S3 either in Transmit or mount them as a drive. This just works beautifully and is extremely easy to use. Panic really did a great job here!
SFTP only chroot users with OpenSSH in Debian
From OpenSSH version 4.9 and up it is now possible to create chrooted SFTP-only users with OpenSSH without the need for any add-ons.
In my example i want all users within the “sftp” group to hit /srv/sftponly. This can be done on userlevel or on group level. I will be using groups.
At first, use your favorite editor to ecit /etc/ssh/sshd_config and find the line starting with “Subsystem sftp” (usually at the bottom) – change it so it looks like this:
Subsystem sftp internal-sftp
Next, we need to add the rule to match users. Add this to your sshd_config at the bottom:
Match Group sftp
PasswordAuthentication yes
ChrootDirectory /srv/sftponly
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
Now add the sftp group:
groupadd sftp
Add our first user:
useradd -d /srv/sftponly -g sftp -s /bin/false <username>
passwd <username>
Now, restart openssh:
/etc/init.d/ssh restart
And you should be all set. Use your favorite SFTP editor to test. Also try logging on via SSH to make sure that the user does not have access to do that.
Troubleshooting
Along your way some problems might occur. I will try to address the most common ones here. At first what you want to do is enable debugging in openssh so you can see in the logs what happens. Edit /etc/ssh/sshd_server – find “LogLevel” and change the setting to “DEBUG” – and restart ssh. The problems below are shown either in these logs or in the output of the “sftp” command from the client. When using the sftp client be sure to add the “-v” flag for verbose output.
Problem: fatal: bad ownership or modes for chroot directory component “/”
Fix: chmod 755 /
Problem: fatal: bad ownership or modes for chroot directory “/srv/sftponly”
Fix: Folders in the path along the way must be owned by root:root and must not be writable by anyone but root. This is because the directory we are going to use will be the root of the new users. In my example the fix would be: chown root:root /srv ; chown root:root /srv/sftponly ; chmod 755 /srv ; chmod 755 /srv/sftponly”
Problem: Everything seems to be OK.. The users just don’t get access.
Fix: Make sure that you don’t have any whitespaces in your sshd_config after the configuration lines. In my case this caused a real pain.
Hit me a comment if you experience anything strange.
Setting UMASK for SFTP users
Add this line to /etc/pam.d/sshd:
session optional pam_umask.so umask=0002
This particular line will make new files/folders user and group writable.
Do you make backup? – If you do, is your backup strategy safe?
I think server backups here.
As a server administrator, there are a lot of concerns and one of the bigger ones is security. I know a whole lot of server administrators, and when I did a Q&A to know about their backups I was astonished to find out that more than 30% of them did not even take backup. I got a lot of responses and there are many ways of handling your backup, but a lot of them are very very wrong and will not do you any good in case of an emergency.
Do you even back up?
If you do not back up your data, what will you do in case of a hardware failure? Sure, you might be running a RAID, but a RAID is no guarantee, a RAID can break and then you will loose the game.
If you do not take backup, what will you do in the event of a fire breaking loose and destroying everything where ever your server is placed? Is your data valuable to you?
How do you back up?
Making backup is good. But how do you save your backup on the remote host? A few common ways of making backup is via FTP/SFTP/rsync. So, now you’re safe, right? If a fire breaks out, water disaster, disks die and so on, you will have your backup. And that’s good.
If your backup is automated, then your client somehow authorized to the backup server. In most of the above mentioned cased that authentication gives you full access to the backup data! Why is that bad? It is because an attacker that has success gaining access to your server, will be able to emulate the authentication of the automated backup and therefore be able to delete both production data AND backup data.
How much is your backup worth now?
Howto: APC UPS and Debian
So, I have a couple of NAS boxes and a laptop as server running at home. It’s all good until thunder appears. There are multiple risks with this. If the lightning strikes it can cause large surges of electricity that will destroy your equipment, if a power loss occurs it can cause the two RAID5 setups to die and it will cause major data loss.
A couple of days ago I bought a UPS and set it up and now I figured I should also set it up. So I did some reading and this is my result served to make it easier for you.
In this guide, this setup is used:
- Computer with GNU/Linux Debian Lenny
- APC Back-UPS 800
The software I use is apcupsd which is in the Debian repository. Start by installing it:
apt-get update && apt-get install -y apcupsd
The next thing is to configure it. I did a whole lot of reading the manual for apcupsd to make sure I did things right. When your UPS is set up, hook the USB cable into your server.
Go to /etc/apcupsd and edit the file apcupsd.conf
My UPS and most of the newer UPS’es form APC uses USB to interface with the server, and that makes it easier for us to talk to it. These are the parameters I have set:
UPSCABLE usb
Define that we use a USB connection to the UPS.
UPSTYPE usb
DEVICE
ONBATTERYDELAY 5
BATTERYLEVEL 10
MINUTES 10
ISCONFIGURED=yes
/etc/init.d/apcupsd start
# apcaccessAPC : 001,044,1076DATE : Thu Nov 25 10:20:32 CET 2010HOSTNAME : natalieRELEASE : 3.14.4VERSION : 3.14.4 (18 May 2008) debianUPSNAME : natalieCABLE : USB CableMODEL : Back-UPS BR 800UPSMODE : Stand AloneSTARTTIME: Wed Nov 24 20:30:05 CET 2010STATUS : ONLINELINEV : 230.0 VoltsLOADPCT : 13.0 Percent Load CapacityBCHARGE : 100.0 PercentTIMELEFT : 53.0 Minutes
Wed Nov 24 20:22:50 CET 2010 Power failure.Wed Nov 24 20:22:56 CET 2010 Running on UPS batteries.Wed Nov 24 20:23:57 CET 2010 Reached run time limit on batteries.Wed Nov 24 20:23:57 CET 2010 Initiating system shutdown!Wed Nov 24 20:23:57 CET 2010 User logins prohibitedWed Nov 24 20:24:16 CET 2010 apcupsd exiting, signal 15Wed Nov 24 20:24:16 CET 2010 apcupsd shutdown succeeded
Make NAS’es shutdown too!
This is what I did:
2) mkdir /etc/apcupsd/keys
4) chmod 600 /etc/apcupsd/keys/id_rsa
ssh -i /etc/apcupsd/keys/id_rsa -l <username_for_nas> <ip_for_nas> ‘ps’
ssh -i /etc/apcupsd/keys/id_rsa -l admin <ip> ‘/sbin/poweroff’
echo “UPS ${2} initiated Shutdown Sequence” | ${WALL}echo “Will now shutdown NAS systems before killing server” | ${WALL}/usr/bin/ssh -l admin -i /etc/apcupsd/keys/id_rsa <NAS1_IP> ‘/sbin/poweroff’
/usr/bin/ssh -l admin -i /etc/apcupsd/keys/id_rsa <NAS2_IP> ‘/sbin/poweroff’${SHUTDOWN} -h now “UPS ${2} initiated shutdown”
