com.pietma.zarafa-postfixadmin

com.pietma.zarafa-postfixadmin

Customization for default Postfixadmin to be able to manage Zarafa-Server with DB-Plugin.

INTRODUCTION

 This document wants to give an insight to zarafa-postfixadmin and the reason it
 was invented.
 
 Small office or home setups are not connected to LDAP, Active Directory or
 other enterprise user management systems. For this purpose zarafa-server's
 come with an integrated command line user management plugin. Badly persons
 who are responsible for mailbox administration don't alway have technical
 skills or command line root access. This gap is filled perfectly by Postfix Admin.
 
 Postfix Admin is a web based interface used to manage mailboxes, virtual
 domains and aliases.
 
 Zarafa-Postfixadmin extends its function so it can manage zarafa, too. Basically it
 consists of two parts.
 
  - Customization to the official customiziation interface
  - Worker-Service that walks the Postfix Admin log and runs
    the actions to zarafa-admin
    
    
INSTALLATION FROM SOURCE

 Sometimes shellscripts say more than a thousand words.
 
    https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=zarafa-postfixadmin

INSTALLATION FROM ARCHLINUX PACKAGE

 Add the repository to /etc/pacman.conf at the end of the file.
    
    [pietma]
    SigLevel = Optional TrustAll
    Server = https://repository.pietma.com/nexus/content/repositories/archlinux/$arch/$repo

 Synchronize packages and download a fresh copy of the master package list from the server

    sudo pacman -Sy

 Install the packages
    
    sudo pacman -Sy zarafa-postfixadmin

CONFIGURATION

 Insert in /etc/nginx/nginx.conf
 
    In any server block -> include /etc/webapps/zarafa-postfixadmin/nginx-location.conf; 

 Insert in /etc/php/php-fpm.conf 
 
    After [global] Group -> include=/etc/php/fpm.d/*.conf

 Run
 
    sudo /usr/share/doc/zarafa-postfixadmin/install
    sudo systemctl restart nginx
    sudo systemctl restart php-fpm
    sudo systemctl enable zarafa-postfixadmin.service
    sudo systemctl start zarafa-postfixadmin.service
 
 Visit and create a superadmin account
 
    https://YOUR_HOSTNAME/zarafa-postfixadmin/setup.php


DIFFERENCES TO WELL KNOWN POSTFIXADMIN

 - Mailbox passwords are not hidden
 - Mailbox passwords are only treated as start password and deleted after transfer to Zarafa
 - Mailbox passwords are only managed by Zarafas DB-Plugin
 - Due to transfered and afterwards deleted mailbox password, user login in postfixadmin is disabled

USE CASES 

 This part should show the supported actions you can take in Zarafa-Postfixadmin and which change they cause in Zarafa. Actions causing the same change are grouped together.

 Domain Use Cases

     1) Create Domain
     2) Edit Domain
     3) Delete Domain
      - Action is skipped (No change to Zarafa)


 Mailbox Use Cases

     1) Create Mailbox - Given password
     2) Create Mailbox - Generated password (empty field)
      - Create Zarafa account with username=email, email, full name, password, active state
      - Remove mailbox password from Postfixadmin
    
     3) Create Mailbox - Existing Zarafa account (with same email)
      - Update Zarafa accounts full name, password, active state
    
     4) Edit Mailbox - Name
     5) Edit Mailbox - Active state
      - Update Zarafa accounts full name, active state
    
     6) Edit Mailbox - Empty Name 
      - As 4), but takes username from local part of email (me@test.de -> me)
     
     7) Edit Mailbox - Password
      - Update Zarafa accounts full name, password, active state
      - Remove mailbox password from Postfixadmin 
     
     8) Delete Mailbox
      - Deletes Zarafa account and userstore 
       
       
 Alias Use Cases
    
     1) Create Alias - To destination unknown in Zarafa
      - Action is skipped (No change to Zarafa)
      
     2) Create Alias - To destination known in Zarafa
      - Create inactive Zarafa account with username=alias, email=alias, full name is taken from local part of email (me@test.de -> me), random password
      - Add destination in sendas
    
     4) Edit Alias - Active state
      - Remove all destinations from sendas
      - If active -> Add destination in sendas
    
     4) Edit Alias - To destination unknown in Zarafa
     5) Delete Alias
      - Remove all destinations from sendas
      - Delete inactive Zarafa account