Exim-4.96
Introdução ao Exim
O pacote "Exim" contém um "Mail
Transport Agent" escrito pela Universidade de Cambridge, lançado
sob a Licença Pública "GNU".
Esse pacote é conhecido por construir e funcionar adequadamente
usando uma plataforma LFS 11.3.
Informação do Pacote
Transferências Adicionais
Dependências do "Exim"
Exigidas
libnsl-2.0.0 e PCRE-8.45
Opcionais
TDB (alternativa ao
GDBM, construído no LFS), Cyrus
SASL-2.1.28, libidn-1.41, Linux-PAM-1.5.2, MariaDB-10.6.12 ou
MySQL, OpenLDAP-2.6.4, GnuTLS-3.8.0,
PostgreSQL-15.2, SQLite-3.40.1, um ambiente gráfico,
Heimdal
GSSAPI e OpenDMARC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/exim
Instalação do Exim
Antes de construir o "Exim", como
o(a) usuário(a) "root
", você
deveria criar o grupo e o(a) usuário(a) "exim
" os quais executarão o processo de segundo
plano "exim":
groupadd -g 31 exim &&
useradd -d /dev/null -c "Processo de Segundo Plano Exim" -g exim -s /bin/false -u 31 exim
Configure o "Exim" com os
seguintes comandos:
sed -e 's,^BIN_DIR.*$,BIN_DIRECTORY=/usr/sbin,' \
-e 's,^CONF.*$,CONFIGURE_FILE=/etc/exim.conf,' \
-e 's,^EXIM_USER.*$,EXIM_USER=exim,' \
-e '/# SUPPORT_TLS=yes/s,^#,,' \
-e '/# USE_OPENSSL/s,^#,,' \
-e 's,^EXIM_MONITOR,#EXIM_MONITOR,' src/EDITME > Local/Makefile &&
printf "USE_GDBM = yes\nDBMLIB = -lgdbm\n" >> Local/Makefile &&
Se você quiser adicionar suporte ao "Linux PAM", [então] execute também os
seguintes comandos:
sed -i '/# SUPPORT_PAM=yes/s,^#,,' Local/Makefile
echo "EXTRALIBS=-lpam" >> Local/Makefile
Construa o "Exim" com o seguinte
comando:
make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) "root
":
make install &&
install -v -m644 doc/exim.8 /usr/share/man/man8 &&
install -v -d -m755 /usr/share/doc/exim-4.96 &&
install -v -m644 doc/* /usr/share/doc/exim-4.96 &&
ln -sfv exim /usr/sbin/sendmail &&
install -v -d -m750 -o exim -g exim /var/spool/exim
Explicações do Comando
sed -e ... >
Local/Makefile: A maioria das opções de
configuração do "Exim" é definida
no "Local/Makefile
", que é criado a
partir do arquivo "src/EDITME
". Esse
comando especifica o conjunto mínimo de opções. As descrições das
opções estão listadas abaixo.
printf ... >
Local/Makefile: Configurar essas variáveis permite
usar o "GDBM" em vez do padrão "Berkeley DB". Remova esse comando
se você tiver instalado "Base de Dados Berkeley-5.3.28".
BIN_DIRECTORY=/usr/sbin
:
Isso instala todos os binários e conjuntos de comandos sequenciais
do "Exim" em "/usr/sbin
".
CONFIGURE_FILE=/etc/exim.conf
: Isso
instala o principal arquivo de configuração do "Exim" em "/etc
".
EXIM_USER=exim
: Isso
informa ao "Exim" que, depois que
o processo de segundo plano não mais precisar de privilégios de
"root
", o processo precisa
transferir o processo de segundo plano para o(a) usuário(a)
"exim
".
SUPPORT_TLS=yes
: Isso
permite suportar conexões "STARTTLS". Se usar essa opção, [então]
você precisa selecionar se o "OpenSSL" ou o "GnuTLS" será usado (veja-se "src/EDITME
").
USE_OPENSSL_PC=openssl
:
Isso informa ao sistema de construção para usar o "OpenSSL" e encontrar as bibliotecas
necessárias com o "pkg-config".
#EXIM_MONITOR
: Isso adia a
construção do aplicativo monitor do "Exim", pois ele exige suporte ao "X Window System", comentando-se a linha
"EXIM_MONITOR
" no
"Makefile
". Se você deseja construir
o aplicativo monitor, [então] omita esse comando "sed" e emita o seguinte comando
antes de construir o pacote (modifique "Local/eximon.conf
", se necessário): "cp exim_monitor/EDITME
Local/eximon.conf".
ln -sfv exim
/usr/sbin/sendmail: Cria um link para "sendmail" para aplicativos que
precisam dele. O "Exim" aceitará a
maioria das opções de linha de comando do "Sendmail".
install -v -m750 -o exim -g exim
/var/spool/exim: Como "/var/spool" é propriedade do
"root" e essa versão do "exim" elimina os privilégios de
"root
" antecipadamente, para
executar como usuário(a) "exim
",
ele não consegue criar o diretório "/var/spool/exim
". Como solução alternativa, ele é
criado manualmente.
Adicionando Funcionalidade Adicional
Para utilizar alguns ou todos os pacotes de dependências, você
precisará modificar "Local/Makefile
"
para incluir as diretivas e parâmetros apropriadas para vincular
bibliotecas adicionais antes de construir o "Exim". O "Local/Makefile
" é bastante comentado com
instruções relativas a como fazer isso. Listadas abaixo estão
informações adicionais para te ajudar a vincular esses pacotes de
dependências ou adicionar funcionalidades adicionais.
Se você deseja construir e instalar a documentação ".info
", [então] consulte
https://exim.org/exim-html-4.96/doc/
html/spec_html/ch04.html#SECTinsinfdoc.
Se você deseja construir interfaces do "Exim" para chamar
logiciário de verificação de vírus e de "spam" diretamente a partir
de listas de controle de acesso, [então] descomente o parâmetro
"WITH_CONTENT_SCAN=yes
" e revise as
informações encontradas em https://exim
.org/exim-html-4.96/doc/html/spec_html/ch45.html.
Para usar uma base de dados de estrutura de retaguarda diferente do
"GDBM", vejam-se as instruções em
https://exim.org/exim-html-4.96/doc/html/spec_html/ch04.
html#SECTdb.
Para funcionalidade "SSL", vejam-se as instruções em
https://exim.org/exim-html-4.96/doc/html/spec_html/ch04.html#SECTinctlsssl
e https://exim.org/exim-html-4.96/doc/html/spec_html/ch42.html.
Para a funcionalidade "tcpwrappers", vejam-se as instruções em
https://exim.org/exim-html-4.96/doc/html/spec_html/ch04.html#SECID27.
Para informações relativas a adicionar mecanismos de autenticação
para a construção, vejam-se os capítulos 33—41 de https://exim.org/exim-html-4.96/doc/html/spec_html/index.html
.
Para informações relativas a vincular o "Linux-PAM", consulte as instruções
https://exim.org/exim-html-4.96/doc/html/spec_html/ch11.html#SECTexpcond.
Para informações relativas a vincular bibliotecas de mecanismo de
base de dados usadas para pesquisas de nome do Exim, vejam-se as instruções em https://exim.org/exim-html-4.96/doc/html/
spec_html/ch09.html.
Se você deseja adicionar suporte "Readline" ao "Exim" quando invocado no modo “expansão de teste”
("-be
"), [então] vejam-se as
informações na seção "-be
" de
https://exim.org/exim-html-4.96/doc/html/spec_html/ch05.html#id2525974
.
Você possivelmente deseje modificar a configuração padrão e enviar
arquivos de registro para o "syslog" em vez do diretório padrão
"/var/spool/exim/log
". Vejam-se as
informações em
https://exim.org/exim-html-4.96/doc/html/spec_html/ch-log_files.html.
Muitas informações também podem ser encontradas na Wiki do Exim.
Configurando o Exim
Arquivos de
Configuração
/etc/exim.conf
e /etc/aliases
Informação de Configuração
Revise o arquivo "/etc/exim.conf
" e
modifique quaisquer configurações para atender às suas
necessidades. Observe que a configuração padrão assume que o
diretório "/var/mail
" é escrevível
mundialmente, mas tem o bit "sticky" configurado. Se você quiser
usar a configuração padrão, [então] emita como o(a) usuário(a)
"root
":
chmod -v a+wt /var/mail
Um arquivo "/etc/aliases
" padrão
(nada além de comentários) é instalado durante a instalação do
pacote se esse arquivo não existir em seu sistema. Crie os
apelidos necessários e inicie o processo de segundo plano
"Exim" usando os seguintes
comandos:
cat >> /etc/aliases << "EOF"
postmaster: root
MAILER-DAEMON: root
EOF
/usr/sbin/exim -bd -q15m
Nota
Para proteger um arquivo "/etc/aliases
" existente, o comando acima
anexa esses apelidos a ele. Esse arquivo deveria ser verificado
e os apelidos duplicados removidos, se presentes.
O comando "/usr/sbin/exim -bd
-q15m" inicia o processo de segundo plano
"Exim" com um intervalo de
quinze (15) minutos no processamento da fila de mensagens. Ajuste
esse parâmetro para atender aos teus desejos.
Configuração do Linux PAM
Se tiver construído o "Exim" com
suporte ao "Linux PAM", [então]
você precisa criar um arquivo de configuração "PAM" para fazê-lo funcionar corretamente com
o BLFS.
Emita o seguinte comando como o(a) usuário(a) "root
" para criar o arquivo de configuração
para o "Linux PAM":
cat > /etc/pam.d/exim << "EOF"
# Inicia /etc/pam.d/exim
auth include system-auth
account include system-account
session include system-session
# Termina /etc/pam.d/exim
EOF
Conjunto de Comandos
Sequenciais de Inicialização
Para iniciar automaticamente o "exim" na inicialização, instale
o conjunto de comandos sequenciais de
iniciação "/etc/rc.d/init.d/exim
"
incluso no pacote "blfs-bootscripts-20230101"
"":
make install-exim
O script de inicialização também inicia o processo de segundo
plano "Exim" e despacha um
processo executor de fila a cada quinze (15) minutos. Modifique o
parâmetro "-q<time interval>
" em
"/etc/rc.d/init.d/exim
", se
necessário para a tua instalação.
Conteúdo
Aplicativos Instalados:
exicyclog, exigrep, exim, exim-4.96-2,
exim_checkaccess, exim_dbmbuild, exim_dumpdb, exim_fixdb,
exim_lock, exim_tidydb, eximstats, exinext, exipick, exiqgrep,
exiqsumm, exiwhat e, opcionalmente, eximon, eximon.bin e
sendmail (link simbólico)
Bibliotecas Instaladas:
Nenhum(a)
Diretórios Instalados:
/usr/share/doc/exim-4.96 e
/var/spool/exim
Descrições Curtas
exicyclog
|
circula arquivos de registro do "Exim"
|
exigrep
|
pesquisa arquivos de registro do "Exim"
|
exim
|
é um link simbólico para o processo de segundo plano
"MTA" "exim-4.96-2"
|
exim-4.96-2
|
é o processo de segundo plano do agente de transporte de
mensagens "Exim"
|
exim_checkaccess
|
declara se um dado endereço de destinatário a partir de
um dado dispositivo é aceitável ou não
|
exim_dbmbuild
|
cria e reconstrói bases de dados do "Exim"
|
exim_dumpdb
|
escreve o conteúdo das bases de dados do "Exim" na saída gerada padrão
|
exim_fixdb
|
modifica dados em bases de dados do "Exim"
|
exim_lock
|
tranca um arquivo de caixa de mensagens
|
exim_tidydb
|
remove registros antigos de bases de dados do
"Exim"
|
eximstats
|
gera estatísticas de mensagens a partir de arquivos de
registro do "Exim"
|
exinext
|
consulta tempos de re tentativa do dispositivo remoto
|
exipick
|
seleciona mensagens baseadas em vários critérios
|
exiqgrep
|
é um utilitário para listagem seletiva de filas
|
exiqsumm
|
produz um resumo das mensagens na fila de mensagens
|
exiwhat
|
consulta executando processos "Exim"
|
eximon
|
é um conjunto de comandos sequenciais de "shell" de
inicialização para "eximon.bin" usado para
configurar as variáveis de ambiente exigidas antes de
executar o aplicativo
|
eximon.bin
|
é um aplicativo monitor que exibe informações atuais em
uma janela do "X" e
também contém uma interface de menu para as opções de
administração de linha de comando do "Exim"
|