Cyrus installeren op Debian Lenny PDF Afdrukken
Gebruikerswaardering: / 10
LaagsteHoogste 
maandag 10 augustus 2009 00:00

 

Het installeren van Cyrus 2.2 op Debian Lenny gaat niet helemaal vanzelf goed. Met name het authentiseren van gebruikers is iets waar je even goed voor moet gaan zitten. Standaard zal cyrus namelijk zijn eigen gebruikers database gebruiken en dat is iets wat ik persoonlijk niet zo handig vind. Zelf zou ik het prettiger vinden als standaard tegen PAM aan geauthentiseerd werd. Maar goed, hierbij dus een handleiding.

Stap 1: Installeer de volgende paketten:

  • sasl2-bin
  • cyrus-admin-2.2
  • cyrus-imapd-2.2
  • exim4

Theorie

Eerst een klein beetje theorie. Niet echt noodzakelijk, maar ik wil het toch ergens kwijt, dus dan maar hier.
Om met het begin te beginnen:
Op het moment dat je inlogt op de imap server worden er in een aantal stappen doorlopen om te kijken of je echt bent wie je bent.

  • Als eerste vul je je wachtwoord in, of beter gezegd, je wachtwoord wordt door jouw e-mail programma doorgegeven aan de server.
  • De imap daemon zal aan de sasl bibliotheek vragen of deze combinatie wel klopt.
  • De sasl bibliotheek zal aan elk van zijn geconfigureerde plugins vragen of deze combinatie wel klopt. Zo ja, dan prima.
    Indien ingesteld zal ook aan de saslauthd daemon gevraagd worden of de combinatie wel juist is. Ook deze zal aan alle ingestelde plugins vragen of het wachtwoord wel bij de gebruikersnaam past
  • Indien ingesteld zal saslauthd aan de PAM bibliotheek vragen of de combinatie correct is
  • Uiteindelijk zal de pam bibliotheek in een van de geconfigureerde databases controleren of de juiste gegevens zijn ingevoerd.

Een hele omweg om te kijken of het wachtwoord wel bij de gebruiker hoort. Maar dat geeft wel een boel flexabiliteit. Cyrus zal bijvoorbeeld altijd sasl gebruiken en daar kun je bijvoorbeeld instellen om tegen een LDAP database te authentiseren. Hierdoor is het mogelijk om e-mail accounts aan te maken terwijl er geen gebruikers op het systeem aangemaakt hoeven te worden.
Daarnaast gebruiken veel tools juist PAM zodat je zelf kan kiezen in welke database (passwd  / shadow / ldap / mysql / nis / etc.) je je gebruikers wilt beheren.

Handleiding

Zoals gewoonlijk, hieronder de stap-voor-stap handleiding om e.e.a. aan de praat te krijgen.

  • Open het bestand /etc/imapd.conf in je favoriete editor en pas de volgende regels aan:
    • Haal het hekje (#) weg voor de volgende regel
      #admins: cyrus
    • Haal het hekje (#) weg voor de volgende regel
      #sasl_mech_list: PLAIN
    • Haal het hekje (#) weg voor de volgende regel en verander de 1 in een 0 (nul)
      #sasl_minimum_layer: 0
    • Verander de regel
      sasl_pwcheck_method: auxprop
      in
      sasl_pwcheck_method: saslauthd
  • Open het bestand /etc/cyrus.conf
    • haal het hekje weg voor en verander lmtp in 2003:
      lmtp            cmd="lmtpd -a" listen="localhost:2003" prefork=0 maxchild=20
  • Open het bestand /etc/default/saslauthd in de editor en pas de volgende regels aan
    • Haal het hekje weg voor de volgende regel
      # START=yes
  • Voer de volgende commando's uit:
    	/etc/init.d/saslauthd restart
    	/etc/init.d/cyrus2.2 restart
  • Stel een wachtwoord in voor het beheer account cyrus
    	passwd cyrus

Exim4 configureren

Hierbij ga ik er wel van uit dat je exim zodanig geinstalleerd hebt dat de configuratie over diverse bestanden gesplitst is. Tevens maak ik gebruik van een 'echte' lmtp connectie omdat daarbij direct door Exim gecontroleerd wordt of de gebruiker al bestaat en als dat niet zo is deze meteen geweigerd wordt. De hoeveelheid rotzooi op je server word dan iets minder.

  • Maak een nieuw bestand aan in /etc/exim4/conf.d/transport/ met de naam 30_exim4-config_cyrus en open dit in je favoriete editor. Voeg de volgende regels in
  • cyrus_delivery:
    driver = smtp
    protocol = lmtp
    hosts = 127.0.0.1
    allow_localhost = yes
    port = 2003
  • Open het bestand /etc/exim4/conf.d/router/900_exim4-config_local_user in je favoriete editor en zet een hekje (#) voor:
    check_local_user
  • Open het bestand /etc/exim4/conf.d/main/02_exim4-config_options en pas de volgende regel aan:
    MAIN_TRUSTED_USERS = uucp
    wordt:
    MAIN_TRUSTED_USERS = uucp:cyrus
  • Open het bestand /etc/exim4/conf.d/acl/30_exim4-config_check_rcpt in je favoriete editor en ga op zoek naar:
    !verify = recipient/callout
    daaronder kun je het volgende stuk toevoegen:
    # Special ACL to check with the Cyrus server
    # Reject "faked" envelope sender addresses in cyrus domains
    deny
    sender_domains = +local_domains
    message        = Sender unknown/invalid
    !verify        = sender/callout=defer_ok,5s

    # Accept valid (and reject invalid) envelope recipient adresses in cyrus domains
    accept
    domains      = +local_domains
    endpass
    message        = ${if match{$acl_verify_message}\
    {\N(?m)^\d{3} (\d\.\d\.\d .{0,120})\Z\N} \
    {IMAP said: $1}{Recipient unknown/invalid}}
    verify         = recipient/callout=random,5s
  • Open het bestand /etc/exim4/update-exim4.conf.conf in je favoriete editor en voeg de volgende regel toe:
    dc_localdelivery='cyrus_delivery'
    controleer meteen even op dc_use_split_config='true'
  • Start het programma:
    	 /usr/sbin/update-exim4.conf
  • En test of het werkt met het volgende commando:
    	/usr/sbin/exim4 -bt cyrus
    Het resultaat moet er ongeveer zo uit zien
    	R: system_aliases for cyrus@localhost
    	R: userforward for cyrus@localhost
    	R: procmail for cyrus@localhost
    	R: maildrop for cyrus@localhost
    	R: local_user for cyrus@localhost
    	cyrus@localhost
    	  router = local_user, transport = cyrus_delivery

Tips en Truuks

Je moet met de hand de mailboxen aanmaken voor de gebruikers. Er zijn diverse manieren om dit te doen

  1. Je gebruikt cyradm:
    cyradm --user cyrus localhost
    cm user.micha
    ^D
  2. Je gebruikt telnet. Let op de punt (.) hoort bij iedere opdracht:
    telnet localhost 143
    . login cyrus <password>
    . CREATE user.micha
    . logout
  3. Een grafisch programma om Cyrus te beheren is o.a. gyrus
    • Klik op "Go to server..."
    • Klik op "New" om een nieuwe sessie te maken
    • Geef bij Host: localhost op en bij Username: cyrus en bij Save as: localhost
    • Klik op localhost en dan op "Open"
    • Klik op de knop "Connect" en geef je wachtwoord op
    • Klik op "Add mailbox" en geef daar de gebruiker op, zonder user. ervoor

Succes.

Commentaar
Toevoegen Zoeken
+/-
Schrijf commentaar
Naam:
Email:
 
Onderwerp:
 
Voer de anti-spam code in die in het plaatje staat.
Laatst aangepast op maandag 10 augustus 2009 15:24
 

Bicolor template supported by Naturalife Greenworld