WordPress Permalinks via Reverse Proxy

I’ve been having some problems with WordPress and Reverse Proxy, but it seems like most problems are quite easy to fix (check Howto/Wordpress if you’re interested). There is however one problem which I can’t seem to figure out. When enabling Permalinks in WordPress, several things seems to go wrong.

First, the .htaccess file is created with wrong URLs and wrong permissions, but after fixing that, it still doesn’t work. It seems like WordPress can’t interpret the URLs when changing the .htaccess file or something. I’ve now started a topic on WordPress support forums, I hope I get some replies there. This setup seems to be quite rare however, but there are a couple of other users out there atleast. Hopefully someone else had the same problem and created a workaround until WordPress devs get around to fixing this 🙂

WordPress Support: Reverse Proxy and Permalinks

Posted in Uncategorized | Leave a comment

CPU Time Limits

Blinkenshell has for a long time employed CPU time limits via ulimit. The limit is currently set so that no process can use more than 60 minutes of CPU time, or it will be killed. This is ofcourse to stop rampant processes in the system (a process is killed after using 100% for one hour), and it has worked pretty well for some time. There is however one problem with this solution, namely long-running processes like irssi etc. These processes doesn’t use much CPU, but over weeks or months it amounts up to something significant.

Since upgrading to a new kernel, the measurements of CPU times seems to have changed, and some processes in the system (top 3 is all weechat-curses for some reason…) are already very close to the 60 min limit and will be killed off soon. I’ve decided to try a new approach to this problem now, where I do not set any limit of CPU time at all. Instead there is a program which monitors the runnnig processes and the CPU time they’ve used during the last 10 minutes, and calculates % CPU usage during that time period. If a process seems to use very much CPU during this time, the process will be reniced to a lower priority. The idea is if this heavy CPU use goes on for a long enough time, the process will be killed. This will however not interfere with long-running processes since they don’t have a heavy CPU load during the measurement period of 10 minutes.

The ulimits are set when you log in, so any sessions you have from before I changed this will still have the old limit, and all processes started from these sessions will have the same old limit. This includes screen sessions! You will have to log out and then back in, and restart any screens, to get the new limit applied. You can check your current CPU limit (in seconds) with this command: ulimit -t You don’t have to do this ofcourse, but if your irssi is killed of it might be a good idea so it doesn’t happen again.

Also, the program handling this is still not very well tested and might need some work before everything works as intended. It will currently not kill any processes at all, just renice.

Posted in linux, shell | Leave a comment

New SSL Certificate for HTTPS

I’ve updated the SSL certificate for Blinkenshell today. Before, HTTPS was only available for webmail and phpmyadmin, but now the main wiki is also available via HTTPS. I recommend using the HTTPS version of the site if you want to log in so your password is not sent in cleartext over the Internet.

The certificate is signed by CACert as before. If you have the CACert root installed, you should be able to browse the site without any warnings about the new certificate. If you do not have CACert’s root certificate, you will get a warning that the CA is unknown or something similar. You can choose to trust the individual certificate, but I recommend installing CACert’s root certificate instead. It’s very easy: Howto: Import CACert root certificate

If you havn’t noticed already, I’ve also updated the wiki software and applied a new theme earlier this week. Also, the wiki is now only accepting signup account logins!

Posted in Uncategorized | 1 Comment

Kernel upgrade

The kernel upgrade earlier today worked out pretty well, better than expected I have to say. So far things seems to be working very well. Bitlbeed now listens on 192.168.1.12 (titan) instead of 127.0.0.1 which was not really planned, and libfish (encryption module for irssi) now segfaults, but other than that everything seems to be as usual.

While doing maintanance I took the opportunity to grow the filesystems for /home and /var a bit, from 5 and 2 GiB respectively to 10 GiB each. LVM is pretty neat 🙂

We now have support for IPv6 on Titan, you can both SSH to Titan via IPv6 (2001:470:d258:1::12) and connect to IPv6 servers from Titan. I’m also working on getting the IRCd to be able to listen on IPv6, but no luck there yet. Both http and mail has been available via IPv6 since a while via ipv6.blinkenshell.org. We don’t have native IPv6 though, it’s all sent through a tunnel provided by Hurricane Electric.

Posted in downtime, internet, linux, software | Leave a comment

Kernel upgrade (and autostart-setup)

I’m going to make an attempt at upgrading the kernel on the server from 2.6.22 to 2.6.27 tomorrow, 8 January 2009. I’m going to start at about 12 CET. Hopefully it won’t take too long, but I suspect there might be some problems since it’s a big upgrade (not only the kernel version, but of the vserver patches). I don’t think it will take more than a couple of hours however, so everything should be back at maybe 15 CET at the latest (if nothing goes horribly wrong).

If things does work out as planned, we will have better IPv6 support after this is completed. Currently the only thing having IPv6 support is the main website, but nothing on Titan.

I also created a little helper script to set up autostart. If you run this script and specify irssi for example, the system will always start a screened irssi for your user when it boots up. This way reboots will go much smoother for you, especially if you have set up irssi properly with autoconnect and autojoin etc. You can run the script by executing: autostart-setup in your shell.

Posted in Uncategorized | Leave a comment

Reboot 2008-08-17

I had to reboot the server this morning. One apache process got stuck in “uninterruptible sleep”, which is pretty bad because it’s impossible to kill it without rebooting. This has happened once before, so I’m starting to think we have some odd bug in the kernel that shows up after a month or so of uptime. I recompiled the kernel with the old SLAB allocator again, instead of SLUB (which is maybe not perfectly stable in 2.6.22).

Edit 2008-09-19: It seems there was a bug in Grsec/PaX that could cause this problem.

The downtime was a bit longer than expected because since I couldn’t kill the process, it was impossible to shut down the system properly. Then I wanted to make sure the filesystem was ok before I started up everything again.

I do not think this problem is related to some connectivity issues that have been reported lately. They are more likely related to some problem at my ISP, maybe rebooting some router or similar (the downtime is usually 2-3 min or something, and it’s happened a couple of times during the last few weeks).

Posted in Uncategorized | Leave a comment

2 year anniversary!

Today marks the two year anniversary of the domain Blinkenshell.org, which was registered on the 10th of August 2006. I don’t have an exact date for when the signups opened, but this date is a good marker in my opinion 🙂

I want to thank everyone who has stuck with us, and helped me build this awesome community! 😀

Not very many free shell providers make it this long, many providers disappear after crackers attacking the service, DoS attacks or general abuse from the members. Blinkenshell has done very well, there has been some issues and some downtime, but we havn’t given up!

Yay for us, and thank you again everyone for being part of this! Go Blinkenshell! \o/

Posted in Uncategorized | Leave a comment

#blinkenshell

Our IRC channel #blinkenshell reached 100+ nicks yesterday, and blinkenbot reports having seen more than 1900 different nicknames since it started recording statistics 336 days ago. To help prevent any issues with abuse/spam a few changes has been introduced.

Firstly, we now have three new helpops in the channel. They will help keeping things in order, and they can kick and ban people who misbehave. Please welcome the new helpops: djweezy, billnye and InDigo176!

Sencondly, blinkenbot has a new feature which lets blinkenshell members vote to kick people in the channel. You can use the command !votekick <nickname> to vote to kick someone. Three votes are required. The command only works if you are connecting from the shell server titan. Do not abuse this command, abuse will get you kick+banned from the channel!

I believe this will help stopping abuse and/or spam as the channel grows further, it’s very important that it remains a place where you can talk and have fun without being interrputed by spammers etc. Happy hacking! 🙂

Posted in Uncategorized | Leave a comment