<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gustavo on Information Technology &#187; Debian</title>
	<atom:link href="http://gustavonarea.net/blog/tags/debian/feed/" rel="self" type="application/rss+xml" />
	<link>http://gustavonarea.net</link>
	<description>Just a social techie</description>
	<lastBuildDate>Tue, 20 Jul 2010 20:47:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>So it was not a bad idea to switch to Ubuntu</title>
		<link>http://gustavonarea.net/blog/posts/so-it-was-not-a-bad-idea-to-switch-to-ubuntu/</link>
		<comments>http://gustavonarea.net/blog/posts/so-it-was-not-a-bad-idea-to-switch-to-ubuntu/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 18:40:13 +0000</pubDate>
		<dc:creator>Gustavo</dc:creator>
				<category><![CDATA[GNU/Linux Matters]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Wikimedia]]></category>
		<category><![CDATA[wikipedia]]></category>

		<guid isPermaLink="false">http://gustavonarea.net/?p=138</guid>
		<description><![CDATA[I remember that when I announced that GLM&#8217;s servers were being switched to Ubuntu, I got comments on that post and some emails asking me to reconsider this for reasons I didn&#8217;t agree with.
Some months later, I read that Wikimedia is switching their ~400 servers to Ubuntu. Beyond this being a surprise to me, I [...]]]></description>
			<content:encoded><![CDATA[<p>I remember that <a title="So long Debian servers, welcome Ubuntu" href="/blog/posts/so-long-debian-servers-welcome-ubuntu/">when I announced that GLM&#8217;s servers were being switched to Ubuntu</a>, I got comments on that post and some emails asking me to reconsider this for reasons I didn&#8217;t agree with.</p>
<p>Some months later, I read that <a title="Wikimedia is moving 400 servers to Ubuntu Linux from a mix of Red Hat and Fedora" href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;articleId=9116787&amp;intsrc=news_ts_head">Wikimedia is switching their ~400 servers to Ubuntu</a>. Beyond this being a surprise to me, I applaud this wise move, with which they already feel happy.</p>
<p><strong>Having Ubuntu on the server has been a pleasant experience</strong>, so I&#8217;d encourage those sysadmins who (want to) have an offline life to switch to Ubuntu!</p>
]]></content:encoded>
			<wfw:commentRss>http://gustavonarea.net/blog/posts/so-it-was-not-a-bad-idea-to-switch-to-ubuntu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>So long Debian servers, welcome Ubuntu</title>
		<link>http://gustavonarea.net/blog/posts/so-long-debian-servers-welcome-ubuntu/</link>
		<comments>http://gustavonarea.net/blog/posts/so-long-debian-servers-welcome-ubuntu/#comments</comments>
		<pubDate>Wed, 28 May 2008 14:25:38 +0000</pubDate>
		<dc:creator>Gustavo</dc:creator>
				<category><![CDATA[GNU/Linux Matters]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://gustavonarea.net/?p=50</guid>
		<description><![CDATA[I&#8217;ve been assessing the possibility of switching GNU/Linux Matters&#8216; servers (which are all powered by Debian) to Ubuntu, and I have finally decided to go for it.
They were running Debian for three reasons:

Stability, something Debian is well-known for.
A large user base, which brings two big advantages: A huge amount of packaged applications and a good [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been assessing the possibility of switching <a title="GNU/Linux Matters!" href="http://www.gnulinuxmatters.org/">GNU/Linux Matters</a>&#8216; servers (which are all powered by Debian) to Ubuntu, and I have finally decided to go for it.</p>
<p>They were running Debian for three reasons:</p>
<ol>
<li>Stability, something Debian is well-known for.</li>
<li>A large user base, which brings two big advantages: A huge amount of packaged applications and a good community support.</li>
<li>I&#8217;m only familiar with Debian-based distros <img src='http://gustavonarea.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ol>
<p>And they weren&#8217;t running Ubuntu because, to be honest, I didn&#8217;t find Ubuntu reliable enough to power a server, mainly because of the cutting-edge applications it includes by default; it was just great for my personal computer. I guess this is mostly due to I&#8217;ve been using Kubuntu since Breeze, and it was a highly unreliable system in the early versions &#8211; IMHO things begun to take shape in Feisty and now Hardy just rocks.</p>
<p>I&#8217;ve started to switch our servers to Ubuntu because I think it&#8217;s the best choice, <em>at least for us</em>, because we still have the three advantages of using Debian (it&#8217;s based on it after all), plus:</p>
<ol>
<li>Packaged applications are up-to-date, so I don&#8217;t have to compile and maintain software which have a old version in Debian repositories (we often need the latest stable version). Yes, I can use Debian Testing, but this is not the only drawback.</li>
<li><a href="https://help.ubuntu.com/8.04/serverguide/C/firewall.html">Uncomplicated Firewall</a>. An extremely easy-to-setup, basic firewall. It&#8217;s just a front-end to <em>iptables-restore</em>, so you can still add/adjust any rule according to your needs.</li>
<li><strong>Many</strong> other tiny (and not so tiny) <a href="http://www.ubuntu.com/products/whatisubuntu/serveredition">benefits</a> that together make a big difference.</li>
</ol>
<p>The migration should take some months because it&#8217;s not a top-priority at present. There are <a href="https://tracker.gnulinuxmatters.org/report/3">many more things</a> that should be done first.</p>
<p>Put simply, it&#8217;s not that Ubuntu is much better than Debian on the server, it just happens to make your job easier if you&#8217;re the administrator.</p>
]]></content:encoded>
			<wfw:commentRss>http://gustavonarea.net/blog/posts/so-long-debian-servers-welcome-ubuntu/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Installing Pootle on Debian Etch, The Easiest Way</title>
		<link>http://gustavonarea.net/blog/posts/installing-pootle-on-debian-etch-the-easiest-way/</link>
		<comments>http://gustavonarea.net/blog/posts/installing-pootle-on-debian-etch-the-easiest-way/#comments</comments>
		<pubDate>Wed, 21 May 2008 15:34:52 +0000</pubDate>
		<dc:creator>Gustavo</dc:creator>
				<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Internationalization]]></category>
		<category><![CDATA[Pootle]]></category>

		<guid isPermaLink="false">http://gustavonarea.net/?p=41</guid>
		<description><![CDATA[Pootle is a user-friendly web application for online translation of contents. It&#8217;s used by organizations like Creative Commons, OpenOffice.org and GNU/Linux Matters.
I&#8217;m going to show you how to install it the easiest way, from my experience with the GLM Translation Service under Debian 4.0 (this guide might also work under Ubuntu, though). I&#8217;ll use the [...]]]></description>
			<content:encoded><![CDATA[<p><a title="A user-friendly web portal that makes the translation process so much simpler" href="http://translate.sourceforge.net/wiki/pootle/index">Pootle</a> is a user-friendly web application for online translation of contents. It&#8217;s used by organizations like <a href="http://translate.creativecommons.org/">Creative Commons</a>, <a href="http://www.sunvirtuallab.com:32300/">OpenOffice.org</a> and <a title="GNU/Linux Matters!" href="http://translate.gnulinuxmatters.org/">GNU/Linux Matters</a>.</p>
<p>I&#8217;m going to show you how to install it the easiest way, from my experience with the <a title="GNU/Linux Matters!" href="http://translate.gnulinuxmatters.org/">GLM Translation Service</a> under Debian 4.0 (this guide might also work under Ubuntu, though). I&#8217;ll use the <a title="Sudo Configuration in Debian" href="http://www.debianhelp.co.uk/sudo.htm">sudo</a> utility, so I assume that you&#8217;ve already installed and configured sudo accordingly for your user.</p>
<h2>Installing dependencies</h2>
<p>Some of the Pootle&#8217;s dependencies are available in Debian repositories, so we may install them by running:<br />
<code>sudo aptitude install python-dev python-pysqlite2 python-celementtree subversion bzip2 g++ curl</code></p>
<p>We&#8217;re now going to install the other software packages required by Pootle. First, select the directory where you want to download and compile your software, for example:<br />
<code>cd /usr/src</code></p>
<p>To get the source code of the packages and extract them, run the following commands:<br />
<code>curl http://www.kid-templating.org/dist/0.9.6/kid-0.9.6.tar.gz | tar xzv<br />
curl http://dfn.dl.sourceforge.net/sourceforge/translate/translate-toolkit-1.1.1.tar.bz2 | tar xjv<br />
curl http://garr.dl.sourceforge.net/sourceforge/translate/Pootle-1.1.0.tar.bz2 | tar xjv<br />
curl http://jtoolkit.sourceforge.net/snapshots/jToolkit-0.7.8/jToolkit-0.7.8.tar.gz | tar xzv<br />
</code></p>
<p>Installing the applications:<br />
<code>sudo python translate-toolkit-1.1.1/setup.py install<br />
sudo python kid-0.9.6/setup.py install<br />
sudo Pootle-1.1.0/pootlesetup.py install<br />
sudo jToolkit-0.7.8/jToolkitSetup.py install<br />
</code></p>
<h3>Do not install PyLucene</h3>
<p>Pootle is supposed to work better with PyLucene, but if you (like me) hate headaches, you won&#8217;t install PyLucene on Debian Etch. If you try to install it, you&#8217;d get this error:<br />
<code>install: cannot stat `/usr/lib/security/libgcj.security': No such file or directory<br />
make: *** [install] Error 1</code></p>
<p>There&#8217;s nothing you could install that would create that file; don&#8217;t you even try to create it as an empty file: You&#8217;d be able to install PyLucene, but Pootle won&#8217;t work and you&#8217;d get this error when you&#8217;ll try to run it:<br />
<code>GC Warning: Repeated allocation of very large block (appr. size 65536):<br />
May lead to memory leak and poor performance.</code></p>
<p>If it&#8217;s too late, and you&#8217;ve already installed PyLucene with <em>libgcj.security</em> as an empty file (as suggested in some mailing-lists), you may fix it by running the following commands:<br />
<code>sudo mv /usr/lib/python2.4/site-packages/_PyLucene.so /usr/lib/python2.4/site-packages/_PyLucene.so.old<br />
sudo mv /usr/lib/python2.4/site-packages/PyLucene.py /usr/lib/python2.4/site-packages/PyLucene.py.old<br />
sudo mv /usr/lib/python2.4/site-packages/PyLucene.pyc /usr/lib/python2.4/site-packages/PyLucene.pyc.old</code></p>
<h3>Don&#8217;t you have a mail server?</h3>
<p>If your mail server is not in the same host as Pootle, you&#8217;ll need to install one. Just run the command below to install <a href="http://en.wikipedia.org/wiki/Postfix_%28software%29">Postfix</a> and then select &#8220;Internet website&#8221; when asked about what you&#8217;ll use postfix for:<br />
<code>sudo apt-get install postfix</code></p>
<h2>Configuring Pootle</h2>
<p>To make it easy for you to configure and play with Pootle, I suggest you create softlinks to Pootle&#8217;s configuration files in a folder like <em>/etc/pootle</em>:<br />
<code>sudo mkdir /etc/pootle<br />
sudo ln /usr/lib/python2.4/site-packages/Pootle/pootle.prefs -s /etc/pootle/pootle.conf<br />
sudo ln /usr/lib/python2.4/site-packages/Pootle/users.prefs -s /etc/pootle/users.conf<br />
sudo ln /usr/lib/python2.4/site-packages/Pootle/html -s /etc/pootle/html<br />
sudo ln /usr/lib/python2.4/site-packages/Pootle/templates -s /etc/pootle/templates</code></p>
<p>This way, any file you might ever need to edit will be in /etc/pootle.</p>
<p>Now let&#8217;s edit the main configuration file in Pootle: <code>sudo nano /etc/pootle/pootle.conf</code></p>
<p>It&#8217;s well-documented, so I won&#8217;t talk a lot about it. I just suggest you only set the following parameters accordingly:</p>
<ul>
<li><em>description</em>: Describe your website powered by Pootle, with a text aimed at (potential) translators.</li>
<li><em>fromaddress</em>.</li>
<li><em>supportaddress</em>: The email address for translators to make questions. This might be a mailing list.</li>
<li><em>defaultrights</em>: I suggest you set it to <code>defaultrights = "view, suggest, archive, pocompile, translate, commit"</code></li>
<li><em>podirectory</em>: It&#8217;s the path to your translation files. For this HOWTO I&#8217;ll use <em>/var/translations</em>.</li>
</ul>
<h2>Your <em>pootle</em> user</h2>
<p>I suggest you create a user for running <em>pootle</em>:<br />
<code>sudo adduser --disabled-password --disabled-login pootle</code></p>
<h2>Setting up service scripts for Pootle</h2>
<p>Create the file <em>/etc/init.d/pootle</em> as root with the following contents:<br />
<code>#!/bin/bash<br />
# /etc/init.d/pootle: start and stop the Pootle Server<br />
# Pootle runs as user -pootle- via sudo<br />
# This script is based on the one published here http://translate.sourceforge.net/wiki/pootle/service_scripts<br />
PREFIX=/usr/local/pootle<br />
test -x /usr/bin/PootleServer || exit 0<br />
. /lib/lsb/init-functions<br />
case "$1" in<br />
start)<br />
log_begin_msg "Starting Pootle Server..."<br />
/usr/bin/sudo -u pootle $PREFIX/start_pootle &amp;<br />
log_end_msg 0<br />
;;<br />
stop)<br />
log_begin_msg "Stopping Pootle Server..."<br />
$PREFIX/stop_pootle &gt;/dev/null 2&gt;&amp;1<br />
log_end_msg 0<br />
;;<br />
restart)<br />
log_begin_msg "Stopping Pootle Server..."<br />
$PREFIX/stop_pootle &gt;/dev/null 2&gt;&amp;1<br />
log_end_msg 0<br />
log_begin_msg "Starting Pootle Server..."<br />
sudo -u pootle $PREFIX/start_pootle &amp;<br />
log_end_msg 0<br />
;;<br />
status)<br />
$PREFIX/status_pootle<br />
;;<br />
*)<br />
log_success_msg "Usage: /etc/init.d/pootle {start|stop|restart|status}"<br />
exit 1<br />
esac<br />
exit 0</code></p>
<p>Now let&#8217;s create, as root, the auxiliary scripts required by the script above:</p>
<h3>/usr/local/pootle/start_pootle</h3>
<p><code>#!/bin/bash<br />
# $PREFIX/start_pootle<br />
# Start script in port 8080, separates errors from normal logs<br />
# based on a script published here: http://translate.sourceforge.net/wiki/pootle/service_scripts<br />
export HOME="/home/pootle"<br />
/usr/bin/PootleServer -p 8080 $@ &gt;&gt; /var/log/pootle/`date "+%F"` 2&gt;&gt; /var/log/pootle/`date "+%F"`.err</code></p>
<h3>/usr/local/pootle/stop_pootle</h3>
<p><code><br />
#!/bin/bash<br />
# Stop script $PREFIX/stop_pootle<br />
# based on a script published here: http://translate.sourceforge.net/wiki/pootle/service_scripts<br />
echo "Killing Pootle"<br />
pidpootle=`ps -ef |grep PootleServer |grep python | awk '{print $2}'`<br />
pidpootle2=`ps -ef |grep start_pootle |grep bin | awk '{print $2}'`<br />
kill $pidpootle2 &gt;/dev/null 2&gt;&amp;1<br />
kill $pidpootle &gt;/dev/null 2&gt;&amp;1</code></p>
<h3>/usr/local/pootle/status_pootle</h3>
<p><code>#!/bin/bash<br />
# Pootle Status $PREFIX/status_pootle<br />
# based on a script published here: http://translate.sourceforge.net/wiki/pootle/service_scripts<br />
pidpootle=`ps -ef |grep PootleServer |grep python | awk '{print $2}'`<br />
if [ "$pidpootle" != "" ]<br />
then<br />
echo "Pootle Server running in pid ($pidpootle)"<br />
else<br />
echo "Pootle Server is not running"<br />
fi</code></p>
<h3>Make them work!</h3>
<p>Now we have to make these scripts <em>useful</em>:<br />
<code>sudo chmod +x /etc/init.d/pootle<br />
sudo chmod +x /usr/local/pootle/s*<br />
sudo update-rc.d pootle</code></p>
<h2>Configuring Pootle to use your repository</h2>
<p>Pootle supports several <a href="http://en.wikipedia.org/wiki/Revision_control">VCSs</a>, but I&#8217;ll only teach you how to setup a Subversion working copy that Pootle may update and commit. If you don&#8217;t use a version control system, I recommend you do so. If you&#8217;re sure you don&#8217;t need it, you may skip this section. If you&#8217;re using another VCS, you&#8217;ll need to go to the Pootle&#8217;s website to <a title="Version control in Pootle" href="http://translate.sourceforge.net/wiki/pootle/version_control">learn how to configure it with Pootle</a>.</p>
<h3>Setup your working copy</h3>
<p>Let&#8217;s create the working copy at, say, <em>/var/translations</em>. To do that in GNU/Linux Matters, we would run:<br />
<code>sudo svn co https://svn.gnulinuxmatters.org:81/i18n /var/translations</code><br />
You should replace the URL by yours.<br />
And don&#8217;t forget to set the <em>pootle</em> user as the owner:<br />
<code>sudo chown pootle -R /var/translations</code></p>
<h3>Create basic cronjobs</h3>
<p>We should run from time to time two scripts:</p>
<ul>
<li>One to commit the changes made by translators; ideally, these changes would be committed by translators themselves, but from my experience you should not count on that (most of them forget about it or just don&#8217;t know they can do that).</li>
<li>Another to update your PO templates from the repository.</li>
</ul>
<p>So we&#8217;re going to ask our <em>pootle</em> user to do this by creating cronjobs. First, <em>become pootle</em>:<br />
<code>sudo su - pootle</code><br />
Then run <code>crontab -e</code> and add the following two lines:<br />
<code>*/15 * * * * /usr/bin/svn update /var/translations &gt;&gt; /dev/null 2&gt;&gt; /home/pootle/update.err<br />
0 0,8,16 * * * /usr/bin/svn commit -m "Uncommitted translations in the last 8 hours" /var/translations &gt;&gt; /dev/null 2&gt;&gt; /home/pootle/commit.err</code></p>
<h2>Pootle is running on port 8080</h2>
<p>For security reasons, if you followed this HOWTO you&#8217;ll be running as the <em>pootle</em> user, not as root. And due to a UNIX misfeature, only root may open ports below 1024. So, unless you love appending the port number to your URLs, and if port 80 is available on your system, you&#8217;d <a title="Proxying Pootle through Apache" href="http://translate.sourceforge.net/wiki/pootle/apache">proxy Pootle through a webserver</a>.</p>
<p>The proxy trick is recommended, but if you cannot do that or just don&#8217;t want, you can use iptables to redirect traffic from port 8080 to 80. My suggestion would be to use the next iptables ruleset:<br />
<code># Generated by iptables-save v1.3.6 on Thu Jan 24 16:40:59 2008<br />
*nat<br />
 <img src='http://gustavonarea.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> REROUTING ACCEPT [0:0]<br />
 <img src='http://gustavonarea.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> OSTROUTING ACCEPT [0:0]<br />
:OUTPUT ACCEPT [0:0]<br />
-A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080<br />
COMMIT<br />
# Completed on Thu Jan 24 16:40:59 2008<br />
# Generated by iptables-save v1.3.6 on Thu Jan 24 16:40:59 2008<br />
*filter<br />
:INPUT ACCEPT [0:0]<br />
:FORWARD ACCEPT [0:0]<br />
:OUTPUT ACCEPT [495:60715]<br />
-A INPUT -i lo -j ACCEPT<br />
-A INPUT -m state --state INVALID -j DROP<br />
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT<br />
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT<br />
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT<br />
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT<br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7<br />
-A INPUT -p tcp -j REJECT --reject-with tcp-reset<br />
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -j REJECT --reject-with icmp-proto-unreachable<br />
-A FORWARD -j REJECT --reject-with icmp-port-unreachable<br />
COMMIT<br />
# Completed on Thu Jan 24 16:40:59 2008</code></p>
<p>For more information about this basic iptables-based firewall, you may read my <a href="/blog/posts/setting-up-your-first-server/">Setting up your first server</a> HOWTO.</p>
<h2>Criticism? Suggestions? Complaints?</h2>
<p>Leave a comment!</p>
]]></content:encoded>
			<wfw:commentRss>http://gustavonarea.net/blog/posts/installing-pootle-on-debian-etch-the-easiest-way/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>The only screencasting software that doesn&#8217;t crash in Ubuntu Hardy</title>
		<link>http://gustavonarea.net/blog/posts/the-only-screencasting-software-that-doesnt-crash-in-ubuntu-hardy/</link>
		<comments>http://gustavonarea.net/blog/posts/the-only-screencasting-software-that-doesnt-crash-in-ubuntu-hardy/#comments</comments>
		<pubDate>Mon, 19 May 2008 17:07:59 +0000</pubDate>
		<dc:creator>Gustavo</dc:creator>
				<category><![CDATA[GNU/Linux Matters]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[glm]]></category>
		<category><![CDATA[gutsy]]></category>
		<category><![CDATA[hardy]]></category>
		<category><![CDATA[istanbul]]></category>
		<category><![CDATA[recordmydesktop]]></category>
		<category><![CDATA[screencast]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xvidcap]]></category>

		<guid isPermaLink="false">http://gustavonarea.net/?p=48</guid>
		<description><![CDATA[I&#8217;ve spent a lot of time trying to record some screencasts for GLM, but every screencasting software I tried crashed under Ubuntu Hardy (and Gutsy too):

XVidCap: The workaround is supposed to be disabling sound, but didn&#8217;t work.
RecordMyDesktop (plus its two front-ends): Crashes with no error message. From time to time I was able to record [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent a lot of time trying to <a href="https://tracker.gnulinuxmatters.org/ticket/139">record some screencasts for GLM</a>, but every screencasting software I tried crashed under Ubuntu Hardy (and Gutsy too):</p>
<ul>
<li>XVidCap: The workaround is supposed to be disabling sound, but didn&#8217;t work.</li>
<li>RecordMyDesktop (plus its two front-ends): Crashes with no error message. From time to time I was able to record videos.</li>
<li>Istanbul: Crashes if you select a window to be recorded.</li>
</ul>
<p>So, the only solution is to install a newer version of Istanbul for Debian:<br />
<code>http://ftp.fr.debian.org/debian/pool/main/i/istanbul/istanbul_0.2.2-4_i386.deb</code><br />
or, if you have a 64-bit box, <code>http://ftp.fr.debian.org/debian/pool/main/i/istanbul/istanbul_0.2.2-4_amd64.deb</code></p>
<p>After making the appropriate bug reports, I can finally start recording the screencasts with Istanbul!</p>
<p>PS: Forget about the above. That Debian package doesn&#8217;t work either. I&#8217;m installing KDE4 to check whether I can record the screencast with it; I think I saw such an option when I tried it out.</p>
<p>PPS: The KDE4 built-in screencasting component uses a weird format (cps?) which cannot be opened with VLC, Mplayer nor Kaffeine (<a href="http://ubuntuforums.org/showpost.php?p=4717105&amp;postcount=2">but there&#8217;s a dirty workaround</a>). Anyways, it records the whole screen and I just want to record a single window.</p>
<p>PPPS: <a href="http://ubuntuforums.org/showthread.php?p=5016504">I&#8217;m not alone</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://gustavonarea.net/blog/posts/the-only-screencasting-software-that-doesnt-crash-in-ubuntu-hardy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to install setlock on Debian?</title>
		<link>http://gustavonarea.net/blog/posts/how-to-install-setlock-on-debian/</link>
		<comments>http://gustavonarea.net/blog/posts/how-to-install-setlock-on-debian/#comments</comments>
		<pubDate>Wed, 14 May 2008 17:33:45 +0000</pubDate>
		<dc:creator>Gustavo</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[DaemonTools]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[IRC]]></category>
		<category><![CDATA[Setlock]]></category>

		<guid isPermaLink="false">http://gustavonarea.net/?p=47</guid>
		<description><![CDATA[That&#8217;s the only question Google and IRC don&#8217;t answer &#8211; but after this post Google will.
About two hours wasted to find out the fucking stupid solution:
aptitude install daemontools-installer
build-daemontools
And hit ENTER for every question.
]]></description>
			<content:encoded><![CDATA[<p>That&#8217;s the only question Google and IRC don&#8217;t answer &#8211; but after this post Google will.</p>
<p>About two hours wasted to find out the fucking stupid solution:</p>
<p><code>aptitude install daemontools-installer<br />
build-daemontools</code></p>
<p>And hit ENTER for every question.</p>
]]></content:encoded>
			<wfw:commentRss>http://gustavonarea.net/blog/posts/how-to-install-setlock-on-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up your first server</title>
		<link>http://gustavonarea.net/blog/posts/setting-up-your-first-server/</link>
		<comments>http://gustavonarea.net/blog/posts/setting-up-your-first-server/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 14:55:20 +0000</pubDate>
		<dc:creator>Gustavo</dc:creator>
				<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://gustavonarea.net/?p=42</guid>
		<description><![CDATA[If you&#8217;re new to server management and use the terminal on GNU/Linux from time to time, this guide will hopefully come in handy for you to get started with your own server.
Unless you have good reasons to use another GNU/Linux distribution, I recommend you to install Debian. It has a lot of ready-to-install applications, is [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re new to server management and use the terminal on <a href="http://www.getgnulinux.org/">GNU/Linux</a> from time to time, this guide will hopefully come in handy for you to get started with your own server.</p>
<p>Unless you have good reasons to use another <a href="http://www.getgnulinux.org/">GNU/Linux</a> distribution, I recommend you to install <a href="http://www.debian.org">Debian</a>. It has a lot of ready-to-install applications, is very stable and it&#8217;s perhaps the distribution with more tutorials around.</p>
<p>Please notice that this is a <em>very basic</em> tutorial and has only been tested on Debian.</p>
<h2>Connect to your server</h2>
<p>First of all, log in as root:<br />
<code>ssh root@123.123.123.123 # where 123.123.123.123 is your server's IP address </code></p>
<p>Some hosting providers disable ssh root access, so you will need to replace <em>root</em> by your user name. If this is the case, after you log in you should become <em>root</em>:</p>
<p><code>su -</code></p>
<h2>Update your system</h2>
<p><code>aptitude update<br />
aptitude upgrade<br />
aptitude dist-upgrade</code></p>
<h2>Add your user</h2>
<p>If your hosting provider disables root access, then you should skip this step.</p>
<p><code>adduser emacs</code></p>
<p>Replace emacs by <a href="http://en.wikipedia.org/wiki/Vi">VI</a> <a href="http://en.wikipedia.org/wiki/Vi">VI</a> <a href="http://en.wikipedia.org/wiki/Vi">VI</a> if you don&#8217;t believe in <a href="http://www.stallman.org/saint.html">Saint IGNUcius</a>.</p>
<h2>Sudo setup</h2>
<p><a href="http://en.wikipedia.org/wiki/Sudo">sudo</a> is a very useful utility, and I recommend you to use it.</p>
<p>First, let&#8217;s install it:</p>
<p><code>aptitude install sudo</code></p>
<p>Then, we add your user to the list of sudoers, by running <code>visudo</code> and then adding the following line at the end of the file <code>emacs ALL=(ALL) ALL</code>.</p>
<p>Now you become yourself:</p>
<p><code>su emacs -</code></p>
<h2>Shared key ssh authentication</h2>
<p>At this point you should use shared key ssh authentication, but for that there&#8217;s <a href="http://ammonlauritzen.com/blog/2006/04/16/shared_key_ssh_authentication/">a great tutorial at ammonlauritzen.com</a>.</p>
<h2>Configuring the SSH daemon</h2>
<p>Open /etc/ssh/sshd_config with your favorite text editor, say:</p>
<p><code>sudo nano /etc/ssh/sshd_config</code></p>
<p>And make sure the following lines are set this way, if not, add or modify them accordingly:<br />
<code>PermitRootLogin no<br />
PasswordAuthentication no<br />
X11Forwarding no<br />
UsePAM no<br />
AllowUsers emacs                      # separate two or more usernames by spaces</code></p>
<p>Finally, apply your modifications:<br />
<code>sudo /etc/init.d/ssh reload</code></p>
<p>Don&#8217;t log out yet, we need to check that you will be able to access your server via ssh (this is, that you didn&#8217;t break anything on the /etc/ssh/sshd_config file). To check if everything is OK, try to log in:<br />
<code>ssh emacs@123.123.123.123</code></p>
<p>If you&#8217;re able to access, then it&#8217;s well configured and you may close the second session. If not, then you should check your modifications and try again.</p>
<h2>Setting up a basic firewall</h2>
<p>We are going to setup a very basic firewall with the powerful <a href="http://www.netfilter.org/">netfilter/iptables</a>. For this step you need to be root:<br />
<code>sudo -s</code></p>
<p>First, store the current iptables rules, in case something goes wrong with ours:<br />
<code>iptables-save &gt; /etc/iptables.conf.old</code></p>
<p>Now, create the file <em>/etc/iptables.conf</em> and add the following contents:<br />
<code># boring stuff for someone new to server administration<br />
*filter<br />
:INPUT ACCEPT [0:0]<br />
:FORWARD ACCEPT [0:0]<br />
:OUTPUT ACCEPT [495:60715]<br />
-A INPUT -i lo -j ACCEPT<br />
-A INPUT -m state --state INVALID -j DROP<br />
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT<br />
# this is the port used by the SSH daemon<br />
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT<br />
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT<br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7<br />
-A INPUT -p tcp -j REJECT --reject-with tcp-reset<br />
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -j REJECT --reject-with icmp-proto-unreachable<br />
-A FORWARD -j REJECT --reject-with icmp-port-unreachable<br />
COMMIT</code></p>
<p>Please pay attention to this line:<br />
<code>-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT</code></p>
<p>You should use a line similar for every open port that you want to be accessible from the Internet. This is, if you have a webserver, you should copy that line but replace &#8220;22&#8243; by &#8220;80&#8243; (or any other port):<br />
<code>-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT</code></p>
<p>This is how you &#8220;enable&#8221; ports.</p>
<p>Then we load the configuration (and <strong>don&#8217;t log out</strong> until we test it!):<br />
<code>iptables-restore &lt; /etc/iptables.conf</code></p>
<h3>Testing the rules</h3>
<p>To test the rules, open another terminal and try to access your server:</p>
<p><code>ssh emacs@123.123.123.123</code></p>
<p>If you could access, then the rules should be OK. If not, reload the original rules until you find help:<br />
<code>iptables-restore &lt; /etc/iptables.conf.old</code></p>
<h3>Loading the rules when the server stars</h3>
<p>If the rules we defined work, then our the firewall should be loaded when the server starts:</p>
<p>Create the file /etc/network/if-pre-up.d/iptables with the following contents:<br />
<code>#!/bin/bash<br />
/sbin/iptables-restore &lt; /etc/iptables.conf</code></p>
<p>Then make it executable:<br />
<code>chmod +x /etc/network/if-pre-up.d/iptables</code></p>
<p>We can now go back to our normal user:<br />
<code>exit</code></p>
<h2>Your server is ready!</h2>
<p>At this point, you are ready to start installing applications on your brand-new server!</p>
<h2>What&#8217;s next?</h2>
<ul>
<li>Make sure you already know <a href="http://labor-liber.org/en/gnu-linux/introduction/">the basics of GNU/Linux</a>.</li>
<li><a href="http://wiki.debian.org/">Learn more about Debian</a>.</li>
<li><a href="http://www.debian-administration.org/">Find the HOWTO you were looking for</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://gustavonarea.net/blog/posts/setting-up-your-first-server/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
