MySQL e Postfix · 5 min read · Dec 16, 2025
O Servidor Perfeito - OpenSUSE 11.4 x86_64 [ISPConfig 2] - Página 4
8 MySQL
Para instalar o MySQL, executamos
yast2 -i mysql mysql-community-server mysql-client perl-DBD-mysql perl-DBI perl-Data-ShowTable libmysqlclient-devel libmysqlclient16 libmysqlclient16-32bit libmysqlclient_r16-32bit
Então, adicionamos os links de inicialização do sistema para o MySQL e o iniciamos:
chkconfig -f –add mysql
/etc/init.d/mysql start
Agora verifique se a rede está habilitada. Execute
netstat -tap | grep mysqlNa saída, você deve ver algo como isto:
server1:~ # netstat -tap | grep mysql
tcp 0 0 :mysql :* LISTEN 5059/mysqld
server1:~ #
Se você não ver uma linha como esta, edite /etc/my.cnf, comente a opção skip-networking:
vi /etc/my.cnf| [...] #skip-networking [...] |
e reinicie seu servidor MySQL:
/etc/init.d/mysql restartPara garantir a instalação do MySQL, execute:
mysql_secure_installationAgora você será questionado várias perguntas:
server1:~ # mysql_secure_installation
NOTA: É RECOMENDADO EXECUTAR TODAS AS PARTES DESTE SCRIPT PARA TODOS OS SERVIDORES MySQL EM USO DE PRODUÇÃO! POR FAVOR, LEIA CADA PASSO CUIDADOSAMENTE!
Para fazer login no MySQL e garantir sua segurança, precisaremos da senha atual do usuário root. Se você acabou de instalar o MySQL e não definiu a senha do root ainda, a senha estará em branco, então você deve apenas pressionar enter aqui.
Digite a senha atual para root (pressione enter para nenhum): <– ENTER
OK, senha usada com sucesso, prosseguindo…
Definir a senha do root garante que ninguém possa fazer login no usuário root do MySQL sem a devida autorização.
Definir senha do root? [Y/n] <– ENTER
Nova senha: <– yourrootsqlpassword
Reinsira a nova senha: <– yourrootsqlpassword
Senha atualizada com sucesso!
Recarregando tabelas de privilégios..
… Sucesso!
Por padrão, uma instalação do MySQL tem um usuário anônimo, permitindo que qualquer um faça login no MySQL sem precisar ter uma conta de usuário criada para eles. Isso é destinado apenas para testes e para facilitar a instalação. Você deve removê-los antes de passar para um ambiente de produção.
Remover usuários anônimos? [Y/n] <– ENTER
… Sucesso!
Normalmente, o root deve ser permitido apenas conectar-se de ‘localhost’. Isso garante que alguém não possa adivinhar a senha do root pela rede.
Desabilitar login remoto do root? [Y/n] <– ENTER
… Sucesso!
Por padrão, o MySQL vem com um banco de dados chamado ‘test’ que qualquer um pode acessar. Isso também é destinado apenas para testes e deve ser removido antes de passar para um ambiente de produção.
Remover banco de dados de teste e acesso a ele? [Y/n] <– ENTER
- Removendo banco de dados de teste…
… Sucesso! - Removendo privilégios no banco de dados de teste…
… Sucesso!
Recarregar as tabelas de privilégios garantirá que todas as alterações feitas até agora tenham efeito imediato.
Recarregar tabelas de privilégios agora? [Y/n] <– ENTER
… Sucesso!
Limpando…
Tudo pronto! Se você completou todos os passos acima, sua instalação do MySQL agora deve estar segura.
Obrigado por usar o MySQL!
server1:~ #
Agora sua configuração do MySQL deve estar segura.
Agora precisamos fazer isto…
mkdir -p /usr/local/lib/mysql
ln -s /usr/include/mysql /usr/local/lib/mysql/include
ln -s /usr/lib64/mysql /usr/local/lib/mysql/lib
cd /usr/local/lib/mysql/lib
ln -s /usr/lib64/libmysqlclient.so.16.0.0 libmysqlclient.so
ln -s /usr/lib64/libmysqlclient.so.16.0.0 libmysqlclient.so.16
ln -s /usr/lib64/libmysqlclient.so.16.0.0 libmysqlclient.so.16.0.0
ln -s /usr/lib64/libmysqlclient_r.so.16.0.0 libmysqlclient_r.so
ln -s /usr/lib64/libmysqlclient_r.so.16.0.0 libmysqlclient_r.so.16
ln -s /usr/lib64/libmysqlclient_r.so.16.0.0 libmysqlclient_r.so.16.0.0
… porque caso contrário, teríamos o seguinte erro durante a instalação do ISPConfig:
configure: error: Cannot find libmysqlclient under /usr/local/lib/mysql. 9 Postfix Com SMTP-AUTH E TLS
Agora vamos instalar o Postfix e o Cyrus-SASL:
yast2 -i postfix cyrus-sasl cyrus-sasl-crammd5 cyrus-sasl-digestmd5 cyrus-sasl-gssapi cyrus-sasl-otp cyrus-sasl-plain cyrus-sasl-saslauthd procmailEntão, adicionamos os links de inicialização do sistema para o Postfix e o saslauthd e os iniciamos:
chkconfig -f –add postfix
/etc/init.d/postfix start
chkconfig -f –add saslauthd
/etc/init.d/saslauthd start
Depois, criamos os certificados para TLS:
mkdir /etc/postfix/ssl
cd /etc/postfix/ssl/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crtopenssl rsa -in smtpd.key -out smtpd.key.unencryptedmv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
Em seguida, configuramos o Postfix para SMTP-AUTH e TLS:
postconf -e ‘mydomain = example.com’
postconf -e ‘myhostname = server1.$mydomain’
postconf -e ‘mynetworks = 127.0.0.0/8’
postconf -e ‘smtpd_sasl_local_domain =’
postconf -e ‘smtpd_sasl_auth_enable = yes’
postconf -e ‘smtpd_sasl_security_options = noanonymous’
postconf -e ‘broken_sasl_auth_clients = yes’
postconf -e ‘smtpd_sasl_authenticated_header = yes’
postconf -e ‘smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,check_relay_domains’
postconf -e ‘inet_interfaces = all’
postconf -e ‘alias_maps = hash:/etc/aliases’
postconf -e ‘smtpd_tls_auth_only = no’
postconf -e ‘smtp_use_tls = yes’
postconf -e ‘smtpd_use_tls = yes’
postconf -e ‘smtp_tls_note_starttls_offer = yes’
postconf -e ‘smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key’
postconf -e ‘smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt’
postconf -e ‘smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem’
postconf -e ‘smtpd_tls_loglevel = 1’
postconf -e ‘smtpd_tls_received_header = yes’
postconf -e ‘smtpd_tls_session_cache_timeout = 3600s’
postconf -e ‘tls_random_source = dev:/dev/urandom’
(Assegure-se de usar o nome de host/dominio correto em mydomain e myhostname!)
Para habilitar conexões TLS no Postfix, edite /etc/postfix/master.cf e descomente a linha tlsmgr para que fique assim:
vi /etc/postfix/master.cf| [...] tlsmgr unix - - n 1000? 1 tlsmgr [...] |
Agora reinicie o Postfix:
/etc/init.d/postfix restartPara ver se SMTP-AUTH e TLS funcionam corretamente, execute o seguinte comando:
telnet localhost 25Depois de estabelecer a conexão com seu servidor de email Postfix, digite
ehlo localhostSe você ver as linhas
250-STARTTLSe
250-AUTH PLAIN LOGIN então tudo está bem.
No meu sistema, a saída se parece com isto:
server1:/etc/postfix/ssl # telnet localhost 25
Tentando ::1…
Conectado a localhost.
O caractere de escape é ‘^]’.
220 server1.example.com ESMTP Postfix
ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Conexão fechada pelo host remoto.
server1:/etc/postfix/ssl #
Digite
quitpara retornar ao shell do sistema.
10 Courier-IMAP/Courier-POP3
Quero usar um daemon POP3/IMAP que tenha suporte a Maildir. É por isso que uso Courier-IMAP e Courier-POP3.
yast2 -i courier-imap fam-server courier-authlib expect tclDepois, adicionamos os links de inicialização do sistema e iniciamos POP3, IMAP, POP3s e IMAPs:
chkconfig -f –add fam
chkconfig -f –add courier-authdaemon
chkconfig -f –add courier-pop
chkconfig -f –add courier-imap
/etc/init.d/courier-pop start
/etc/init.d/courier-imap start
chkconfig -f –add courier-pop-ssl
chkconfig -f –add courier-imap-ssl
/etc/init.d/courier-pop-ssl start
/etc/init.d/courier-imap-ssl start
Se você não quiser usar o ISPConfig, configure o Postfix para entregar emails na Maildir de um usuário:
postconf -e ‘home_mailbox = Maildir/‘
postconf -e ‘mailbox_command =’
/etc/init.d/postfix restart
*Por favor, note: Você não precisa fazer isso (mas não faz mal ;-)) se pretende usar o ISPConfig em seu sistema, pois o ISPConfig faz a configuração necessária usando receitas do procmail. Mas, por favor, certifique-se de habilitar Maildir em Gerenciamento -> Servidor -> Configurações -> EMail na interface web do ISPConfig.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.