Servidor Perfeito · 6 min read · Nov 09, 2025
O Servidor Perfeito - CentOS 6.0 x86_64 [ISPConfig 3] - Página 4
10 Instalar Courier-IMAP, Courier-Authlib e Maildrop
Infelizmente, não há pacotes rpm para Courier-IMAP, Courier-Authlib e Maildrop, portanto, temos que construí-los nós mesmos.
Primeiro, remova o Dovecot (CentOS 6.0 vem com Dovecot 2.x; infelizmente, o ISPConfig 3 suporta Dovecot 1.2.x, mas não 2.x):
yum remove dovecot dovecot-mysqlEm seguida, instale os pré-requisitos que precisamos para construir os pacotes rpm do Courier:
yum install rpm-build gcc mysql-devel openssl-devel cyrus-sasl-devel pkgconfig zlib-devel pcre-devel openldap-devel postgresql-devel expect libtool-ltdl-devel openldap-servers libtool gdbm-devel pam-devel gamin-devel libidn-devel Os pacotes RPM não devem ser construídos como root; o courier-imap até se recusa a compilar se detectar que a compilação está sendo executada como usuário root. Portanto, criamos uma conta de usuário normal agora (falko neste exemplo) e damos a ele uma senha:
useradd -m -s /bin/bash falko
passwd falko
Precisaremos do comando sudo mais tarde para que o usuário falko possa compilar e instalar os pacotes rpm. Mas primeiro, devemos permitir que falko execute todos os comandos usando sudo:
Execute
visudoNo arquivo que se abre, há uma linha root ALL=(ALL) ALL. Adicione uma linha semelhante para falko logo abaixo dessa linha:
| [...] ## Permitir que root execute qualquer comando em qualquer lugar root ALL=(ALL) ALL falko ALL=(ALL) ALL [...] |
Agora estamos prontos para construir nosso pacote rpm. Primeiro, torne-se o usuário falko:
su falkoEm seguida, criamos nosso ambiente de construção:
mkdir $HOME/rpm
mkdir $HOME/rpm/SOURCES
mkdir $HOME/rpm/SPECS
mkdir $HOME/rpm/BUILD
mkdir $HOME/rpm/BUILDROOT
mkdir $HOME/rpm/SRPMS
mkdir $HOME/rpm/RPMS
mkdir $HOME/rpm/RPMS/i386
mkdir $HOME/rpm/RPMS/x86_64
echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacrosAgora criamos um diretório de downloads e baixamos os arquivos fonte de http://www.courier-mta.org/download.php:
mkdir $HOME/downloads
cd $HOME/downloads
wget https://sourceforge.net/projects/courier/files/authlib/0.63.0/courier-authlib-0.63.0.tar.bz2/download
wget https://sourceforge.net/projects/courier/files/imap/4.9.3/courier-imap-4.9.3.tar.bz2/download
wget https://sourceforge.net/projects/courier/files/maildrop/2.5.4/maildrop-2.5.4.tar.bz2/download
Agora (ainda em $HOME/downloads) podemos construir o courier-authlib:
sudo rpmbuild -ta courier-authlib-0.63.0.tar.bz2Após o processo de construção, os pacotes rpm podem ser encontrados em /root/rpmbuild/RPMS/x86_64 (/root/rpmbuild/RPMS/i686 se você estiver em um sistema i686). O comando
sudo ls -l /root/rpmbuild/RPMS/x86_64mostra os pacotes rpm disponíveis:
[falko@server1 downloads]$ sudo ls -l /root/rpmbuild/RPMS/x86_64
total 516
-rw-r–r– 1 root root 124296 Jul 11 17:27 courier-authlib-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 259620 Jul 11 17:27 courier-authlib-debuginfo-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 35044 Jul 11 17:27 courier-authlib-devel-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 17416 Jul 11 17:27 courier-authlib-ldap-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13944 Jul 11 17:27 courier-authlib-mysql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13112 Jul 11 17:27 courier-authlib-pgsql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 8316 Jul 11 17:27 courier-authlib-pipe-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 34168 Jul 11 17:27 courier-authlib-userdb-0.63.0-1.el6.x86_64.rpm
[falko@server1 downloads]$
Selecione os que deseja instalar e instale-os assim:
sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/courier-authlib-0.63.0-1.el6.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-mysql-0.63.0-1.el6.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-devel-0.63.0-1.el6.x86_64.rpmAgora voltamos para nosso diretório de downloads:
cd $HOME/downloadsExecute os seguintes comandos para criar diretórios necessários/mudar permissões de diretório (porque, caso contrário, o processo de construção para Courier-Imap falhará):
sudo mkdir -p /var/cache/ccache/tmp
sudo chmod o+rwx /var/cache/ccache/
sudo chmod 777 /var/cache/ccache/tmp
Agora execute o rpmbuild novamente, desta vez sem sudo, caso contrário, a compilação falhará porque foi executada como root:
rpmbuild -ta courier-imap-4.9.3.tar.bz2Após o processo de construção, os pacotes rpm podem ser encontrados em $HOME/rpm/RPMS/x86_64 ($HOME/rpm/RPMS/i686 se você estiver em um sistema i686):
cd $HOME/rpm/RPMS/x86_64O comando
ls -lmostra os pacotes rpm disponíveis:
[falko@server1 x86_64]$ ls -l
total 1088
-rw-r–r– 1 falko falko 333540 Jul 11 17:38 courier-imap-4.9.3-1.x86_64.rpm
-rw-r–r– 1 falko falko 776112 Jul 11 17:38 courier-imap-debuginfo-4.9.3-1.x86_64.rpm
[falko@server1 x86_64]$
Você pode instalar o courier-imap assim:
sudo rpm -ivh courier-imap-4.9.3-1.x86_64.rpmAgora voltamos para nosso diretório de downloads:
cd $HOME/downloadse executamos o rpmbuild novamente, desta vez para construir um pacote maildrop:
sudo rpmbuild -ta maildrop-2.5.4.tar.bz2Após o processo de construção, os pacotes rpm podem ser encontrados em /root/rpmbuild/RPMS/x86_64 (/root/rpmbuild/RPMS/i686 se você estiver em um sistema i686). O comando
sudo ls -l /root/rpmbuild/RPMS/x86_64mostra os pacotes rpm disponíveis:
[falko@server1 downloads]$ sudo ls -l /root/rpmbuild/RPMS/x86_64
total 1660
-rw-r–r– 1 root root 124296 Jul 11 17:27 courier-authlib-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 259620 Jul 11 17:27 courier-authlib-debuginfo-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 35044 Jul 11 17:27 courier-authlib-devel-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 17416 Jul 11 17:27 courier-authlib-ldap-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13944 Jul 11 17:27 courier-authlib-mysql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13112 Jul 11 17:27 courier-authlib-pgsql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 8316 Jul 11 17:27 courier-authlib-pipe-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 34168 Jul 11 17:27 courier-authlib-userdb-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 281328 Jul 11 17:47 maildrop-2.5.4-1.x86_64.rpm
-rw-r–r– 1 root root 717476 Jul 11 17:47 maildrop-debuginfo-2.5.4-1.x86_64.rpm
-rw-r–r– 1 root root 101156 Jul 11 17:47 maildrop-devel-2.5.4-1.x86_64.rpm
-rw-r–r– 1 root root 63744 Jul 11 17:47 maildrop-man-2.5.4-1.x86_64.rpm
[falko@server1 downloads]$
Você pode agora instalar o maildrop assim:
sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/maildrop-2.5.4-1.x86_64.rpmDepois de compilar e instalar todos os pacotes necessários, você pode se tornar root novamente digitando
exitAgora inicie o Courier-IMAP/-POP3 da seguinte forma:
/etc/init.d/courier-imap start 11 Instalar Postfix
O Postfix pode ser instalado da seguinte forma:
yum install postfixEm seguida, desligue o Sendmail e inicie o Postfix e o MySQL:
chkconfig –levels 235 mysqld on
/etc/init.d/mysqld start
chkconfig –levels 235 sendmail off
chkconfig –levels 235 postfix on
/etc/init.d/sendmail stop
/etc/init.d/postfix start
12 Instalar Getmail
Não há pacote rpm para getmail, portanto, temos que instalá-lo a partir das fontes. Isso pode ser feito da seguinte forma:
cd /tmp
wget http://pyropus.ca/software/getmail/old-versions/getmail-4.20.3.tar.gz
tar xvfz getmail-4.20.3.tar.gz
cd getmail-4.20.3
python setup.py build
python setup.py install
13 Definir Senhas do MySQL e Configurar o phpMyAdmin
Defina senhas para a conta root do MySQL:
mysql_secure_installation[root@server1 tmp]# mysql_secure_installation
NOTE: EXECUTAR TODAS AS PARTES DESTE SCRIPT É RECOMENDADO PARA TODOS OS SERVIDORES MySQL EM USO NA PRODUÇÃO! POR FAVOR, LEIA CADA ETAPA COM CUIDADO!
Para fazer login no MySQL para protegê-lo, precisaremos da senha atual para o usuário root. Se você acabou de instalar o MySQL e não definiu a senha 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):
OK, usado com sucesso a senha, prosseguindo…
Definir a senha root garante que ninguém possa fazer login no usuário root do MySQL sem a devida autorização.
Definir a senha 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 tornar a instalação um pouco mais suave. 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 a partir de ‘localhost’. Isso garante que alguém não possa adivinhar a senha root pela rede.
Desabilitar login remoto do root? [Y/n] <– ENTER
… Sucesso!
Por padrão, o MySQL vem com um banco de dados chamado ‘teste’ 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 terão efeito imediato.
Recarregar tabelas de privilégios agora? [Y/n] <– ENTER
… Sucesso!
Limpando…
Tudo pronto! Se você completou todas as etapas acima, sua instalação do MySQL deve agora estar segura.
Obrigado por usar o MySQL!
[root@server1 tmp]#
Agora configuramos o phpMyAdmin. Mudamos a configuração do Apache para que o phpMyAdmin permita conexões não apenas de localhost (comentando a estrofe
vi /etc/httpd/conf.d/phpmyadmin.conf| # # Aplicativo web para gerenciar MySQL # # |
Em seguida, mudamos a autenticação no phpMyAdmin de cookie para http:
vi /usr/share/phpmyadmin/config.inc.php| [...] /* Tipo de autenticação */ $cfg['Servers'][$i]['auth_type'] = 'http'; [...] |
Então, criamos os links de inicialização do sistema para o Apache e o iniciamos:
chkconfig –levels 235 httpd on
/etc/init.d/httpd start
Agora você pode direcionar seu navegador para http://server1.example.com/phpmyadmin/ ou http://192.168.0.100/phpmyadmin/ e fazer login com o nome de usuário root e sua nova senha root do MySQL.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.