Servidor Perfeito · 7 min read · Feb 12, 2026

O Servidor Perfeito - Fedora 15 x86_64 [ISPConfig 3] - Página 4

11 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 (Fedora 15 vem com Dovecot 2.x; infelizmente, o ISPConfig 3 suporta Dovecot 1.2.x, mas não 2.x):

yum remove dovecot dovecot-mysql 

Em seguida, instale os pré-requisitos que precisamos para construir 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, agora criamos uma conta de usuário normal (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

visudo

No 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 falko

Em 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/.rpmmacros

Agora 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.8.1/courier-imap-4.8.1.tar.bz2/download
wget https://sourceforge.net/projects/courier/files/maildrop/2.5.4/maildrop-2.5.4.tar.bz2/download

(Você pode se perguntar por que não baixo a versão mais nova do courier-imap - 4.9.3 no momento da escrita - mas uso uma versão mais antiga - 4.8.1. Isso ocorre porque 4.9.3 falhou ao ser construída no meu sistema, enquanto 4.8.1 funciona perfeitamente.)

Agora (ainda em $HOME/downloads) podemos construir o courier-authlib:

sudo rpmbuild -ta courier-authlib-0.63.0.tar.bz2

Apó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_64

mostra os pacotes rpm disponíveis:

[falko@server1 downloads]$ sudo ls -l /root/rpmbuild/RPMS/x86_64
total 520
-rw-r–r– 1 root root 123448 May 25 18:06 courier-authlib-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 265144 May 25 18:06 courier-authlib-debuginfo-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 34876 May 25 18:06 courier-authlib-devel-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 17448 May 25 18:06 courier-authlib-ldap-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 13808 May 25 18:06 courier-authlib-mysql-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 13020 May 25 18:06 courier-authlib-pgsql-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 8276 May 25 18:06 courier-authlib-pipe-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 34108 May 25 18:06 courier-authlib-userdb-0.63.0-1.fc15.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.fc15.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-mysql-0.63.0-1.fc15.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-devel-0.63.0-1.fc15.x86_64.rpm

Agora voltamos ao nosso diretório de downloads:

cd $HOME/downloads

Execute os seguintes comandos para criar diretórios necessários/mudar permissões de diretório (porque, caso contrário, o processo de construção do Courier-Imap falhará):

sudo mkdir /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.8.1.tar.bz2

Apó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_64

O comando

ls -l

mostra os pacotes rpm disponíveis:

[falko@server1 x86_64]$ ls -l
total 1708
-rw-rw-r– 1 falko falko 596432 May 25 18:33 courier-imap-4.8.1-2.15.x86_64.rpm
-rw-rw-r– 1 falko falko 1149328 May 25 18:33 courier-imap-debuginfo-4.8.1-2.15.x86_64.rpm
[falko@server1 x86_64]$

Você pode instalar o courier-imap assim:

sudo rpm -ivh courier-imap-4.8.1-2.15.x86_64.rpm

Agora voltamos ao nosso diretório de downloads:

cd $HOME/downloads

e executamos o rpmbuild novamente, desta vez para construir um pacote maildrop:

sudo rpmbuild -ta maildrop-2.5.4.tar.bz2

Apó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_64

mostra os pacotes rpm disponíveis:

[falko@server1 downloads]$ sudo ls -l /root/rpmbuild/RPMS/x86_64
total 1628
-rw-r–r– 1 root root 123448 May 25 18:06 courier-authlib-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 265144 May 25 18:06 courier-authlib-debuginfo-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 34876 May 25 18:06 courier-authlib-devel-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 17448 May 25 18:06 courier-authlib-ldap-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 13808 May 25 18:06 courier-authlib-mysql-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 13020 May 25 18:06 courier-authlib-pgsql-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 8276 May 25 18:06 courier-authlib-pipe-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 34108 May 25 18:06 courier-authlib-userdb-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 278520 May 25 18:50 maildrop-2.5.4-1.15.x86_64.rpm
-rw-r–r– 1 root root 685672 May 25 18:50 maildrop-debuginfo-2.5.4-1.15.x86_64.rpm
-rw-r–r– 1 root root 99924 May 25 18:50 maildrop-devel-2.5.4-1.15.x86_64.rpm
-rw-r–r– 1 root root 63968 May 25 18:50 maildrop-man-2.5.4-1.15.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.15.x86_64.rpm

Depois de compilar e instalar todos os pacotes necessários, você pode se tornar root novamente digitando

exit

12 Instalar Postfix

O Postfix pode ser instalado da seguinte forma:

yum install postfix

Em seguida, desative o Sendmail e inicie o Postfix e o MySQL:

chkconfig –levels 235 mysqld on
/etc/init.d/mysqld start

chkconfig sendmail off
chkconfig –levels 235 postfix on
/etc/init.d/sendmail stop
/etc/init.d/postfix start

13 Instalar Getmail

O Getmail pode ser instalado da seguinte forma:

yum install getmail

14 Definir Senhas do MySQL e Configurar o phpMyAdmin

Defina senhas para a conta root do MySQL:

 mysql_secure_installation 

[root@server1 ~]# mysql_secure_installation

NOTE: EXECUTAR TODAS AS PARTES DESTE SCRIPT É RECOMENDADO PARA TODOS OS SERVIDORES MySQL EM USO EM PRODUÇÃO! POR FAVOR, LEIA CADA PASSO CUIDADOSAMENTE!

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): <– ENTER
OK, senha usada com sucesso, prosseguindo…

Definir a senha root garante que ninguém possa fazer login no usuário root do MySQL sem a devida autorização.

Definir senha root? [Y/n] <– ENTER
Nova senha: <– suasenharsqlroot
Reinsira a nova senha: <– suasenharsqlroot
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 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!

[root@server1 ~]#

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

| # phpMyAdmin - Navegador MySQL baseado na Web escrito em php # Permite apenas localhost por padrão # Mas permitir phpMyAdmin a qualquer um além de localhost deve ser considerado # perigoso, a menos que devidamente protegido por SSL Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin # # Order Deny,Allow # Deny from All # Allow from 127.0.0.1 # Allow from ::1 # Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 # Esses diretórios não requerem acesso via HTTP - retirado do original # tarball upstream do phpMyAdmin # Order Deny,Allow Deny from All Allow from None Order Deny,Allow Deny from All Allow from None # Esta configuração impede que o mod_security nos diretórios do phpMyAdmin # filtre SQL etc. Isso pode quebrar sua implementação do mod_security. # # # # SecRuleInheritance Off # # |

Em seguida, 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.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.