Archive for September 14th, 2006

Mailserver on Ubuntu 6 (Dapper Drake)

Should be pretty easy huh ? Well, not really… there’s one glitch with Exim4 — by default, it delivers email to “mail_spool”, as can be seen from the /var/log/exim4/mainlog here :

=> wanto <wanto@kantor> F=<harry @kantor> P=<harry @kantor> R=local_user T=mail_spool

Incoming email ended up never arrived in my users Maildir.

The solution :

  1. Edit /etc/exim4/update-exim4.conf.conf : gedit /etc/exim4/update-exim4.conf.conf
  2. Add the following line at the end of it : dc_localdelivery=maildir_home
  3. Shutdown Exim4 : pkill exim4
  4. Reconfigure Exim4 : dpkg-reconfigure exim4-config
    (Follow the guide below if you’re confused what to answer on the questions)
  5. That’s it ! Now incoming email will be delivered to your users’ Maildir

I’ve setup this particular server so users can send and fetch email locally.

Email for external destination (Internet) will be relayed through a smarthost. This makes sending huge email very speedy. So they can return to their work quickly and happy (leaving this server working hard trying to send their multi-megabyte emails through a tiny internet pipe *grin* )

With help from Dovecot, they can also send email to each other by [my_name]@office email addresses. This saves me from the headache of setting up a file server AND controlling the access rights.

To set it up this way, follow these steps :
(disclaimer: this is from on top of my head, so please CMIIW)

  1. aptitude install exim4 exim4-config dovecot-pop3d
  2. When configuring Exim4, follow these steps :
  3. Split configuration into small files? NO
  4. General type of mail configuration: (there are 6 choices) : mail sent by smarthost; received via SMTP or fetchmail
  5. System mail name: Whatever, mine is “office
  6. IP-addresses to listen on for incoming SMTP connections: Leave this blank
  7. Other destinations for which mail is accepted: I entered office again here
  8. Machines to relay mail for: Enter your LAN network, mine is 192.168.10.0/24
  9. Machine handling outgoing mail for this host (smarthost): smtp.gmail.com, or whatever works for you
  10. Hide local mail name in outgoing mail? YES
  11. Visible domain name for local users: Set to your company’s internet domain name, example : ToughNut.com
  12. Keep number of DNS-queries minimal (Dial-on-Demand)? Up to you really, I chose NO because my company got a fixed (always-on) internet access
  13. Once everything done, Exim4 and Dovecot will be running. But there’s still one thing left to configure - the smarthost
  14. Setup the Smarthost (relay for external/internet email) :

    # gedit /etc/exim4/passwd.client
    # Then put something like this : smtp.gmail.com:my-email@gmail.com:mypassword

  15. Restart exim4 :

    pkill exim4
    invoke-rc.d exim4 start

Done ! Now your mailserver is functioning.

On your users’ computer, set up as follows :

  • SMTP server : office
  • POP3 server : office
  • POP3 username : Their username in that server
  • POP3 username : Their password in that server

Enjoy.

Google Co-op - a better DMOZ ?

While browsing Google Blog, I found out about Google Co-op from the blog entry made by GOOG_DOC on Google Blog. At a glance, it may seem that Google is creating a competitor to DMOZ.

Well, not really. In short, Google Co-op is DMOZ on steroid.

On top of that, anyone can become a contributor (an equivalent of editor in DMOZ); which means more freedom for us to choose our source of information.

More on these later, let’s see how we can utilise this, shall we.

How to use Google Co-op :

  1. Get a Google account. If you haven’t got one, you can register for a Gmail account. Or click here.
  2. Go to Google Co-op Directory
  3. Browse to the topic that interest you, and subscribe to any contributor that you feel will benefit you

That’s it ! Now whenever you’re doing search on the topic, you’ll see links from your Google Co-op subscription(s) on the top of the search results. These are links which are supposed to be highly relevant to your query.

So with Google Co-op, you may be able to find the results you’re looking for straight away; instead of looking at 1,483,552 of the results one by one.

You can also contribute to it.

I gave this a try with the “Indonesia” topic. Since it didn’t exist, I had to create the topic first. Here’s the file I submitted to Google Co-op to create the Indonesia topic :

<?xml version="1.0" encoding="ISO-8859-1"?>
<TopicSearchDefinition version="0.9">
<Title>Indonesia</Title>

<Context id="country">
<Title>Indonesia</Title>
<Facet>
<Title>Facts</Title>
<FacetItem>
<Label name="for_researchers"/>
<Title>For researchers</Title>
</FacetItem>
<FacetItem>
<Label name="fun_facts"/>
<Title>Fun facts</Title>
</FacetItem>
</Facet>
<Facet>
<Title>News</Title>
<FacetItem>
<Label name="in_english"/>
<Title>In English</Title>
</FacetItem>
<FacetItem>
<Label name="in_indonesian"/>
<Title>In Indonesian</Title>
</FacetItem>
</Facet>
<BackgroundLabels/>
</Context>

<TopicSearchTriggers>
<DataObject id="indonesia-facts" type="facts">
<QueryName value="indonesia facts"/>
<QueryName value="indonesia data"/>
</DataObject>
<DataObject id="indonesia-news" type="news">
<QueryName value="indonesia news"/>
<QueryName value="events indonesia"/>
<QueryName value="breaking news indonesia"/>
</DataObject>
<Query>[facts]</Query>
<Query>[news]</Query>
<Query>about [facts]</Query>
<Query>learn about [facts]</Query>
<Query>teach about [facts]</Query>
</TopicSearchTriggers>
</TopicSearchDefinition>

After creating a new topic for Indonesia, now we can start submitting links on that topic :


<Annotations file="indo-anno.xml">
<Annotation about="http://thejakartapost.com/*">
<Label name="in_english"/>
<Comment>The Jakarta Post - biggest Indonesian newspaper in English</Comment>
</Annotation>

<Annotation about="http://www.antara.co.id/en/*">
<Label name="in_english"/>
<Comment>Antara News</Comment>
</Annotation>

<Annotation about="http://detik.com/*">
<Label name="in_indonesian"/>
<Score>1.0</Score>
<Comment>Detik.com - biggest Indonesian online news site</Comment>
</Annotation>

<Annotation about="http://www.antara.co.id/*">
<Label name="in_indonesian"/>
<Comment>Antara News</Comment>
</Annotation>

<Annotation about="http://en.wikipedia.org/wiki/Indonesia">
<Label name="fun_facts"/>
<Label name="for_researchers"/>
<Score>0.9</Score>
</Annotation>

<Annotation about="http://countrystudies.us/indonesia/3.htm">
<Label name="for_researchers"/>
</Annotation>

<Annotation about="https://www.cia.gov/cia/publications/factbook/geos/id.html">
<Label name="for_researchers"/>
<Score>0.7</Score>
</Annotation>

<Annotation about="http://www.zilvan.com/funnyfacts/facts_about_indonesia.htm">
<Label name="fun_facts"/>
</Annotation>
</Annotations>

As you can see, you can put a lot of information in Google Co-op, which is not possible with DMOZ. But of course they have their own strength - DMOZ is simpler to contribute to.

My profile can be viewed here.

Google Co-op is probably the Google’s implementation of the Semantic Web, the next generation of Web as envisioned by Tim Berners-Lee, the inventor. Whatever it is, I found it interesting, and I’ll be keeping watch on it.

Google Co-op is an open service which require quite an effort to contribute in. As the result, there isn’t much in it as yet. But as more people found and use it, and found that you can easily annotate websites with Google Marker, then we may start seeing surprises in the future from this service.

Banned Books on Google

In fascist regimes, books can be banned. We have had some in Indonesia. But do you know that there are banned books in USA ? Go figure :) banned books in the “most democratic” country. Blasphemy.

Anyway, now we can enjoy these books, courtesy of Google. Well done Google !