Adicionando Usantes e Grupos
Antes de compilar o programa, você precisa criar usantes e grupos
que serão esperados estarem no lugar durante a instalação.
Adicione os(as) usantes e grupos com os seguintes comandos
emitidos pelo(a) usante root:
groupadd -g 32 postfix &&
groupadd -g 33 postdrop &&
useradd -c "Usante do Processo de Segundo Plano do Postfix" -d /var/spool/postfix -g postfix \
-s /bin/false -u 32 postfix &&
chown -v postfix:postfix /var/mail
Configurando a Construção
Os arquivos README são formatados para serem lidos com um
paginador como less ou
more. Se você quiser usar um
editor de texto, torne-os legíveis com o seguinte sed:
sed -i 's/.\x08//g' README_FILES/*
A árvore do fonte do "Postfix"
não contém um conjunto de comandos sequenciais "configure", em vez disso, o "makefile" no
diretório de nível superior contém um alvo "makefiles" que regenera todos os outros
"makefiles" na árvore de construção. Se desejar usar software
adicional, como uma estrutura de retaguarda de base de dados para
usuários(as) virtuais ou autenticação "TLS"/"SSL", [então] você
precisará regenerar os "makefiles" usando uma ou mais das
configurações apropriadas "CCARGS" e
"AUXLIBS" listadas abaixo.
Nota
Para todas as variantes do CCARGS, você deveria garantir que
'-DNO_NIS' esteja especificado, de forma que a construção não
tente acessar um cabeçalho de rpcsvc que não existe no BLFS. Se
Berkeley DB (obsoleto) não estiver instalado, '-DNO_DB'
também precisa ser especificado.
Para mais detalhes, leiam-se os arquivos "readme".
Inicialize a CCARGS e AUXLIBS de acordo com a observação acima:
CCARGS="-DNO_NIS -DNO_DB"
AUXLIBS=""
A seguir, as variáveis CCARGS e
AUXLIBS são preenchidas com
configurações dependendo da atual configuração do sistema. Se um
pacote opcional estiver instalado, mas deveria não estar incluído na construção do
Postfix, simplesmente ignore os
correspondentes fragmentos de script if [ ...
]; then.
Para usar o "Cyrus-SASL" com o
"Postfix", use os seguintes
argumentos:
if [ -r /usr/lib/libsasl2.so ]; then
CCARGS="$CCARGS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl"
AUXLIBS="$AUXLIBS -lsasl2"
fi
Para usar o LMDB com o
Postfix, use os seguintes
argumentos:
if [ -r /usr/lib/liblmdb.so ]; then
CCARGS="$CCARGS -DHAS_LMDB"
AUXLIBS_LMDB="-llmdb"
fi
Para usar o "OpenLDAP" com o
"Postfix", use os seguintes
argumentos:
if [ -r /usr/lib/libldap.so -a -r /usr/lib/liblber.so ]; then
CCARGS="$CCARGS -DHAS_LDAP"
AUXLIBS="$AUXLIBS -lldap -llber"
fi
Para usar o "Sqlite" com o
"Postfix", use os seguintes
argumentos:
if [ -r /usr/lib/libsqlite3.so ]; then
CCARGS="$CCARGS -DHAS_SQLITE"
AUXLIBS="$AUXLIBS -lsqlite3 -lpthread"
fi
Para usar MySQL ou
MariaDB com Postfix, use os seguintes argumentos:
if [ -r /usr/lib/libmysqlclient.so ]; then
CCARGS="$CCARGS -DHAS_MYSQL -I/usr/include/mysql"
AUXLIBS="$AUXLIBS -lmysqlclient -lz -lm"
fi
Para usar o "PostgreSQL" com o
"Postfix", use os seguintes
argumentos:
if [ -r /usr/lib/libpq.so ]; then
CCARGS="$CCARGS -DHAS_PGSQL -I/usr/include/postgresql"
AUXLIBS="$AUXLIBS -lpq -lz -lm"
fi
Para usar o "CDB" ou o
"TinyCDB" com o "Postfix", use os seguintes argumentos:
if [ -r </path/to/CDB>/libcdb.a ]; then
CCARGS="$CCARGS -DHAS_CDB"
AUXLIBS="$AUXLIBS </path/to/CDB>/libcdb.a"
fi
Para usar o "OpenSSL" com o
"Postfix", use os seguintes
argumentos:
if [ -r /usr/lib/libssl.so -a -r /usr/lib/libcrypto.so ]; then
CCARGS="$CCARGS -DUSE_TLS -I/usr/include/openssl/"
AUXLIBS="$AUXLIBS -lssl -lcrypto"
fi
OpenSSL é instalado pelo LFS,
de forma que ele deveria estar sempre lá. O if ... then está aqui apenas para consistência.
Instalando o Postfix
Podem existir configurações duplicadas em AUXLIBS, como -lm,
quando ambos, MariaDB e
PostgreSQL são usados. Elas não
danificam. Instale o Postfix
executando os seguintes comandos:
make makefiles \
CCARGS="$CCARGS" \
AUXLIBS="$AUXLIBS" \
AUXLIBS_LMDB="$AUXLIBS_LMDB" \
default_database_type=lmdb \
default_cache_db_type=lmdb &&
make
Esse pacote não vem com uma suíte de teste útil.
Agora, como o(a) usante root:
sh postfix-install -non-interactive \
daemon_directory=/usr/lib/postfix \
manpage_directory=/usr/share/man \
html_directory=/usr/share/doc/postfix-3.11.6/html \
readme_directory=/usr/share/doc/postfix-3.11.6/readme