User Tools

Site Tools


exim4:install_exim4_complete

This is an old revision of the document!


Exim4 - Install Exim4 Complete

Our mail server supports virtual accounts using the MySQL database (enable set like MySQL, I spoke here ), SMTP-authentication and secure connection TLS / SSL.

To use TLS / SSL create a certificate.

mkdir -p /etc/ssl/certs 
cd /etc/ssl/certs 
openssl req -x509 -newkey rsa:1024 -keyout mail.pem -out mail.pem \ ? -days 9999 -nodes

Less than 9999 days exist before the Unix / Linux 32-bit date wrap-around occurs.

Country Name (2 letter code) [CA]: 
State or Province Name (full name) [Quebec]: 
Locality Name (eg, city) [Montreal]: 
Organization Name (eg, company) [Open Network Architecture]: 
Organizational Unit Name (eg, section) [Internet Department]: 
Common Name (eg, YOUR name) []: 
Email Address []:

Fills as your heart desires (because you're not going to pay for the certificate), except for the string Common Name (eg, YOUR name) []. Here you need to enter the name of our server:

Common Name (eg, YOUR name) []: sharewiz.net

In the directory /etc/ssl/certs appeared certificate file mail.pem, which in the future we will use for the secure connection to our mail server. We carry on this file two more opertsii:

chmod 440 /etc/ssl/certs/mail.pem 
chgrp mail /etc/ssl/certs/mail.pem

The certificate is over, now the loans directly to Exim.

For Exim we need a non-privileged user that belongs to the group mail. Create it.

pw useradd exim -c "Exim" -d /var/spool/mqueue -s /sbin/nologin -g mail 
exit 
cat /etc/passwd | grep exim

The last command we find that your account has exim uid = 1003, and gid = 6. These data we need in the configuration.

Pick the latest version of Exim (as of this writing - 4.50) from site www.exim.org. Do not take the earlier version. This is due to the fact that, since version 4.50, previously separately existing patch exiscan-acl is integrated in the source code.

cd $HOME/install 
links www.exim.org 
tar xzfv exim-4.50.tar.gz 
cd exim-4.50 
cp src/EDITME Local/Makefile

Edit the Local/Makefile

ee Local/Makefile

changing

Local/Makefile
  BIN_DIRECTORY = /usr/exim/bin
  on 
 
  BIN_DIRECTORY = /usr/local/exim/bin
  Here we specify the installation path Exim executable files. 
 
  CONFIGURE_FILE = /usr/exim/configure
  on 
 
  CONFIGURE_FILE = /usr /local/exim/configure
  Here we specify the name and path of the configuration file. 
 
  EXIM_USER =
  on 
 
  EXIM_USER = 1003
  # EXIM_GROUP =
  on 
 
  EXIM_GROUP = 6
  Remember I talked about the uid and gid?  Right now we need them.  Please enter a numeric user and group IDs on whose behalf will run Exim. 
 
  SPOOL_DIRECTORY = /var/spool/exim
  on 
 
  SPOOL_DIRECTORY = /var/spool/mqueue
  Here we specify the name of the spool-directory. 
 
  # SUPPORT_MAILDIR = yes
  on 
 
  SUPPORT_MAILDIR = yes
  Here we include support for Maildir. 
 
  # LOOKUP_MYSQL = yes
  on 
 
  LOOKUP_MYSQL = yes
  Here we include support for MySQL. 

To find the path to library files and MySQL headers, execute:

/usr/local/mysql/bin/mysql_config

Result

Usage: /usr/local/mysql/bin/mysql_config [OPTIONS]
 Options:
 --cflags [-I /usr/local/mysql/include/mysql -fomit-frame-pointer]
 --include [-I /usr/local/mysql/include/mysql]
 --libs [-L /usr/local/mysql/ lib/mysql -lmysqlclient -lz -lcrypt -lm]
 --libs_r [-L /usr/local/mysql/lib/mysql -lmysqlclient_r -lz -lcrypt -lm
   -lpthread]
 --socket [/tmp/mysql.sock]
 --port [3306]
 --version [4.1.10a]
 --libmysqld-libs [-L /usr/local/mysql/lib/mysql -lmysqld -lcrypt -lm -lpthread]

These values ​​are substituted into the lines below …

 # LOOKUP_INCLUDE = -I /usr/local/ldap/include -I /usr/local/mysql/include
 # LOOKUP_LIBS = -L /usr/local/lib -lldap -llber -lmysqlclient -lpq
 
  on 
 
 LOOKUP_INCLUDE = -I /usr/local/mysql/include/mysql 
 LOOKUP_LIBS = -L /usr/local/mysql/lib/mysql -lmysqlclient -lz -lcrypt -lm
  EXIM_MONITOR = eximon.bin
  on 
 
  # EXIM_MONITOR = eximon.bin
  Here, we turn off support for Exim Monitor. 
 
  For Exim Monitor requires X11, contact is not used. 
 
  # WITH_CONTENT_SCAN = yes
  on 
 
  WITH_CONTENT_SCAN = yes
  # WITH_OLD_DEMIME = yes
  on 
 
  WITH_OLD_DEMIME = yes
  Here we include an option that will help Exim work with ClamAV and Spamassassin.  These are the same options that were not available prior to version 4.50.  He saved patch exiscan-acl. 
 
  # AUTH_CRAM_MD5 = yes 
  # AUTH_PLAINTEXT = yes
  on 
 
  AUTH_CRAM_MD5 = yes 
  AUTH_PLAINTEXT = yes
  Here we include of SMTP-authentication support for PLAIN and CRAM-MD5. 
 
  # SUPPORT_TLS = yes
  on 
 
  SUPPORT_TLS = yes
  Here we include TLS / SSL support for secure connection. 
 
  # TLS_LIBS = -lssl -lcrypto
  on 
 
  TLS_LIBS = -lssl -lcrypto
  Here we specify the names of libraries for TLS / SSL. 
 
  # LOG_FILE_PATH = / var / log / exim_% slog
  on 
 
  LOG_FILE_PATH = / var / log / exim / exim_% slog
  Putting log files to a separate directory. 
 
  EXICYCLOG_MAX = 10
  on 
 
  EXICYCLOG_MAX = 20
  Number of saved log files do I increase to 20 in the event debriefing with his superiors: "Where's my letter, which I sent two weeks ago?" 
 
  # EXIM_PERL = perl.o
  on 
 
  EXIM_PERL = perl.o
  Here we include support perl, to ensure the use of Perl-compatible regular expressions, etc ... 
 
  # CHOWN_COMMAND = / usr / bin / chown
  on 
 
  CHOWN_COMMAND = / usr / sbin / chown
  Here we specify the correct path to the chown command. 
 
  # SUPPORT_MOVE_FROZEN_MESSAGES = yes
  on 
 
  SUPPORT_MOVE_FROZEN_MESSAGES = yes
  Here we include support for the automatic movement "frozen" posts of the input directories and directories msglog Finput and Fmsglog main spool. 

Save the changes. It remains to compile and install Exim.

make 
su 
make install

After the installation is complete, you need to create a symbolic link, this will do the following:

ln -fs /usr/local/exim/bin/exim /usr/lib/sendmail 
ln -fs /usr/local/exim/bin/exim /usr/sbin/sendmail 
ln -fs /usr/local/exim/bin/exim /usr/bin/mailq 
ln -fs /usr/local/exim/bin/exim /usr/bin/runq 

After that you want to remove from the object files Exim table name and line number information for this issue:

strip /usr/local/exim/bin/exim* 
exit

Before configuring Exim, you need to create a database, the user and the appropriate table for this issue:

exim4/install_exim4_complete.1478605783.txt.gz · Last modified: 2020/07/15 09:30 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki