# Postfix setup

## Kurogane

Hello,

I'm having a problem to install postix i just did clean install follow this guide http://wiki.gentoo.org/wiki/Postfix and when i try to start postfix give me this error.

```
 # /etc/init.d/postfix start

 * Starting postfix  ...                                                                                                                                                                                                                                                 [ !! ]

 * ERROR: postfix failed to start
```

the /var/log/maillog is empy so i'm not sure why fail to start.

----------

## platojones

You could try starting it with debug turned on:

```
/etc/init.d/postfix -d start
```

----------

## Kurogane

Same nothing to see the cause.

```

# /etc/init.d/postfix -d start

+ _conf_d=/etc/init.d/../conf.d

+ _c=postfix

+ '[' -n postfix -a postfix '!=' postfix ']'

+ unset _c

+ sourcex -e /etc/init.d/../conf.d/postfix.default

+ '[' -e = -e ']'

+ shift

+ '[' -e /etc/init.d/../conf.d/postfix.default ']'

+ return 1

+ sourcex -e /etc/init.d/../conf.d/postfix

+ '[' -e = -e ']'

+ shift

+ '[' -e /etc/init.d/../conf.d/postfix ']'

+ return 1

+ unset _conf_d

+ sourcex -e /etc/rc.conf

+ '[' -e = -e ']'

+ shift

+ '[' -e /etc/rc.conf ']'

+ . /etc/rc.conf

++ rc_shell=/sbin/sulogin

++ unicode=YES

++ rc_tty_number=12

+ '[' -n '' ']'

++ command -v cgroup_add_service

+ '[' cgroup_add_service = cgroup_add_service ']'

+ cgroup_add_service /sys/fs/cgroup/openrc

+ for d in '/sys/fs/cgroup/*'

+ '[' -f /sys/fs/cgroup/openrc/tasks ']'

+ openrc_cgroup=/sys/fs/cgroup/openrc

+ '[' -d /sys/fs/cgroup/openrc ']'

+ cgroup=/sys/fs/cgroup/openrc/postfix

+ mkdir -p /sys/fs/cgroup/openrc/postfix

+ '[' -f /sys/fs/cgroup/openrc/postfix/tasks ']'

+ cgroup_add_service /sys/fs/cgroup/systemd/system

+ for d in '/sys/fs/cgroup/*'

+ '[' -f /sys/fs/cgroup/openrc/tasks ']'

+ openrc_cgroup=/sys/fs/cgroup/openrc

+ '[' -d /sys/fs/cgroup/openrc ']'

+ cgroup=/sys/fs/cgroup/openrc/postfix

+ mkdir -p /sys/fs/cgroup/openrc/postfix

+ '[' -f /sys/fs/cgroup/openrc/postfix/tasks ']'

++ command -v cgroup_set_limits

+ '[' cgroup_set_limits = cgroup_set_limits ']'

+ cgroup_set_limits

+ local blkio=

+ '[' -n '' ']'

+ local cpu=

+ '[' -n '' ']'

+ local cpuacct=

+ '[' -n '' ']'

+ local cpuset=

+ '[' -n '' ']'

+ local devices=

+ '[' -n '' ']'

+ local memory=

+ '[' -n '' ']'

+ local net_prio=

+ '[' -n '' ']'

+ return 0

+ sourcex /etc/init.d/postfix

+ '[' /etc/init.d/postfix = -e ']'

+ . /etc/init.d/postfix

++ extra_started_commands='reload abort flush'

++ description_reload='Re-read configuration files. Running processes terminate at their earliest convenience.'

++ description_abort='Stop the Postfix mail system abruptly. Running processes are signaled to stop immediately.'

++ description_flush='Force delivery: attempt to deliver every message in the deferred mail queue.'

++ CONF_DIR=/etc/postfix

++ CONF_OPT=postfix

++ '[' -n postfix -a postfix '!=' postfix ']'

++ '[' /etc/postfix = /etc/postfix ']'

++ CONF_PARAM=

++ CONF_MESSAGE=

+ unset _d

+ unset _f

+ '[' -n '' ']'

+ '[' -n start ']'

+ '[' start = depend ']'

+ for _cmd in describe start stop status '${extra_commands:-$opts}' '$extra_started_commands' '$extra_stopped_commands'

+ '[' describe = start ']'

+ for _cmd in describe start stop status '${extra_commands:-$opts}' '$extra_started_commands' '$extra_stopped_commands'

+ '[' start = start ']'

++ command -v start

+ '[' start = start ']'

+ yesno

+ '[' -z '' ']'

+ return 1

+ for _cmd in '$extra_started_commands'

+ '[' reload = start ']'

+ for _cmd in '$extra_started_commands'

+ '[' abort = start ']'

+ for _cmd in '$extra_started_commands'

+ '[' flush = start ']'

+ for _cmd in '$extra_stopped_commands'

+ '[' cgroup_cleanup = start ']'

+ unset _cmd

+ case $1 in

+ verify_boot

+ '[' '!' -e /run/openrc/softlevel ']'

+ return 0

++ command -v start_pre

+ '[' '' = start_pre ']'

+ start

+ '[' '!' -z '' ']'

+ ebegin 'Starting postfix '

 * Starting postfix  ...

+ '[' '!' -d /etc/postfix ']'

+ /usr/sbin/postfix start

+ eend 1                                                                                                                                                                                                                                                                 [ !! ]

+ exit 1

 * ERROR: postfix failed to start

```

----------

## platojones

Well, it is giving information, actually.

See what you get when you run this:

```
/usr/sbin/postfix check
```

----------

## Kurogane

```

 # /usr/sbin/postfix check

postfix: fatal: chdir(/usr/lib64/postfix): No such file or directory

```

Looking for that i found this.

```

 # eselect news list

News items:

  [1]   N  2010-02-21  MySQL 5.1 unmasking and upgrade procedures

  [2]   N  2010-03-25  Python 3.1

  [3]   N  2010-08-01  (2010-08-01-as-needed-default - removed?)

  [4]   N  2010-10-22  Perl 5.12 upgrade procedure

  [5]   N  2011-05-01  Baselayout update

  [6]   N  2011-10-15  Upgrade to libpng15

  [7]   N  2012-03-16  (2012-03-16-udev-181-unmasking - removed?)

  [8]   N  2012-04-24  The default JPEG implementation

  [9]   N  2012-05-21  Portage config-protect-if-modified default

  [10]  N  2012-07-23  Upgrading to postfix-2.9

  [11]  N  2012-09-09  (2012-09-09-make.conf-and-make.profile-move - removed?)

  [12]  N  2012-11-06  PYTHON_TARGETS deployment

  [13]  N  2013-01-23  (2013-01-23-udev-upgrade - removed?)

  [14]  N  2013-02-10  New 13.0 profiles and deprecation of 10.0 profiles

  [15]  N  2013-03-29  Upgrading udev to version >=200

  [16]  N  2013-06-07  Portage preserve-libs default

  [17]  N  2013-08-23  Language of messages in emerge logs and output

  [18]  N  2013-09-27  Separate /usr on Linux requires initramfs

  [19]  N  2013-11-07  python-exec package move

  [20]  N  2014-02-25  Upgrade to >=sys-fs/udev-210

```

```

# eselect news read 10

2012-07-23-upgrading-postfix 

  Title                     Upgrading to postfix-2.9 

  Author                    Eray Aslan <eras@gentoo.org> 

  Posted                    2012-07-23 

  Revision                  1 

Daemons for >=mail-mta/postfix-2.9 are installed under 

/usr/libexec/postfix.  Please do not forget to adjust your main.cf by 

running etc-update/dispatch-conf or similar and accepting the new 

daemon_directory setting.  Otherwise, postfix will not be able to find 

the binaries it is looking for

```

2014, and still not "fixed" change that in main.cf?

----------

## platojones

It has been fixed in main.cf...you have to use etc-update or dispatch-conf to install the new configuration files.  Just be aware, if you do install the latest though, it will overwrite you current main.cf.

----------

