Servidor MySQL · 5 min read · Sep 20, 2025

O Servidor Perfeito - OpenSUSE 11.3 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

Em seguida, adicionamos os links de inicialização do sistema para o MySQL e o iniciamos:

chkconfig –add mysql
/etc/init.d/mysql start

Agora verifique se a rede está habilitada. Execute

netstat -tap | grep mysql

Na saída, você deve ver algo como isto:

server1:~ # netstat -tap | grep mysql
tcp 0 0 :mysql :* LISTEN 5336/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 restart

Para garantir a instalação do MySQL, execute:

mysql_secure_installation

Agora você será solicitado a responder várias perguntas:

server1:~ # mysql_secure_installation

NOTA: É RECOMENDADO EXECUTAR TODAS AS PARTES DESTE SCRIPT PARA TODOS OS SERVIDORES MySQL EM USO EM 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 ainda não definiu a senha do root, 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 pessoa faça login no MySQL sem precisar ter uma conta de usuário criada para ela. Isso é destinado apenas para testes e para facilitar um pouco 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 deve agora estar segura.

Obrigado por usar o MySQL!

server1:~ #

Agora sua configuração do MySQL deve estar segura.

Agora precisamos fazer isso…

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 procmail

Em seguida, adicionamos os links de inicialização do sistema para o Postfix e o saslauthd e os iniciamos:

chkconfig –add postfix
/etc/init.d/postfix start

chkconfig –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.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted

mv -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 hostname/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 restart

Para ver se o SMTP-AUTH e o TLS funcionam corretamente, execute o seguinte comando:

telnet localhost 25

Depois de estabelecer a conexão com seu servidor de email Postfix, digite

ehlo localhost

Se você ver as linhas

250-STARTTLS

e

250-AUTH LOGIN PLAIN 

tudo está bem.

No meu sistema, a saída é assim:

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 LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Conexão fechada pelo host remoto.
server1:/etc/postfix/ssl #

Digite

quit

para 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 tcl

Depois, adicionamos os links de inicialização do sistema e iniciamos POP3, IMAP, POP3s e IMAPs:

chkconfig –add fam
chkconfig –add courier-authdaemon
chkconfig –add courier-pop
chkconfig –add courier-imap
/etc/init.d/courier-pop start
/etc/init.d/courier-imap start
chkconfig –add courier-pop-ssl
chkconfig –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 no 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.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.