Postfix Admin telepítése

  • Beküldve: 2015. május 18, 13:27
  • Szerző: Bolemányi Attila

Töltsük le és tegyük a helyére a Postfix Admin alkalmazást:

cd /tmp
wget http://sourceforge.net/projects/postfixadmin/files/latest/download -O postfixadmin.tar.gz
tar -xzvf ./postfixadmin.tar.gz
cd ./postfixadmin-2.92
cp -a /tmp/postfixadmin-2.92/. /srv/web/www/postfixadmin.comega7.local
chown -R postfixadmin.comega7.local:www-data /srv/web/www/postfixadmin.comega7.local

A böngészőben látogasd meg az oldalt: https://postfixadmin.comega7.local

Ahhoz, hogy működjön a névfeloldás, Linux alatt a /etc/hosts, Windows alatt pedig a C:\Windows\System32\drivers\etc\hosts fájlba kell egy sor:

192.168.100.200 postfixadmin.comega7.local

Mivel a tanúsítványt mi írtuk alá, a böngésző panaszkodni fog, hogy a tanúsítvány hitelessége nem ellenőrizhető, de ezzel most nem foglalkozunk. A Postfix Admin telepítése még nincsen kész, de már jó úton járunk. Készítsünk egy fájlt a Postfix Admin gyökér mappájába, config.local.php néven, az alábbi tartalommal:

<?php
$CONF['database_type'] = 'mysqli';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = 'Pa$$w0rd';
$CONF['database_name'] = 'postfix';
$CONF['configured'] = true;
?>

Telepítsük fel a PHP MySQL és IMAP kiegészítéseit:

aptitude install php5-mysqlnd php5-imap

Most látogassuk meg a https://postfixadmin.comega7.local/setup.php oldalt. A telepítési jelszó legyen "Pa$$w0rd12". Ha sikerült a Postfix Admin beállítása a böngészőben, a jelszavak beírására szolgáló rovatok felett megjelenik egy pirossal kiemelt sor, amely egy hash értéket tartalmaz. A fentebb elkészített config.local.php fájlt egészítsük ki ezzel a sorral:

$CONF['setup_password'] = 'hash-from-the-screen';

Most pedig hozzunk létre a Postfix Admin alkalmazásban egy ADMIN felhasználót, akinek teljes joga lesz valamennyi tartományt és postafiókot kezelni. Ehhez most egy valódi email címre lesz szükséged. A jelszó most is legyen "Pa$$w0rd12".

Itt az idő ellátogatni a https://postfixadmin.comega7.local címre és bejelentkezni az előbb létrehozott Admin felhasználóval. A Postfix Admin kezelése szerintem magától értetődik, így ezzel nem foglalkozom.

A Postfix Admin valamennyi beállítását célszerű a fentebb létrehozott config.local.php fájlban elvégezni, így a későbbi verziófrissítések ezeket nem fogják felülírni. Ezen a ponton érdemes végignézni a lehetséges beállításokat, és testre szabni a Postfix Admin működését. Ha türelmetlen vagy, akkor pedig itt egy jól használható minta:

<?php
$CONF['database_type'] = 'mysqli';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = 'Pa$$w0rd';
$CONF['database_name'] = 'postfix';
$CONF['configured'] = true;
$CONF['setup_password'] = '6236cd50c78a37a28e809aac89ec9894:eae14a8c7e2dce3752cc42ef52626a1ca7cd69ee';
$CONF['default_language'] = 'hu';

$CONF['database_prefix'] = '';
$CONF['database_tables'] = array (
    'admin' => 'admin',
    'alias' => 'alias',
    'alias_domain' => 'alias_domain',
    'config' => 'config',
    'domain' => 'domain',
    'domain_admins' => 'domain_admins',
    'fetchmail' => 'fetchmail',
    'log' => 'log',
    'mailbox' => 'mailbox',
    'vacation' => 'vacation',
    'vacation_notification' => 'vacation_notification',
    'quota' => 'quota',
    'quota2' => 'quota2',
);

$CONF['admin_email'] = '';
$CONF['smtp_server'] = 'localhost';
$CONF['smtp_port'] = '25';
$CONF['encrypt'] = 'md5crypt';
$CONF['authlib_default_flavor'] = 'md5raw';
$CONF['dovecotpw'] = "/usr/sbin/doveadm pw";

$CONF['password_validation'] = array(
    '/.{5}/'                    => 'password_too_short 5',      # minimum length 5 characters
    '/([a-zA-Z].*){3}/'         => 'password_no_characters 3',  # must contain at least 3 characters
    '/([0-9].*){2}/'            => 'password_no_digits 2',      # must contain at least 2 digits
);

$CONF['generate_password'] = 'NO';
$CONF['show_password'] = 'NO';
$CONF['page_size'] = '100';
$CONF['default_aliases'] = array (
    'abuse' => 'abuse@comega7.local',
    'hostmaster' => 'hostmaster@comega7.local',
    'postmaster' => 'postmaster@comega7.local',
    'webmaster' => 'webmaster@comega7.local'
);

$CONF['domain_path'] = 'YES';
$CONF['domain_in_mailbox'] = 'NO';
$CONF['maildir_name_hook'] = 'NO';
$CONF['admin_struct_hook'] = '';
$CONF['domain_struct_hook'] = '';
$CONF['alias_struct_hook'] = '';
$CONF['mailbox_struct_hook'] = '';
$CONF['alias_domain_struct_hook'] = '';
$CONF['aliases'] = '10';
$CONF['mailboxes'] = '10';
$CONF['maxquota'] = '10';
$CONF['domain_quota_default'] = '2048';

$CONF['quota'] = 'YES';
$CONF['domain_quota'] = 'YES';
$CONF['quota_multiplier'] = '1024000';

$CONF['transport'] = 'NO';
$CONF['transport_options'] = array (
    'virtual',  // for virtual accounts
    'local',    // for system accounts
    'relay'     // for backup mx
);
$CONF['transport_default'] = 'virtual';
$CONF['vacation'] = 'NO';
$CONF['vacation_domain'] = 'autoreply.comega7.local';
$CONF['vacation_control'] ='NO';
$CONF['vacation_control_admin'] = 'NO';
$CONF['vacation_choice_of_reply'] = array (
    0 => 'reply_once',                          // Sends only Once the message during Out of Office
    # considered annoying - only send a reply on every mail if you really need it
    # 1 => 'reply_every_mail',                  // Reply on every email
    60*60 *24*7 => 'reply_once_per_week'        // Reply if last autoreply was at least a week ago
);

$CONF['users_domain_controle'] = 'YES';
$CONF['alias_control'] = 'YES';
$CONF['alias_control_admin'] = 'YES';
$CONF['special_alias_control'] = 'NO';
$CONF['alias_goto_limit'] = '0';
$CONF['alias_domain'] = 'YES';
$CONF['backup'] = 'NO';
$CONF['sendmail'] = 'YES';
$CONF['logging'] = 'YES';
$CONF['fetchmail'] = 'YES';
$CONF['fetchmail_extra_options'] = 'NO';

$CONF['show_header_text'] = 'NO';
$CONF['header_text'] = ':: Postfix Admin ::';

$CONF['show_footer_text'] = 'NO';
$CONF['footer_text'] = 'Return to comega7.local';
$CONF['footer_link'] = 'http://comega7.local';

$CONF['motd_user'] = '';
$CONF['motd_admin'] = '';
$CONF['motd_superadmin'] = '';

$CONF['welcome_text'] = <<<EOM
Hi,

Welcome to your new account.
EOM;

$CONF['emailcheck_resolve_domain']='NO';
$CONF['show_status']='YES';
$CONF['show_status_key']='YES';
$CONF['show_status_text']='  ';
$CONF['show_undeliverable']='YES';
$CONF['show_undeliverable_color']='tomato';
$CONF['show_undeliverable_exceptions']=array("unixmail.domain.ext","exchangeserver.domain.ext");
$CONF['show_popimap']='YES';
$CONF['show_popimap_color']='darkgrey';
$CONF['show_custom_domains']=array("subdomain.domain.ext","domain2.ext");
$CONF['show_custom_colors']=array("lightgreen","lightblue");
$CONF['recipient_delimiter'] = "";
$CONF['mailbox_postcreation_script'] = '';
$CONF['mailbox_postedit_script'] = '';
$CONF['mailbox_postdeletion_script'] = '';
$CONF['domain_postcreation_script'] = '';
$CONF['domain_postdeletion_script'] = '';
$CONF['create_mailbox_subdirs'] = array();
$CONF['create_mailbox_subdirs_host']='localhost';
$CONF['create_mailbox_subdirs_prefix']='';
$CONF['used_quotas'] = 'YES';
$CONF['new_quota_table'] = 'YES';
$CONF['create_mailbox_subdirs_hostoptions'] = array('');
$CONF['theme_logo'] = 'images/logo-default.png';
$CONF['theme_css'] = 'css/default.css';
$CONF['theme_custom_css'] = '';
$CONF['xmlrpc_enabled'] = false;

Ezzel a Postfix Admin telepítése elkészült.