Instalacja i konfiguracja OpenLDAP

Instalacja i podstawowa konfiguracja usługi katalogowej LDAP (OpenLDAP) na Ubuntu:

drfugazi@charr:~% sudo aptitude install slapd ldap-utils

Opis wzorowany jest na angielskim opisie dla Karmic Koala na HowtoForge. Ja jestem przyzwyczajony do konfigurowania LDAPa w pliku slapd.conf, ale to stara szkoła. Tutaj dostajemy możliwość dynamicznej konfiguracji bez konieczności restartu serwera LDAP.

cd /etc/ldap

Na początek proponuję dodać kilka schematów, zwierających klasy obiektów, które będą przydatne później:

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif

Jeśli Wam się nie uda dodanie z powodu niewystarczających uprawnień, to przełączcie się na roota poleceniem sudo su -

Instalacja systemu pocztowego na Ubuntu

Zakładam, że system jest zainstalowany i posiada podstawową konfigurację z uruchomioną usługą SSH. Po zalogowaniu przystępujemy do instalacji pakietu dovecot-postfix, który opisany jest jako w pełni funkcjonalny serwer pocztowy:

drfugazi@charr:~% sudo aptitude install dovecot-postfix
[sudo] password for drfugazi:
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności
Odczyt informacji o stanie... Gotowe
Reading extended state information
Initializing package states... Gotowe
The following NEW packages will be installed:
  dovecot-common{a} dovecot-imapd{a} dovecot-pop3d{a} dovecot-postfix
0 packages upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 7957kB of archives. After unpacking 15,1MB will be used.
Do you want to continue? [Y/n/?] y
...
Konfigurowanie dovecot-common (1:1.2.9-1ubuntu6.1) ...
Creating config file /etc/dovecot/dovecot.conf with new version
Creating config file /etc/dovecot/dovecot-ldap.conf with new version
Creating config file /etc/dovecot/dovecot-sql.conf with new version

Sprawdzamy czy działa serwer Dovecot i czy da się połączyć do serwera IMAP z localhosta:

php-5.2.14

root@hydra:~# su - soft
soft@hydra:~% cd php 
soft@hydra:~/php% wget "http://pl.php.net/get/php-5.2.14.tar.gz/from/this/mirror"
...
soft@hydra:~/php% gtar -zxf php-5.2.14.tar.gz
soft@hydra:~/php% gsed "s/5.2.12/5.2.14/g" drf_php-5.2.12_conf > drf_php-5.2.14_conf
soft@hydra:~/php% chmod 754 !$
chmod 754 drf_php-5.2.14_conf

Trzeba sprawdzić i ewentualnie poprawić ścieżkę do apxs

soft@hydra:~/php% vi drf_php-5.2.14_conf

Kompilacja przy użyciu skryptu (w załączniku)

apache-2.2.17

Projekt Apache HTTP Server, to przedsięwzięcie mające na celu rozwój i utrzymywanie serwera HTTP o otwartym kodzie, dla nowoczesnych systemów operacyjnych, takich jak UNIX czy Windows NT. Celem tego projektu jest dostarczenie bezpiecznego, wydajnego i skalowalnego serwera, który dostarcza usług zgodnych z aktualnymi standardami HTTP.

Apache httpd jest najbardziej popularnym serwerem stron www w Internecie od kwietnia 1996 roku i w lutym tego roku obchodził swoje 15-te urodziny jako projekt.

dovecot-2.0-sieve-0.2.0

Interpreter Pigeonhole Sieve

Projekt Pigeonhole dostarcza Sieve jako plugina dla Dovecotowego agenta dostarczania poczty (LDA) jak również usługi LMTP. Plugin implementuje interpreter języka Sieve, który pozwala na filtrowanie przychodzących wiadomości używając skryptów zgodnych ze specyfikacją języka Sieve (RFC 5228). Skrypty Sieve mogą być modyfikowane przez użytkowników i dzięki temu użytkownik może decydować o obsłudze przychodzących wiadomości. Mogą być one dostarczane do konkretnych folderów, przekazywane, odrzucane itd.

dovecot-2.0.3

Dovecot jest Open Sourceowym serwerem IMAP i POP3 dla systemów Linux/UNIX, napisanym z naciskiem na bezpieczeństwo. Dovecot jest doskonałym wyborem zarówno dla małych jak i wielkich instalacji. Jest szybki, łatwy do ustawienia, nie wymaga specjalnej administracji i używa niewiele pamięci.

Źródło: http://dovecot.org/

Poniżej znajdziecie zapis sesji konfiguracji i kompilacji serwera dovecot oraz skrypt, którego do tego użyłem.

Jak zamienić w kontenerze dataset na lofs

Ponieważ konfiguruję system pocztowy, potrzebuję wyeksportować filesystem ZFS przez NFS do innego noda, gdzie postfix poprzez delivera będzie zapisywał wiadomości do skrzynek. Jak widać w tym zapisie sesji, skonfigurowałem całą zpoole „studmail” jako dataset ZFS dla kontenera st1. Niestety w prosty sposób nie da się współdzielić systemu plików ZFS przez NFS w kontenerze (non-global):

root@st1:~# zfs list
NAME                         USED  AVAIL  REFER  MOUNTPOINT
studmail                     301M  1.78T  28.0K  none
studmail/etc                4.52M  1.78T  4.19M  /data/etc
studmail/studmail            480K  1.78T   417K  /data/studmail
studmail/var                 296M  1.78T   294M  /data/var

root@st1:~# zfs set sharenfs=rw=@192.168.X.X/32,anon=0 studmail/studmail
cannot set property for 'studmail/studmail': 'sharenfs' cannot be set in a non-global zone

dovecot-1.2-sieve-0.1.17

Dovecot Sieve jest kompletnie przepisaną implementacją Sieve dla Dovecota w wersji 1.2 i nowszych. Głównym powodem przepisania silnika Sieve było zapewnienie bardziej niezawodnego wykonywania skryptu oraz lepszych komunikatów błędów dla użytkowników i administratorów systemu. Ta implementacja jest częścią Projektu Pigeonhole.

Źródło: http://wiki.dovecot.org/LDA/Sieve/Dovecot

Ściągnięcie źródeł, rozpakowanie i edycja skryptu do konfiguracji i kompilacji Sieve:

root@feniks:/home/soft/dovecot# su - soft
soft@feniks:~% cd dovecot 
soft@feniks:~/dovecot% wget http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-0.1.17.tar.gz
soft@feniks:~/dovecot% gtar -zxf dovecot-1.2-sieve-0.1.17.tar.gz
soft@feniks:~/dovecot% cp drf_sieve-1.2-0.1.12_conf drf_sieve-1.2-0.1.17_conf
soft@feniks:~/dovecot% vi drf_sieve-1.2-0.1.17_conf

dovecot-1.2.13

Dovecot jest Open Sourceowym serwerem IMAP i POP3 dla systemów Linux/UNIX, napisanym z naciskiem na bezpieczeństwo. Dovecot jest doskonałym wyborem zarówno dla małych jak i wielkich instalacji. Jest szybki, łatwy do ustawienia, nie wymaga specjalnej administracji i używa niewiele pamięci.

Źródło: http://dovecot.org/

Poniżej znajdziecie zapis sesji konfiguracji i kompilacji serwera dovecot oraz skrypt, którego użyłem do kompilacji.