Quantcast
Channel: iRedMail — iRedMail Support
Viewing all 12090 articles
Browse latest View live

Users cannot change passwords

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 0.97
- Linux/BSD distribution name and version: CentOS 6.9
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): MySQL
- Web server (Apache or Nginx): Nginx
- Manage mail accounts with iRedAdmin-Pro? No
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====

Users receive "Could not save new password. Encryption function missing." When trying to change their passwords

I can change their password in the iredadmin area.

The error log /var/log/nginx/error.log states:

2018/06/12 14:20:32 [error] 12634#0: *24 FastCGI sent in stderr: "PHP message: PHP Warning:  proc_open() has been disabled for security reasons in /var/www/roundcubemail-1.2.0/plugins/password/password.php on line 606" while reading response header from upstream, client: 216.36.139.243, server: _, request: "POST /mail/?_task=settings&_action=plugin.password-save HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.socket:", host: "mail.domain.ca", referrer: "https://mail.domain.ca/mail/?_task=sett … n.password"

I have enabled proc_open and proc_close in php.ini

The password.php is below:

<?php

/**
* Password Plugin for Roundcube
*
* @author Aleksander Machniak <alec@alec.pl>
*
* Copyright (C) 2005-2015, The Roundcube Dev Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see http://www.gnu.org/licenses/.
*/

define('PASSWORD_CRYPT_ERROR', 1);
define('PASSWORD_ERROR', 2);
define('PASSWORD_CONNECT_ERROR', 3);
define('PASSWORD_IN_HISTORY', 4);
define('PASSWORD_CONSTRAINT_VIOLATION', 5);
define('PASSWORD_SUCCESS', 0);

/**
* Change password plugin
*
* Plugin that adds functionality to change a users password.
* It provides common functionality and user interface and supports
* several backends to finally update the password.
*
* For installation and configuration instructions please read the README file.
*
* @author Aleksander Machniak
*/
class password extends rcube_plugin
{
    public $task    = 'settings|login';
    public $noframe = true;
    public $noajax  = true;

    private $newuser = false;

    function init()
    {
        $rcmail = rcmail::get_instance();

        $this->load_config();

        if ($rcmail->task == 'settings') {
            if (!$this->check_host_login_exceptions()) {
                return;
            }

            $this->add_texts('localization/');

            $this->add_hook('settings_actions', array($this, 'settings_actions'));

            $this->register_action('plugin.password', array($this, 'password_init'));
            $this->register_action('plugin.password-save', array($this, 'password_save'));
        }
        else if ($rcmail->config->get('password_force_new_user')) {
            $this->add_hook('user_create', array($this, 'user_create'));
            $this->add_hook('login_after', array($this, 'login_after'));
        }
    }

    function settings_actions($args)
    {
        // register as settings action
        $args['actions'][] = array(
            'action' => 'plugin.password',
            'class'  => 'password',
            'label'  => 'password',
            'title'  => 'changepasswd',
            'domain' => 'password',
        );

        return $args;
    }

    function password_init()
    {
        $this->register_handler('plugin.body', array($this, 'password_form'));

        $rcmail = rcmail::get_instance();
        $rcmail->output->set_pagetitle($this->gettext('changepasswd'));

        if (rcube_utils::get_input_value('_first', rcube_utils::INPUT_GET)) {
            $rcmail->output->command('display_message', $this->gettext('firstloginchange'), 'notice');
        }
        else if (!empty($_SESSION['password_expires'])) {
            if ($_SESSION['password_expires'] == 1) {
                $rcmail->output->command('display_message', $this->gettext('passwdexpired'), 'error');
            }
            else {
                $rcmail->output->command('display_message', $this->gettext(array(
                        'name' => 'passwdexpirewarning',
                        'vars' => array('expirationdatetime' => $_SESSION['password_expires'])
                    )), 'warning');
            }
        }

        $rcmail->output->send('plugin');
    }

    function password_save()
    {
        $this->register_handler('plugin.body', array($this, 'password_form'));

        $rcmail = rcmail::get_instance();
        $rcmail->output->set_pagetitle($this->gettext('changepasswd'));

        $form_disabled   = $rcmail->config->get('password_disabled');
        $confirm         = $rcmail->config->get('password_confirm_current');
        $required_length = intval($rcmail->config->get('password_minimum_length'));
        $check_strength  = $rcmail->config->get('password_require_nonalpha');

        if (($confirm && !isset($_POST['_curpasswd'])) || !isset($_POST['_newpasswd'])) {
            $rcmail->output->command('display_message', $this->gettext('nopassword'), 'error');
        }
        else {
            $charset    = strtoupper($rcmail->config->get('password_charset', 'ISO-8859-1'));
            $rc_charset = strtoupper($rcmail->output->get_charset());

            $sespwd = $rcmail->decrypt($_SESSION['password']);
            $curpwd = $confirm ? rcube_utils::get_input_value('_curpasswd', rcube_utils::INPUT_POST, true, $charset) : $sespwd;
            $newpwd = rcube_utils::get_input_value('_newpasswd', rcube_utils::INPUT_POST, true);
            $conpwd = rcube_utils::get_input_value('_confpasswd', rcube_utils::INPUT_POST, true);

            // check allowed characters according to the configured 'password_charset' option
            // by converting the password entered by the user to this charset and back to UTF-8
            $orig_pwd = $newpwd;
            $chk_pwd = rcube_charset::convert($orig_pwd, $rc_charset, $charset);
            $chk_pwd = rcube_charset::convert($chk_pwd, $charset, $rc_charset);

            // WARNING: Default password_charset is ISO-8859-1, so conversion will
            // change national characters. This may disable possibility of using
            // the same password in other MUA's.
            // We're doing this for consistence with Roundcube core
            $newpwd = rcube_charset::convert($newpwd, $rc_charset, $charset);
            $conpwd = rcube_charset::convert($conpwd, $rc_charset, $charset);

            if ($chk_pwd != $orig_pwd) {
                $rcmail->output->command('display_message', $this->gettext('passwordforbidden'), 'error');
            }
            // other passwords validity checks
            else if ($conpwd != $newpwd) {
                $rcmail->output->command('display_message', $this->gettext('passwordinconsistency'), 'error');
            }
            else if ($confirm && $sespwd != $curpwd) {
                $rcmail->output->command('display_message', $this->gettext('passwordincorrect'), 'error');
            }
            else if ($required_length && strlen($newpwd) < $required_length) {
                $rcmail->output->command('display_message', $this->gettext(
                    array('name' => 'passwordshort', 'vars' => array('length' => $required_length))), 'error');
            }
            else if ($check_strength && (!preg_match("/[0-9]/", $newpwd) || !preg_match("/[^A-Za-z0-9]/", $newpwd))) {
                $rcmail->output->command('display_message', $this->gettext('passwordweak'), 'error');
            }
            // password is the same as the old one, warn user, return error
            else if ($sespwd == $newpwd && !$rcmail->config->get('password_force_save')) {
                $rcmail->output->command('display_message', $this->gettext('samepasswd'), 'error');
            }
            // try to save the password
            else if (!($res = $this->_save($curpwd, $newpwd))) {
                $rcmail->output->command('display_message', $this->gettext('successfullysaved'), 'confirmation');

                // allow additional actions after password change (e.g. reset some backends)
                $plugin = $rcmail->plugins->exec_hook('password_change', array(
                    'old_pass' => $curpwd, 'new_pass' => $newpwd));

                // Reset session password
                $_SESSION['password'] = $rcmail->encrypt($plugin['new_pass']);

                // Log password change
                if ($rcmail->config->get('password_log')) {
                    rcube::write_log('password', sprintf('Password changed for user %s (ID: %d) from %s',
                        $rcmail->get_user_name(), $rcmail->user->ID, rcube_utils::remote_ip()));
                }

                // Remove expiration date/time
                $rcmail->session->remove('password_expires');
            }
            else {
                $rcmail->output->command('display_message', $res, 'error');
            }
        }

        $rcmail->overwrite_action('plugin.password');
        $rcmail->output->send('plugin');
    }

    function password_form()
    {
        $rcmail = rcmail::get_instance();

        // add some labels to client
        $rcmail->output->add_label(
            'password.nopassword',
            'password.nocurpassword',
            'password.passwordinconsistency'
        );

        $form_disabled = $rcmail->config->get('password_disabled');

        $rcmail->output->set_env('product_name', $rcmail->config->get('product_name'));
        $rcmail->output->set_env('password_disabled', !empty($form_disabled));

        $table = new html_table(array('cols' => 2));

        if ($rcmail->config->get('password_confirm_current')) {
            // show current password selection
            $field_id = 'curpasswd';
            $input_curpasswd = new html_passwordfield(array(
                    'name'         => '_curpasswd',
                    'id'           => $field_id,
                    'size'         => 20,
                    'autocomplete' => 'off',
            ));

            $table->add('title', html::label($field_id, rcube::Q($this->gettext('curpasswd'))));
            $table->add(null, $input_curpasswd->show());
        }

        // show new password selection
        $field_id = 'newpasswd';
        $input_newpasswd = new html_passwordfield(array(
                'name'         => '_newpasswd',
                'id'           => $field_id,
                'size'         => 20,
                'autocomplete' => 'off',
        ));

        $table->add('title', html::label($field_id, rcube::Q($this->gettext('newpasswd'))));
        $table->add(null, $input_newpasswd->show());

        // show confirm password selection
        $field_id = 'confpasswd';
        $input_confpasswd = new html_passwordfield(array(
                'name'         => '_confpasswd',
                'id'           => $field_id,
                'size'         => 20,
                'autocomplete' => 'off',
        ));

        $table->add('title', html::label($field_id, rcube::Q($this->gettext('confpasswd'))));
        $table->add(null, $input_confpasswd->show());

        $rules = '';

        $required_length = intval($rcmail->config->get('password_minimum_length'));
        if ($required_length > 0) {
            $rules .= html::tag('li', array('id' => 'required-length'), $this->gettext(array(
                'name' => 'passwordshort',
                'vars' => array('length' => $required_length)
            )));
        }

        if ($rcmail->config->get('password_require_nonalpha')) {
            $rules .= html::tag('li', array('id' => 'require-nonalpha'), $this->gettext('passwordweak'));
        }

        if (!empty($rules)) {
            $rules = html::tag('ul', array('id' => 'ruleslist'), $rules);
        }

        $disabled_msg = '';
        if ($form_disabled) {
            $disabled_msg = is_string($form_disabled) ? $form_disabled : $this->gettext('disablednotice');
            $disabled_msg = html::div(array('class' => 'boxwarning', 'id' => 'password-notice'), $disabled_msg);
        }

        $submit_button = $rcmail->output->button(array(
                'command' => 'plugin.password-save',
                'type'    => 'input',
                'class'   => 'button mainaction',
                'label'   => 'save',
        ));
        $form_buttons = html::p(array('class' => 'formbuttons'), $submit_button);

        $out = html::div(array('class' => 'box'),
            html::div(array('id' => 'prefs-title', 'class' => 'boxtitle'), $this->gettext('changepasswd'))
            . html::div(array('class' => 'boxcontent'),
                $disabled_msg . $table->show() . $rules . $form_buttons));

        $rcmail->output->add_gui_object('passform', 'password-form');

        $this->include_script('password.js');

        return $rcmail->output->form_tag(array(
            'id'     => 'password-form',
            'name'   => 'password-form',
            'method' => 'post',
            'action' => './?_task=settings&_action=plugin.password-save',
        ), $out);
    }

    private function _save($curpass, $passwd)
    {
        $config = rcmail::get_instance()->config;
        $driver = $config->get('password_driver', 'sql');
        $class  = "rcube_{$driver}_password";
        $file   = $this->home . "/drivers/$driver.php";

        if (!file_exists($file)) {
            rcube::raise_error(array(
                'code' => 600,
                'type' => 'php',
                'file' => __FILE__, 'line' => __LINE__,
                'message' => "Password plugin: Unable to open driver file ($file)"
            ), true, false);
            return $this->gettext('internalerror');
        }

        include_once $file;

        if (!class_exists($class, false) || !method_exists($class, 'save')) {
            rcube::raise_error(array(
                'code' => 600,
                'type' => 'php',
                'file' => __FILE__, 'line' => __LINE__,
                'message' => "Password plugin: Broken driver $driver"
            ), true, false);
            return $this->gettext('internalerror');
        }

        $object = new $class;
        $result = $object->save($curpass, $passwd);
        $message = '';

        if (is_array($result)) {
            $message = $result['message'];
            $result  = $result['code'];
        }

        switch ($result) {
            case PASSWORD_SUCCESS:
                return;
            case PASSWORD_CRYPT_ERROR:
                $reason = $this->gettext('crypterror');
                break;
            case PASSWORD_CONNECT_ERROR:
                $reason = $this->gettext('connecterror');
                break;
            case PASSWORD_IN_HISTORY:
                $reason = $this->gettext('passwdinhistory');
                break;
            case PASSWORD_CONSTRAINT_VIOLATION:
                $reason = $this->gettext('passwdconstraintviolation');
                break;
            case PASSWORD_ERROR:
            default:
                $reason = $this->gettext('internalerror');
        }

        if ($message) {
            $reason .= ' ' . $message;
        }

        return $reason;
    }

    function user_create($args)
    {
        $this->newuser = true;
        return $args;
    }

    function login_after($args)
    {
        if ($this->newuser && $this->check_host_login_exceptions()) {
            $args['_task']   = 'settings';
            $args['_action'] = 'plugin.password';
            $args['_first']  = 'true';
        }

        return $args;
    }

    // Check if host and login is allowed to change the password, false = not allowed, true = not allowed
    private function check_host_login_exceptions()
    {
        $rcmail = rcmail::get_instance();

        // Host exceptions
        $hosts = $rcmail->config->get('password_hosts');
        if (!empty($hosts) && !in_array($_SESSION['storage_host'], (array) $hosts)) {
            return false;
        }

        // Login exceptions
        if ($exceptions = $rcmail->config->get('password_login_exceptions')) {
            $exceptions = array_map('trim', (array) $exceptions);
            $exceptions = array_filter($exceptions);
            $username   = $_SESSION['username'];

            foreach ($exceptions as $ec) {
                if ($username === $ec) {
                    return false;
                }
            }
        }

        return true;
    }

    /**
     * Hashes a password and returns the hash based on the specified method
     *
     * Parts of the code originally from the phpLDAPadmin development team
     * http://phpldapadmin.sourceforge.net/
     *
     * @param string      Clear password
     * @param string      Hashing method
     * @param bool|string Prefix string or TRUE to add a default prefix
     *
     * @return string Hashed password
     */
    static function hash_password($password, $method = '', $prefixed = true)
    {
        $method = strtolower($method);
        $rcmail = rcmail::get_instance();
        $prefix = '';
        $crypted = '';
        $default = false;

        if (empty($method) || $method == 'default') {
            $method   = $rcmail->config->get('password_algorithm');
            $prefixed = $rcmail->config->get('password_algorithm_prefix');
            $default  = true;
        }
        else if ($method == 'crypt') { // deprecated
            if (!($method = $rcmail->config->get('password_crypt_hash'))) {
                $method = 'md5';
            }

            if (!strpos($method, '-crypt')) {
                $method .= '-crypt';
            }
        }

        switch ($method) {
        case 'des':
        case 'des-crypt':
            $crypted = crypt($password, rcube_utils::random_bytes(2));
            $prefix  = '{CRYPT}';
            break;

        case 'ext_des': // for BC
        case 'ext-des-crypt':
            $crypted = crypt($password, '_' . rcube_utils::random_bytes(8));
            $prefix  = '{CRYPT}';
            break;

        case 'md5crypt': // for BC
        case 'md5-crypt':
            $crypted = crypt($password, '$1$' . rcube_utils::random_bytes(9));
            $prefix  = '{CRYPT}';
            break;

        case 'sha256-crypt':
            $rounds = (int) $rcmail->config->get('password_crypt_rounds');
            $prefix = '$5$';

            if ($rounds > 1000) {
                $prefix .= 'rounds=' . $rounds . '$';
            }

            $crypted = crypt($password, $prefix . rcube_utils::random_bytes(16));
            $prefix  = '{CRYPT}';
            break;

        case 'sha512-crypt':
            $rounds = (int) $rcmail->config->get('password_crypt_rounds');
            $prefix = '$6$';

            if ($rounds > 1000) {
                $prefix .= 'rounds=' . $rounds . '$';
            }

            $crypted = crypt($password, $prefix . rcube_utils::random_bytes(16));
            $prefix  = '{CRYPT}';
            break;

        case 'blowfish': // for BC
        case 'blowfish-crypt':
            $cost   = (int) $rcmail->config->get('password_blowfish_cost');
            $cost   = $cost < 4 || $cost > 31 ? 12 : $cost;
            $prefix = sprintf('$2a$%02d$', $cost);

            $crypted = crypt($password, $prefix . rcube_utils::random_bytes(22));
            $prefix  = '{CRYPT}';
            break;

        case 'md5':
            $crypted = base64_encode(pack('H*', md5($password)));
            $prefix  = '{MD5}';
            break;

        case 'sha':
            if (function_exists('sha1')) {
                $crypted = pack('H*', sha1($password));
            }
            else if (function_exists('hash')) {
                $crypted = hash('sha1', $password, true);
            }
            else if (function_exists('mhash')) {
                $crypted = mhash(MHASH_SHA1, $password);
            }
            else {
                rcube::raise_error(array(
                    'code' => 600, 'file' => __FILE__, 'line' => __LINE__,
                    'message' => "Password plugin: Your PHP install does not have the mhash()/hash() nor sha1() function"
                ), true, true);
            }

            $crypted = base64_encode($crypted);
            $prefix = '{SHA}';
            break;

        case 'ssha':
            $salt = rcube_utils::random_bytes(8);

            if (function_exists('mhash') && function_exists('mhash_keygen_s2k')) {
                $salt    = mhash_keygen_s2k(MHASH_SHA1, $password, $salt, 4);
                $crypted = mhash(MHASH_SHA1, $password . $salt);
            }
            else if (function_exists('sha1')) {
                $salt    = substr(pack("H*", sha1($salt . $password)), 0, 4);
                $crypted = sha1($password . $salt, true);
            }
            else if (function_exists('hash')) {
                $salt    = substr(pack("H*", hash('sha1', $salt . $password)), 0, 4);
                $crypted = hash('sha1', $password . $salt, true);
            }
            else {
                rcube::raise_error(array(
                    'code' => 600, 'file' => __FILE__, 'line' => __LINE__,
                    'message' => "Password plugin: Your PHP install does not have the mhash()/hash() nor sha1() function"
                ), true, true);
            }

            $crypted = base64_encode($crypted . $salt);
            $prefix  = '{SSHA}';
            break;

        case 'smd5':
            $salt = rcube_utils::random_bytes(8);

            if (function_exists('mhash') && function_exists('mhash_keygen_s2k')) {
                $salt    = mhash_keygen_s2k(MHASH_MD5, $password, $salt, 4);
                $crypted = mhash(MHASH_MD5, $password . $salt);
            }
            else if (function_exists('hash')) {
                $salt    = substr(pack("H*", hash('md5', $salt . $password)), 0, 4);
                $crypted = hash('md5', $password . $salt, true);
            }
            else {
                $salt    = substr(pack("H*", md5($salt . $password)), 0, 4);
                $crypted = md5($password . $salt, true);
            }

            $crypted = base64_encode($crypted . $salt);
            $prefix  = '{SMD5}';
            break;

        case 'samba':
            if (function_exists('hash')) {
                $crypted = hash('md4', rcube_charset::convert($password, RCUBE_CHARSET, 'UTF-16LE'));
                $crypted = strtoupper($crypted);
            }
            else {
                rcube::raise_error(array(
                    'code' => 600, 'file' => __FILE__, 'line' => __LINE__,
                    'message' => "Password plugin: Your PHP install does not have hash() function"
                ), true, true);
            }
            break;

        case 'ad':
            $crypted = rcube_charset::convert('"' . $password . '"', RCUBE_CHARSET, 'UTF-16LE');
            break;

        case 'cram-md5': // deprecated
            require_once __DIR__ . '/../helpers/dovecot_hmacmd5.php';
            $crypted = dovecot_hmacmd5($password);
            $prefix  = '{CRAM-MD5}';
            break;

        case 'dovecot':
            if (!($dovecotpw = $rcmail->config->get('password_dovecotpw'))) {
                $dovecotpw = 'dovecotpw';
            }
            if (!($method = $rcmail->config->get('password_dovecotpw_method'))) {
                $method = 'CRAM-MD5';
            }

            $spec = array(0 => array('pipe', 'r'), 1 => array('pipe', 'w'), 2 => array('file', '/dev/null', 'a'));
            $pipe = proc_open("$dovecotpw -s '$method'", $spec, $pipes);

            if (!is_resource($pipe)) {
                return false;
            }

            fwrite($pipes[0], $password . "\n", 1+strlen($password));
            usleep(1000);
            fwrite($pipes[0], $password . "\n", 1+strlen($password));

            $crypted = trim(stream_get_contents($pipes[1]), "\n");

            fclose($pipes[0]);
            fclose($pipes[1]);
            proc_close($pipe);

            if (!preg_match('/^\{' . $method . '\}/', $crypted)) {
                return false;
            }

            if (!$default) {
                $prefixed = (bool) $rcmail->config->get('password_dovecotpw_with_method');
            }

            if (!$prefixed) {
                $crypted = trim(str_replace('{' . $method . '}', '', $crypted));
            }

            $prefixed = false;

            break;

        case 'hash': // deprecated
            if (!extension_loaded('hash')) {
                rcube::raise_error(array(
                    'code' => 600, 'file' => __FILE__, 'line' => __LINE__,
                    'message' => "Password plugin: 'hash' extension not loaded!"
                ), true, true);
            }

            if (!($hash_algo = strtolower($rcmail->config->get('password_hash_algorithm')))) {
                $hash_algo = 'sha1';
            }

            $crypted = hash($hash_algo, $password);

            if ($rcmail->config->get('password_hash_base64')) {
                $crypted = base64_encode(pack('H*', $crypted));
            }

            break;

        case 'clear':
            $crypted = $password;
        }

        if ($crypted === null || $crypted === false) {
            return false;
        }

        if ($prefixed && $prefixed !== true) {
            $prefix   = $prefixed;
            $prefixed = true;
        }

        if ($prefixed === true && $prefix) {
            $crypted = $prefix . $crypted;
        }

        return $crypted;
    }
}

Attached is my php.ini


Mail transport unavailable

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 0.9.8
- Linux/BSD distribution name and version: CentOS 7.5
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): MySQL/MariaDB
- Web server (Apache or Nginx): Nginx
- Manage mail accounts with iRedAdmin-Pro?: Yes
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====

I'm seeing a bunch of messages to only one domain on the server in the queue that look like this:

CEF33C61438    10113 Tue Jun 12 09:32:40  sender@example.com
                                                  (mail transport unavailable)
                                         recipient@domainonourserver.com

I found references to Amavis in the archives, but why is this affecting only one domain?

change the default /SOGo URL to another name

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release):
- Linux/BSD distribution name and version:
- Store mail accounts in which backend (LDAP/MySQL/PGSQL):
- Web server (Apache or Nginx):
- Manage mail accounts with iRedAdmin-Pro?
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====
i want to  change the default /SOGo URL to another name?
how can i do it?

calendar and contact shareing does not work

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release):
- Linux/BSD distribution name and version:
- Store mail accounts in which backend (LDAP/MySQL/PGSQL):
- Web server (Apache or Nginx):
- Manage mail accounts with iRedAdmin-Pro?
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
======== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release):
- Linux/BSD distribution name and version:
- Store mail accounts in which backend (LDAP/MySQL/PGSQL):
- Web server (Apache or Nginx):
- Manage mail accounts with iRedAdmin-Pro?
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
======== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release):
- Linux/BSD distribution name and version:
- Store mail accounts in which backend (LDAP/MySQL/PGSQL):
- Web server (Apache or Nginx):
- Manage mail accounts with iRedAdmin-Pro?
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====
iRedMail 0.9.8, downloaded two days ago.
Ubuntu 16.04 u3
MySQL backed
Nginx Webserver

do NOT have iRedAdmin-Pro, still testing before I spend that much money.
Thunderbird 52.8.0 64bit with Lightning. Can get email but not calendar
iphone 8+ with IOS 11.4 as of last night, 11.3 yesterday with same errors.


***Edit****
Looks like the stanza that should be there for Nginx isn't, so no Dav for anything.

And so far all I have found is a configuration for Apache, and of course this instance is running Nginx.
Wow, so close, thought I had a product that worked out of the box....

****Edit again*****

Cardav actually connected to by my iphone, found a different URL for it than Thunderbird.
Caldav refuses to connect using SSL. from same phone.

Issues with the Installation process

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 0.9.8
- Linux/BSD distribution name and version: Ubuntu Server 18.04
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): MySQL
- Web server (Apache or Nginx): Nginx
- Manage mail accounts with iRedAdmin-Pro? Yes
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====

I am having some trouble with the installation of iRedMail, the installation process goes all the way through and even displays the login credentials at the end but when I try to navigate to those login pages they do not work, I know I have properly setup everything related to my domain and DNS so that is not the issue, I also noticed errors in the installation itself especially pertaining to it not being able to connect to the MySQL database. I also noticed that when I go into sites-available for Nginx that there are no redirects created for roundcube and iRedAdmin like there should be. Not sure if this is a permission related issue as I am launching the install script under sudo.


********************************************************************
* Start iRedMail Configurations
********************************************************************
[ INFO ] Generate self-signed SSL cert (2048 bits, expire in 10 years).
[ INFO ] Generate Diffie Hellman Group with openssl, please wait.
[ INFO ] Create required system accounts.
[ INFO ] Configure Nginx web server.
cp: cannot create regular file '/etc/postfix/aliases': No such file or directory
/home/mike/iRedMail-0.9.8/conf/core: line 446: /etc/postfix/aliases: No such file or directory
[ INFO ] Configure PHP.
[ INFO ] Configure MySQL database server.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
[ INFO ] Setup daily cron job to backup SQL databases with /var/vmail\/backup/backup_mysql.sh
[ INFO ] Configure Postfix (MTA).
postconf: fatal: open /etc/postfix/main.cf.tmp: No such file or directory
postconf: fatal: open /etc/postfix/main.cf: No such file or directory
postconf: fatal: open /etc/postfix/main.cf: No such file or directory
postconf: fatal: open /etc/postfix/main.cf: No such file or directory
postconf: fatal: open /etc/postfix/main.cf: No such file or directory
postconf: fatal: open /etc/postfix/main.cf: No such file or directory
postconf: fatal: open /etc/postfix/main.cf: No such file or directory
postconf: fatal: open /etc/postfix/main.cf: No such file or directory
postconf: fatal: open /etc/postfix/main.cf: No such file or directory
postconf: fatal: open /etc/postfix/main.cf: No such file or directory
cp: cannot create regular file '/etc/postfix/main.cf': No such file or directory
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
touch: cannot touch '/etc/postfix/helo_access.pcre': No such file or directory
touch: cannot touch '/etc/postfix/header_checks': No such file or directory
touch: cannot touch '/etc/postfix/body_checks.pcre': No such file or directory
touch: cannot touch '/etc/postfix/sender_access.pcre': No such file or directory
chown: cannot access '/etc/postfix/helo_access.pcre': No such file or directory
chown: cannot access '/etc/postfix/header_checks': No such file or directory
chown: cannot access '/etc/postfix/body_checks.pcre': No such file or directory
chown: cannot access '/etc/postfix/sender_access.pcre': No such file or directory
chmod: cannot access '/etc/postfix/helo_access.pcre': No such file or directory
chmod: cannot access '/etc/postfix/header_checks': No such file or directory
chmod: cannot access '/etc/postfix/body_checks.pcre': No such file or directory
chmod: cannot access '/etc/postfix/sender_access.pcre': No such file or directory
Can't open /etc/postfix/main.cf: No such file or directory.
Can't open /etc/postfix/main.cf: No such file or directory.
postconf: fatal: open /etc/postfix/main.cf: No such file or directory
Can't open /etc/postfix/master.cf: No such file or directory.
/home/mike/iRedMail-0.9.8/functions/postfix.sh: line 137: /etc/postfix/master.cf: No such file or directory
Can't open /etc/postfix/master.cf: No such file or directory.
Can't open /etc/postfix/master.cf: No such file or directory.
Can't open /etc/postfix/master.cf: No such file or directory.
Can't open /etc/postfix/master.cf: No such file or directory.
Can't open /etc/postfix/master.cf: No such file or directory.
Can't open /etc/postfix/master.cf: No such file or directory.
Can't open /etc/postfix/master.cf: No such file or directory.
Can't open /etc/postfix/master.cf: No such file or directory.
Can't open /etc/postfix/master.cf: No such file or directory.
Can't open /etc/postfix/master.cf: No such file or directory.
Can't open /etc/postfix/master.cf: No such file or directory.
Can't open /etc/postfix/master.cf: No such file or directory.
Can't open /etc/postfix/master.cf: No such file or directory.
cp: cannot create regular file '/etc/postfix/helo_access.pcre': No such file or directory
cp: cannot create regular file '/etc/postfix/command_filter.pcre': No such file or directory
cp: cannot create regular file '/etc/postfix/aliases': No such file or directory
/home/mike/iRedMail-0.9.8/conf/core: line 446: /etc/postfix/aliases: No such file or directory
cp: cannot create regular file '/etc/postfix/aliases': No such file or directory
/home/mike/iRedMail-0.9.8/conf/core: line 446: /etc/postfix/aliases: No such file or directory
cp: cannot create regular file '/etc/postfix/aliases': No such file or directory
/home/mike/iRedMail-0.9.8/conf/core: line 446: /etc/postfix/aliases: No such file or directory
Can't open /etc/postfix/master.cf: No such file or directory.
Can't open /etc/postfix/master.cf: No such file or directory.
Can't open /etc/postfix/master.cf: No such file or directory.
Can't open /etc/postfix/master.cf: No such file or directory.
Can't open /etc/postfix/master.cf: No such file or directory.
postconf: warning: open /etc/postfix/master.cf: No such file or directory
postconf: warning: open /etc/postfix/master.cf: No such file or directory
[ INFO ] Configure Dovecot (POP3/IMAP/Managesieve/LMTP/LDA).
[ INFO ] Configure mlmmj (mailing list manager).
[ INFO ] Configure ClamAV (anti-virus toolkit).
[ INFO ] Configure Amavisd-new (interface between MTA and content checkers).
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
[ INFO ] Configure SpamAssassin (content-based spam filter).
[ INFO ] Configure iRedAPD (postfix policy daemon).
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
[ INFO ] Configure iRedAdmin (official web-based admin panel).
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
ln: failed to create symbolic link '/etc/uwsgi/apps-enabled/iredadmin.ini': File exists
[ INFO ] Configure Fail2ban (authentication failure monitor).
[ INFO ] Configure Roundcube webmail.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

*************************************************************************
* iRedMail-0.9.8 installation and configuration complete.
*************************************************************************

< Question > Would you like to use firewall rules provided by iRedMail?
< Question > File: /etc/default/iptables, with SSHD port: 22. [Y|n]y            [ INFO ] Copy firewall sample rules: /etc/default/iptables.                     < Question > Restart firewall now (with SSHD port 22)? [y|N]y
[ INFO ] Restarting firewall ...
[ INFO ] Updating ClamAV database (freshclam), please wait ...
ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).

update iredadmin free 0.9.4 with installation SoGO

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 0.9.4
- Linux/BSD distribution name and version: Centos 7
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): MySql
- Web server (Apache or Nginx): Apache
- Manage mail accounts with iRedAdmin-Pro? No
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====
It is any possibility to add to iredadmin free installation SoGo during update iredadmin?
I want to update iredadmin to the last version (free edition).

thanks

update iredadmin free 0.9.4 with installation SoGO

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release):
- Linux/BSD distribution name and version:
- Store mail accounts in which backend (LDAP/MySQL/PGSQL):
- Web server (Apache or Nginx):
- Manage mail accounts with iRedAdmin-Pro?
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
======== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 0.9.4
- Linux/BSD distribution name and version: Centos 7
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): MySql
- Web server (Apache or Nginx): Apache
- Manage mail accounts with iRedAdmin-Pro? No
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====
It is any possibility to add to iredadmin free installation SoGo during update iredadmin?
I want to update iredadmin to the last version (free edition).

thanks

Trust IP addresses for inbound mail ?

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 0.9.5-1
- Linux/BSD distribution name and version: CentOS 7.0
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): MySQL
- Web server (Apache or Nginx):Nginx
- Manage mail accounts with iRedAdmin-Pro? No
====

If a configured domain already have email scanned for spam and virus on an external service - then I will assume, that the sending hosts for this service should be bypassed in the postfix config (otherwise RBL checks and some other stuff will most likely fail).

Is it just to add the hosts ip addresses to the /etc/postfix/postscreen_access.cidr - and then mails from these IP's will be omitted from RBL checks, spamassassin and so on ?

/B


DKIM question

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 0.9.8
- Linux/BSD distribution name and version:  Ubuntu 18.04
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): MySQL
- Web server (Apache or Nginx): Nginx
- Manage mail accounts with iRedAdmin-Pro? Not yet
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====
Hi guys,

I'm testing iRedmail for some days and I'm happy with it. Compliments for the good work!

However, I do have a question:

When i test DKIM signing via SOGo it works well. Mails are received with a DKIM key. However, when I send email via Outlook connected to IMAP, no DKIM signing takes place.

Any thoughts?

Tim

DKIM question: DKIM not signing mails with ORIGINATING status (smtp)

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 0.9.8
- Linux/BSD distribution name and version:  Ubuntu 18.04
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): MySQL
- Web server (Apache or Nginx): Nginx
- Manage mail accounts with iRedAdmin-Pro? Not yet
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====
Hi guys,

I'm testing iRedmail for some days and I'm happy with it. Compliments for the good work!

However, I do have a question:

When i test DKIM signing via SOGo it works well. Mails are received with a DKIM key. However, when I send email via Outlook connected to IMAP /SMTP, no DKIM signing takes place.

SMTP AUTH is enabled in Outlook.

Any thoughts?

Master submission settings:

# Submission, port 587, force TLS connection.
submission inet n       -       n       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o content_filter=smtp-amavis:[127.0.0.1]:10026


The mail via SOGo gets MYNETS LOCAL in de maillog and the mail that doesn't get signed gets the ORIGINATING stamp in maillog.

Tim

Migration from old iredmail instances to the new one

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 0.9.7 MARIADB edition
- Linux/BSD distribution name and version: CentOS Linux release 7.4.1708 (Core)
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): MySQL
- Web server (Apache or Nginx): Apache
- Manage mail accounts with iRedAdmin-Pro? No
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====

Hello All,

I want to migrate from two old iRedMail instances (0.8.7) to the new one (0.9.7).
How can I migrate from both old instances to the new one?
I found https://docs.iredmail.org/migrate.to.ne … erver.html but it seems shows only migration from one instance.
Also I was not able to import MySQL DB from old instance, do we need to restore whole dump or some tables only?
While db import from old db, get following errors:
ERROR 1048 (23000) at line 24: Column 'active' cannot be null
ERROR 1136 (21S01) at line 34: Column count doesn't match value count at row 1
ERROR 1136 (21S01) at line 35: Column count doesn't match value count at row 1
ERROR 1136 (21S01) at line 36: Column count doesn't match value count at row 1
ERROR 1136 (21S01) at line 37: Column count doesn't match value count at row 1
ERROR 1136 (21S01) at line 38: Column count doesn't match value count at row 1
ERROR 1136 (21S01) at line 39: Column count doesn't match value count at row 1
ERROR 1136 (21S01) at line 40: Column count doesn't match value count at row 1
ERROR 1136 (21S01) at line 41: Column count doesn't match value count at row 1
.....
ERROR 1136 (21S01) at line 998: Column count doesn't match value count at row 1
ERROR 1136 (21S01) at line 999: Column count doesn't match value count at row 1
ERROR 1136 (21S01) at line 1000: Column count doesn't match value count at row 1
ERROR 1136 (21S01) at line 1001: Column count doesn't match value count at row 1
ERROR 1136 (21S01) at line 1002: Column count doesn't match value count at row 1
ERROR 1136 (21S01) at line 1003: Column count doesn't match value count at row 1
ERROR 1136 (21S01) at line 1004: Column count doesn't match value count at row 1

Not sure which approach is suitable for me.
Any suggestions are much appreciated.

Thans,
Roden

Users can't see contents of Sent folder after imapsync from cyrus-imap

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (0.9.8 PGSQL edition.):
- Linux/BSD distribution name and version: CentOS 7.5
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): PGSQL
- Web server (Apache or Nginx): NGINX
- Manage mail accounts with iRedAdmin-Pro? No
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====
Hello,
After imapsync from cyrus-imapd to iredmail/dovecot users on Thunderbird do not see migrated mail in Sent folder. New sent emails show up, but not old migrated ones. Imapsync Logs show emails being copied successfully form INBOX.Sent to Sent. Any help here is greatly appreciated, Thanks!

error in iredadmin when deleting domain

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 0.9.8
- Linux/BSD distribution name and version: Centos 7.4
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): MySQL (MariaDB 10.2.15)
- Web server (Apache or Nginx): apache
- Manage mail accounts with iRedAdmin-Pro? No
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====

I attempted to delete a domain which contained two mailboxes in it. Iredadmin displayed this error, but did delete the domain ultimately:

Error: (1146, "Table 'vmail.alias_moderators' doesn't exist")

how to fix and is there any issues to be worried about? Thanks. i can confirm the table does not exist. what else may be missing?

Whitelisting not working

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (0.9.8 PGSQL edition.):
- Linux/BSD distribution name and version: CentOS 7.5
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): PGSQL
- Web server (Apache or Nginx): NGINX
- Manage mail accounts with iRedAdmin-Pro? No
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====
Hello,

I've had our iredmail server up and running for a couple of days now and some of our regular contacts are getting blocked by the server. I've followed the info here:
https://docs.iredmail.org/manage.iredap … acklisting
and run the python scripts. I was able to add a few addresses and checked with python wblist_admin.py --list --whitelist and they show up. However the senders are still being blocked after a couple of hours.

Am I missing something here?

Thanks!

can't install 0.9.8 on FreeBSD 11.1

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release):
- Linux/BSD distribution name and version:
- Store mail accounts in which backend (LDAP/MySQL/PGSQL):
- Web server (Apache or Nginx):
- Manage mail accounts with iRedAdmin-Pro?
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====Try to install this mail server on FreeBSD 10.4 and 11.1 but get same error:

48 warnings and 7 errors generated.
error: command 'cc' failed with exit status 1
*** Error code 1

Stop.
make[4]: stopped in /usr/ports/security/py-cryptography
*** Error code 1

Stop.
make[3]: stopped in /usr/ports/net/py-urllib3
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/www/py-requests
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/textproc/py-sphinx
*** Error code 1

Stop.
make: stopped in /usr/ports/www/py-beautifulsoup
<< ERROR >> Port was not successfully installed, please fix it manually and then re-execute this script.


what happens when you schedule a mailbox deletion?

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 0.9.8
- Linux/BSD distribution name and version: Centos 7.4
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): MySQL (MariaDB 10.2.15)
- Web server (Apache or Nginx): apache
- Manage mail accounts with iRedAdmin-Pro? No
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====

what happens exactly when you schedule a mailbox deletion in let's say, 1 day? where does this get scheduled? i ask because after my reported error yesterday deleting a domain containing mailboxes, for which i specified deletion in 1 day, i double checked my db. i found the two mailboxes in question still listed under the table 'forwardings'. do these get removed in 1 day? or does that scheduled deletion only refer to deleting the physical mail stores from the file system? given that they were deleted everywhere else in the db but this one table, i feel this may have been an error. but am not sure. can you advise please? Thanks.

iRedmail with AD auth

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 0.9.8 OPENLDAP edition.
- Linux/BSD distribution name and version: Ubuntu 16.04
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): ldap?
- Web server (Apache or Nginx): nginx - iRedAdmin v0.9 (LDAP)
- Manage mail accounts with iRedAdmin-Pro? no
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
postmap: fatal: open database domain.local/user1/Maildir/.db: No such file or directory
====


I wanted to use iRedmail with AD so the mail is held on the mail server but users can login using their AD creds to retrieve mail.
Is this possible? 
I followed https://docs.iredmail.org/active.directory.html

At section: Verify LDAP query with AD in Postfix

I can verify mail groups but not mail users.
From the error above, its looking for a Maildir/.db but I am not sure where this should be.
Locally on my mail server or as an attribute in AD?

Some assistance needed please.

Thanks all.

Some Problems with sysctl.conf

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 0.9.8
- Linux/BSD distribution name and version: CentOS Linux release 7.5.1804 (Core)
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): LDAP
- Web server (Apache or Nginx): Nginx
- Manage mail accounts with iRedAdmin-Pro? No
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====

Good day. Today I installed the new version of iRedmail(First time installing 0.9.8) on clean Linux with some my changes.


Before install I changed sysctl.conf to
------------------------------

vm.overcommit_memory = 1
net.core.somaxconn = 65535
vm.dirty_expire_centisecs=60000
vm.dirty_background_ratio=80
vm.dirty_ratio=90

# Optimization for port usefor LBs
# Increase system file descriptor limit
fs.file-max = 1199971

# Allow for more PIDs (to reduce rollover problems); may break some programs 32768
kernel.pid_max = 65536

# Increase system IP port limits
net.ipv4.ip_local_port_range = 2000 65000

# Increase TCP max buffer size setable using setsockopt()
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 87380 8388608

# Increase Linux auto tuning TCP buffer limits
# min, default, and max number of bytes to use
# set max to at least 4MB, or higher if you use very high BDP paths
# Tcp Windows etc
net.core.rmem_max = 8388608
net.core.wmem_max = 8388608
net.core.netdev_max_backlog = 5000
net.ipv4.tcp_window_scaling = 1

#IPV6
net.ipv6.conf.all.disable_ipv6 = 1
------------------------------


I am doing this always, and did before on many mail servers where I installed iRedmail, but this time its changed to:

-----------------------------------------------
vm.overcommit_memory =90
net.core.somaxconn =90
vm.dirty_expire_centisecs=90
vm.dirty_background_ratio=90
vm.dirty_ratio=90

# Optimization for port usefor LBs
# Increase system file descriptor limit
fs.file-max =90

# Allow for more PIDs (to reduce rollover problems); may break some programs 32768
kernel.pid_max =90

# Increase system IP port limits
net.ipv4.ip_local_port_range =90

# Increase TCP max buffer size setable using setsockopt()
net.ipv4.tcp_rmem =90
net.ipv4.tcp_wmem =90

# Increase Linux auto tuning TCP buffer limits
# min, default, and max number of bytes to use
# set max to at least 4MB, or higher if you use very high BDP paths
# Tcp Windows etc
net.core.rmem_max =90
net.core.wmem_max =90
net.core.netdev_max_backlog =90
net.ipv4.tcp_window_scaling =90

#IPV6
net.ipv6.conf.all.disable_ipv6 =90

-------------------------------------------------------

End of course it couse many problems, please fix it, if you need on install make some changes, do it directly, not on all parameters there.

Adding additional PHP site results in 502 Bad Gateway

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 0.9.8
- Linux/BSD distribution name and version: Ubuntu 18.04 LTS
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): MariaDB
- Web server (Apache or Nginx):Nginx
- Manage mail accounts with iRedAdmin-Pro? No
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====

I'm trying to setup more web sites on the same server where iRedMail is installed. The iRedmail setup is working, Roundcube, iRedAdmin, etc all are functioning without issues.
Adding another domain with a new server block in 00-default.conf or 00-default-ssl.conf is working as long as it is html based. Switching the contents of the same config to PHP and it will result into a 502 Bad Gateway.
Even a simple index.php with <?php phpinfo( ); ?> will fail with a 502 Bad Gateway while replacing the index.php with a simple index.html is not giving any issues. On a default fresh Nginx installation on a server without iRedmail installed the same Nginx sites_available setup with PHP runs without issues.

So what is wrong with a PHP site placed in the root location of the Nginx server?

My goal is to run iRedmail and two or more domains with Wordpress instances on one Ubuntu 18.04 LTS server. But the setup of the installation of 0.9.8 is not allowing any "normal" PHP site configuration.

Emails in SOGo not displaying correctly

$
0
0

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release):
- Linux/BSD distribution name and version:
- Store mail accounts in which backend (LDAP/MySQL/PGSQL):
- Web server (Apache or Nginx):
- Manage mail accounts with iRedAdmin-Pro?
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
======== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (0.9.8 PGSQL edition.):
- Linux/BSD distribution name and version: CentOS 7.5
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): PGSQL
- Web server (Apache or Nginx): NGINX
- Manage mail accounts with iRedAdmin-Pro? No
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====
Hello,

Just starting this AM email contents are not displaying correctly in SOGo. A "yum update" was run yesterday, could that be the problem? Yum history:

[root@puffin ~]# yum history info 10
Loaded plugins: fastestmirror, langpacks
Transaction ID : 10
Begin time     : Thu Jun 21 10:58:11 2018
Begin rpmdb    : 1700:08825773c305b6e2c7b8d0efe7a0f16c6fdc37a3
End time       :            10:59:14 2018 (63 seconds)
End rpmdb      : 1702:afb10cde84527e2ca5bb9f03ad34b40b036b160c
User           : root <root>
Return-Code    : Success
Command Line   : update
Transaction performed with:
    Installed     rpm-4.11.3-32.el7.x86_64                      @base
    Installed     yum-3.4.3-158.el7.centos.noarch               @base
    Installed     yum-metadata-parser-1.1.4-10.el7.x86_64       @anaconda
    Installed     yum-plugin-fastestmirror-1.1.31-45.el7.noarch @base
Packages Altered:
    Updated iwl100-firmware-39.31.5.1-62.1.el7_5.noarch                 @updates
    Update                  39.31.5.1-62.2.el7_5.noarch                 @updates
    Updated iwl1000-firmware-1:39.31.5.1-62.1.el7_5.noarch              @updates
    Update                   1:39.31.5.1-62.2.el7_5.noarch              @updates
    Updated iwl105-firmware-18.168.6.1-62.1.el7_5.noarch                @updates
    Update                  18.168.6.1-62.2.el7_5.noarch                @updates
    Updated iwl135-firmware-18.168.6.1-62.1.el7_5.noarch                @updates
    Update                  18.168.6.1-62.2.el7_5.noarch                @updates
    Updated iwl2000-firmware-18.168.6.1-62.1.el7_5.noarch               @updates
    Update                   18.168.6.1-62.2.el7_5.noarch               @updates
    Updated iwl2030-firmware-18.168.6.1-62.1.el7_5.noarch               @updates
    Update                   18.168.6.1-62.2.el7_5.noarch               @updates
    Updated iwl3160-firmware-22.0.7.0-62.1.el7_5.noarch                 @updates
    Update                   22.0.7.0-62.2.el7_5.noarch                 @updates
    Updated iwl3945-firmware-15.32.2.9-62.1.el7_5.noarch                @updates
    Update                   15.32.2.9-62.2.el7_5.noarch                @updates
    Updated iwl4965-firmware-228.61.2.24-62.1.el7_5.noarch              @updates
    Update                   228.61.2.24-62.2.el7_5.noarch              @updates
    Updated iwl5000-firmware-8.83.5.1_1-62.1.el7_5.noarch               @updates
    Update                   8.83.5.1_1-62.2.el7_5.noarch               @updates
    Updated iwl5150-firmware-8.24.2.2-62.1.el7_5.noarch                 @updates
    Update                   8.24.2.2-62.2.el7_5.noarch                 @updates
    Updated iwl6000-firmware-9.221.4.1-62.1.el7_5.noarch                @updates
    Update                   9.221.4.1-62.2.el7_5.noarch                @updates
    Updated iwl6000g2a-firmware-17.168.5.3-62.1.el7_5.noarch            @updates
    Update                      17.168.5.3-62.2.el7_5.noarch            @updates
    Updated iwl6000g2b-firmware-17.168.5.2-62.1.el7_5.noarch            @updates
    Update                      17.168.5.2-62.2.el7_5.noarch            @updates
    Updated iwl6050-firmware-41.28.5.1-62.1.el7_5.noarch                @updates
    Update                   41.28.5.1-62.2.el7_5.noarch                @updates
    Updated iwl7260-firmware-22.0.7.0-62.1.el7_5.noarch                 @updates
    Update                   22.0.7.0-62.2.el7_5.noarch                 @updates
    Updated iwl7265-firmware-22.0.7.0-62.1.el7_5.noarch                 @updates
    Update                   22.0.7.0-62.2.el7_5.noarch                 @updates
    Install kernel-3.10.0-862.3.3.el7.x86_64                            @updates
    Install kernel-devel-3.10.0-862.3.3.el7.x86_64                      @updates
    Updated kernel-headers-3.10.0-862.3.2.el7.x86_64                    @updates
    Update                 3.10.0-862.3.3.el7.x86_64                    @updates
    Updated kernel-tools-3.10.0-862.3.2.el7.x86_64                      @updates
    Update               3.10.0-862.3.3.el7.x86_64                      @updates
    Updated kernel-tools-libs-3.10.0-862.3.2.el7.x86_64                 @updates
    Update                    3.10.0-862.3.3.el7.x86_64                 @updates
    Updated linux-firmware-20180220-62.1.git6d51311.el7_5.noarch        @updates
    Update                 20180220-62.2.git6d51311.el7_5.noarch        @updates
    Updated python-perf-3.10.0-862.3.2.el7.x86_64                       @updates
    Update              3.10.0-862.3.3.el7.x86_64                       @updates
    Updated sogo-4.0.0.20180604-1.el7.centos.x86_64                     @SOGo
    Update       4.0.0.20180621-1.el7.centos.x86_64                     @SOGo
    Updated sogo-activesync-4.0.0.20180604-1.el7.centos.x86_64          @SOGo
    Update                  4.0.0.20180621-1.el7.centos.x86_64          @SOGo
    Updated sogo-ealarms-notify-4.0.0.20180604-1.el7.centos.x86_64      @SOGo
    Update                      4.0.0.20180621-1.el7.centos.x86_64      @SOGo
    Updated sogo-tool-4.0.0.20180604-1.el7.centos.x86_64                @SOGo
    Update            4.0.0.20180621-1.el7.centos.x86_64                @SOGo
    Updated sope49-appserver-4.9-20180508_1664.el7.1.x86_64             @SOGo
    Update                   4.9-20180612_1664.el7.1.x86_64             @SOGo
    Updated sope49-cards-4.0.0.20180604-1.el7.centos.x86_64             @SOGo
    Update               4.0.0.20180621-1.el7.centos.x86_64             @SOGo
    Updated sope49-core-4.9-20180508_1664.el7.1.x86_64                  @SOGo
    Update              4.9-20180612_1664.el7.1.x86_64                  @SOGo
    Updated sope49-gdl1-4.9-20180508_1664.el7.1.x86_64                  @SOGo
    Update              4.9-20180612_1664.el7.1.x86_64                  @SOGo
    Updated sope49-gdl1-contentstore-4.0.0.20180604-1.el7.centos.x86_64 @SOGo
    Update                           4.0.0.20180621-1.el7.centos.x86_64 @SOGo
    Updated sope49-gdl1-postgresql-4.9-20180508_1664.el7.1.x86_64       @SOGo
    Update                         4.9-20180612_1664.el7.1.x86_64       @SOGo
    Updated sope49-ldap-4.9-20180508_1664.el7.1.x86_64                  @SOGo
    Update              4.9-20180612_1664.el7.1.x86_64                  @SOGo
    Updated sope49-mime-4.9-20180508_1664.el7.1.x86_64                  @SOGo
    Update              4.9-20180612_1664.el7.1.x86_64                  @SOGo
    Updated sope49-sbjson-2.3.1-20180508_1664.el7.1.x86_64              @SOGo
    Update                2.3.1-20180612_1664.el7.1.x86_64              @SOGo
    Updated sope49-xml-4.9-20180508_1664.el7.1.x86_64                   @SOGo
    Update             4.9-20180612_1664.el7.1.x86_64                   @SOGo
history info
Viewing all 12090 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>