|
Rozmiar: 2628
Komentarz: aktualizacje: instalacja na FBSD 9.x
|
Rozmiar: 4887
Komentarz: + sasldb2; przebudowa tworzenia katalogów
|
| Usunięcia zostały oznaczone w ten sposób. | Dodatki zostały oznaczone w ten sposób. |
| Linia 26: | Linia 26: |
| == Tworzenie drzewa katalogów === Jeżeli jest to partycja UFS, to po prostu tworzenie drzewa katalogów. Ale jeżeli korzystamy z ZFS, to warto stworzyć oddzielne partycje. Dzięki temu można będzie łątwo robić backupy (snapshoty), czy zrobić inne ustawienia (np. kompresja). |
== Tworzenie drzewa katalogów == Jeżeli jest to partycja UFS, to po prostu tworzenie drzewa katalogów. Ale jeżeli korzystamy z ZFS, to warto stworzyć oddzielne partycje. Dzięki temu można będzie łatwo robić backupy (snapshoty), czy zrobić inne ustawienia (np. kompresja). |
| Linia 29: | Linia 29: |
| === Utworzenie partycji ZFS === | |
| Linia 30: | Linia 31: |
| mkdir -p /var/imap/sieve /var/spool/imap/ /var/imap/user chown cyrus:cyrus /var/imap/ /var/spool/imap/ /var/imap/user chmod 0750 /var/imap/ /var/spool/imap/ su - cyrus -c "mkimap" }}} {{{#!shell numbers=off # wersja dla ZFS |
|
| Linia 49: | Linia 42: |
| ==== Utworzenie partycji ZFS dla beadm ==== {{{#!shell numbers=off zfs create -o mountpoint=/var/imap sys/data/v/imap zfs create sys/data/v/spool/imap }}} === Utworzenie potrzebnych katalogów === (Poniższe również dla partycji UFS). {{{#!shell numbers=off mkdir -p /var/imap/sieve /var/spool/imap/ /var/imap/user chown cyrus:cyrus /var/imap/ /var/spool/imap/ /var/imap/user /var/imap/sieve chmod 0750 /var/imap/ /var/spool/imap/ su - cyrus -c "mkimap" }}} |
|
| Linia 61: | Linia 69: |
| {{{ | {{{#!shell numbers=off |
| Linia 64: | Linia 72: |
| tar -czf _skrzynka_seen.tgz -C /var/imap/user/w/ wtp* | |
| Linia 67: | Linia 74: |
| {{{ | {{{#!shell numbers=off |
| Linia 71: | Linia 78: |
| mkdir -p -C /var/imap/user/w/ tar -xzf skrzynka_seen.tgz -C /var/imap/user/w/ |
}}} = Tips and tricks = Różne sztuczki i kruczki, które wyszły przy przenoszeniu poczty pomiędzy serwerami == Backup sasldb2 == Przy migracji serwera jest możliwe przeniesienie zawartości bazy `/usr/local/etc/sasldb2`: {{{#!shell numbers=off # na bieżącym serwerze: # db_dump-5 -p /usr/local/etc/sasldb2 > /tmp/sasldb2.backup # na nowym serwerze: # cat /tmp/sasldb2.backup | db_load-5 /usr/local/etc/sasldb2 }}} == Sprawdzenie rozbieżności pomiędzy bazą danych, a katalogami na dysku == {{{#!shell numbers=off # zgodnie z dokumentacją może być "ciężkie" dla dysku # /usr/local/cyrus/bin/ctl_mboxlist -v }}} == Naprawa brakujących katalogów, plików na dysku, które są w bazie == {{{#!shell numbers=off su - cyrus -c "/usr/local/cyrus/bin/reconstruct -x user.tcmagda" su - cyrus -c "/usr/local/cyrus/bin/reconstruct -r user.tcmagda" }}} == Kopiowanie kilku skrzynek z całego podrzewa OpenLDAP (tworzenie archiwum) == {{{#!shell numbers=off for m in `ldapsearch -xLLL -b 'ou=__domena__,ou=smtpd,dc=bsdserwis,dc=com' objectClass=person uid | awk '/^uid/ {print $2}'` do p=`echo $m | cut -c1` echo -n "Archiving $m ..." tar -cf /opt/backups/mx/_${m}.tar -C /var/spool/imap/$p/user/$m . echo "Done." done }}} == Kopiowanie kilku skrzynek z całego podrzewa OpenLDAP (rozpakowanie archiwum) == {{{#!shell numbers=off for m in `ldapsearch -xLLL -b 'ou=__domena__,ou=smtpd,dc=bsdserwis,dc=com' objectClass=person uid | awk '/^uid/ {print $2}'` do p=`echo $m | cut -c1` echo -n "Extracting $m ..." tar -xf /opt/backups/mx/_${m}.tar -C /var/spool/imap/$p/user/$m echo "Done." done }}} == Utworzenie skrzynek na podstawie poddrzewa OpenLDAP == Głównie dotyczy serwera typu archiwum skrzynek. Tylko oczywiście wcześniej musi działać serwer IMAP :-) {{{#!shell numbers=off ldapsearch -xLL -b 'ou=__domena__,ou=smtpd,dc=bsdserwis,dc=com' objectClass=person uid | awk '/^uid/ {print $2}' | xargs -n1 -t /usr/local/admin/vusers/mail_useradd --mbox |
Spis Treści
- Konfiguracja Cyrus imapd
-
Tips and tricks
- Backup sasldb2
- Sprawdzenie rozbieżności pomiędzy bazą danych, a katalogami na dysku
- Naprawa brakujących katalogów, plików na dysku, które są w bazie
- Kopiowanie kilku skrzynek z całego podrzewa OpenLDAP (tworzenie archiwum)
- Kopiowanie kilku skrzynek z całego podrzewa OpenLDAP (rozpakowanie archiwum)
- Utworzenie skrzynek na podstawie poddrzewa OpenLDAP
Konfiguracja Cyrus imapd
Dopiski do /etc/services
Sam service sieve doczekał się oficjalnego wpisu w /etc/services jako 4190/tcp. Tak więc tylko te dwa wpisy (o ile będziemy korzystać z FUD lub LMTP).
# --- added by wtp for cyrus-imapd ------------------------------------ # lmtp 4205/tcp fud 4201/udp
Konfiguracja cyrus.conf
Należy odkomentować poniższą linię:
notify cmd="notifyd" listen="/var/imap/socket/notify" proto="udp" prefork=1
Konfiguracja imapd.conf
Tworzenie drzewa katalogów
Jeżeli jest to partycja UFS, to po prostu tworzenie drzewa katalogów. Ale jeżeli korzystamy z ZFS, to warto stworzyć oddzielne partycje. Dzięki temu można będzie łatwo robić backupy (snapshoty), czy zrobić inne ustawienia (np. kompresja).
Utworzenie partycji ZFS
# partycja imap zawiera "konfigurację" skrzynek, czy skryptów sieve. Zatem można kompresję włączyć, bo nie wiele to kosztuje
#
zfs create -o compress=gzip -o mountpoint=/var/imap tank/v/imap
# partycja spool zawiera już pocztę. Kompresja? Hmm, może być zbyt wielkim obciążeniem.
# Ale zawsze zablokowanie setuid, czy exec może być pomocne (jako dziedziczone):
#
zfs create -o mountpoint=/var/spool tank/v/spool
zfs create tank/v/spool/imap
Utworzenie partycji ZFS dla beadm
zfs create -o mountpoint=/var/imap sys/data/v/imap
zfs create sys/data/v/spool/imap
Utworzenie potrzebnych katalogów
(Poniższe również dla partycji UFS).
mkdir -p /var/imap/sieve /var/spool/imap/ /var/imap/user
chown cyrus:cyrus /var/imap/ /var/spool/imap/ /var/imap/user /var/imap/sieve
chmod 0750 /var/imap/ /var/spool/imap/
su - cyrus -c "mkimap"
Dodanie podstawowych kont do bazy cyrus-sasl
saslpasswd2 postmaster@localhost.<domain> saslpasswd2 postmaster@<hostname> sasldblistusers2
Utworzenie konta w OpenLDAP
Z analogicznym (jak powyżej) loginem oraz hasłem należyć wykreować konto (SSO) w lokalnej bazie LDAP.
Przenoszenie konta (backup)
W celu odzyskania backupu skrzynki cyrusa, należy wykonać następujące polecenia:
tar -czf _skrzynka.tgz -C /var/spool/imap/w/user/wtp .
/usr/local/cyrus/bin/ctl_mboxlist -d | grep wtp > mbox.dump
Zaś w nowym miejscu:
/usr/local/admin/vuser/useradd_mail.pl wtp
/usr/local/cyrus/bin/ctl_mboxlist -u < mbox.dump
tar -xzf _skrzynka.tgz -C /var/spool/imap/w/user/wtp
Tips and tricks
Różne sztuczki i kruczki, które wyszły przy przenoszeniu poczty pomiędzy serwerami
Backup sasldb2
Przy migracji serwera jest możliwe przeniesienie zawartości bazy /usr/local/etc/sasldb2:
# na bieżącym serwerze:
#
db_dump-5 -p /usr/local/etc/sasldb2 > /tmp/sasldb2.backup
# na nowym serwerze:
#
cat /tmp/sasldb2.backup | db_load-5 /usr/local/etc/sasldb2
Sprawdzenie rozbieżności pomiędzy bazą danych, a katalogami na dysku
# zgodnie z dokumentacją może być "ciężkie" dla dysku
#
/usr/local/cyrus/bin/ctl_mboxlist -v
Naprawa brakujących katalogów, plików na dysku, które są w bazie
su - cyrus -c "/usr/local/cyrus/bin/reconstruct -x user.tcmagda"
su - cyrus -c "/usr/local/cyrus/bin/reconstruct -r user.tcmagda"
Kopiowanie kilku skrzynek z całego podrzewa OpenLDAP (tworzenie archiwum)
for m in `ldapsearch -xLLL -b 'ou=__domena__,ou=smtpd,dc=bsdserwis,dc=com' objectClass=person uid | awk '/^uid/ {print $2}'`
do
p=`echo $m | cut -c1`
echo -n "Archiving $m ..."
tar -cf /opt/backups/mx/_${m}.tar -C /var/spool/imap/$p/user/$m .
echo "Done."
done
Kopiowanie kilku skrzynek z całego podrzewa OpenLDAP (rozpakowanie archiwum)
for m in `ldapsearch -xLLL -b 'ou=__domena__,ou=smtpd,dc=bsdserwis,dc=com' objectClass=person uid | awk '/^uid/ {print $2}'`
do
p=`echo $m | cut -c1`
echo -n "Extracting $m ..."
tar -xf /opt/backups/mx/_${m}.tar -C /var/spool/imap/$p/user/$m
echo "Done."
done
Utworzenie skrzynek na podstawie poddrzewa OpenLDAP
Głównie dotyczy serwera typu archiwum skrzynek. Tylko oczywiście wcześniej musi działać serwer IMAP
ldapsearch -xLL -b 'ou=__domena__,ou=smtpd,dc=bsdserwis,dc=com' objectClass=person uid | awk '/^uid/ {print $2}' | xargs -n1 -t /usr/local/admin/vusers/mail_useradd --mbox
Wszelkie uwagi proszę zgłaszać do administratora strony.
