Not even a day has passed since Facebook released a new version of their PHP virtual machine called HHVM. If you don’t know HHVM and you’re coding PHP, you’ve probably been living under a rock for the last few years, but the point is, it’s blazing fast. As a matter of fact it’s so fast that at the moment the network latency on my blog is more of an issue than page rendering speed, and I haven’t even started to do any optimization.
What’s also cool about version 3.0.0 is the fact that the old HTTP engine is gone, instead HHVM is now reachable via FastCGI, which makes it an (almost) drop-in replacement for PHP-FPM. It also supports Hack Lang, which is a strongly typed variation of PHP. It should be noted, however, that it’s not 100% PHP compatible, so you might run into some compatibility issues. So, that being said, why don’t we take it for a spin?
If you’ve ever tried to operate a Linux server from Windows, you know what I’m talking about. That beautiful piece of software that’s allows you to connect servers via SSH and is generally just a pain in your proverbial backside: PuTTY.
Before you go down to the comments and unleash your fury of emotions on me and my progenitors, please let me explain. PuTTY is great in how reliable it works. It really is. However, using SSH keys and the whole integration with the Windows world is just a bit clunky. Not to mention the lack of rsync and all those other scripting tools, which is almost a must when working with Linux.
Why use Windows at all you ask? Unlike most sysadmins, I have diverse tasks that sometimes require me to run Windows-only software that makes heavy use of good hardware, for example for video editing. Although I could go to Mac, I am a long time Windows and Linux user, so combining the two would be the way to go for me.
Fortunately the marriage is rather easy.
Cloud storage is dirt cheap nowadays, so why wouldn’t one use it for backup space as well? Or at least for a secondary, off-site backup? Turns out, it’s not that easy. Traditional backup software like Bacula doesn’t yet support Amazon Web Services at all. However, there is a (still beta) challenger called duplicity which does.
Hot news people, I just got an e-mail from Kir Kolyshkin to let me know that they kept their promise and made OpenVZ for Debian Wheezy available. For more details head over to their blog.
SpamAssassin is a frequently used companion for Exim. However, most people set it up in a synchronous manner – spam is checked directly when the SMTP session is opened. While this is certainly a valid technique, it has it’s drawbacks. It leaves the server vulnerable to DOS attacks because the spam filtering is a big resource hog. Having SpamAssassin headers in the mail from the remote servers is also an issue, because the
$h_X-Spam-* variables will start misbehaving suddenly.
For the purpose of this article I am going to assume you are fairly familiar with writing your own Exim configuration and you are also able to set up your SpamAssassin configuration. If you lack either of these abilities, please read up on both topics first.
I’ve been blogging about LXC for quite some time, however I still get a lot of search hits for running OpenVZ on Ubuntu 12.04. I’ve been experimenting with it for some time now, and finally with some help from the OpenVZ maintainers, I managed to get it running. (Kudos to them by the way.)
After filtering spam with Exim, I wanted to add Spamassassin to do content based filtering. While testing the spam filtering, I ran into a bit of an issue: I encountered a spam score factor in every single e-mail:
RDNS_NONE with the score of 1.3.
Doing a quick Google turns up some less-than-useful documentation pages and a lot of people with the same problem, yet no solution. So let’s go hunting…
LXC is the new container virtualization technology of the Linux world. It’s free, it’s fast and it’s open source. Although it’s meant to replace OpenVZ, it’s not quite there yet.
Despite this fact LXC is an immensely useful tool to run various applications in mostly separated environments. As with all new technology, no in-depth documentation exists to date, so bear with me as I endeavor to show you how it is all put together.
Nowadays nginx seems to experience a serious growth in terms of numbers when looking at HTTP server software. Almost all articles regarding PHP-FPM detail the setup with nginx, very few talk about the good old Apache HTTPd. Admittedly, it’s a little harder to set up due to the myriad hacks layered in it’s internal infrastructure. It has one major advantage however: it handles .htaccess files which allows customers to configure their own little corner of the webserver without poking the admin or endangering the server’s stability.
FTP has been around since the early days of the internet. Even though it’s old and cranky a lot of sysadmins, especially those just getting into managing a server, still don’t know anything else.
FTP is outdated, has a lot of problems and sometimes it can be outright dangerous, however it’s wide spread acceptance as an easy way for transferring files makes it hard to switch to alternative protocols. If you have a choice, don’t use it. I’ll show you why.