Servidor CentOS · 8 min read · Sep 22, 2025
O Servidor Perfeito – CentOS 7 (Apache2, Dovecot, ISPConfig 3)
Este tutorial mostra como preparar um servidor CentOS 7 x86_64 para a instalação do ISPConfig 3 e como instalar o ISPConfig 3. O ISPConfig 3 é um painel de controle de hospedagem na web que permite configurar os seguintes serviços através de um navegador: servidor web Apache, servidor de e-mail Postfix, MySQL, servidor de nomes BIND, PureFTPd, SpamAssassin, ClamAV, Mailman e muitos mais. Desde a versão 3.0.4, o ISPConfig vem com suporte total para o servidor web nginx além do Apache; este tutorial cobre a configuração de um servidor que usa Apache, não nginx.
Manual do ISPConfig 3
Para aprender como usar o ISPConfig 3, recomendo fortemente baixar o Manual do ISPConfig 3.
Em mais de 300 páginas, ele cobre o conceito por trás do ISPConfig (administradores, revendedores, clientes), explica como instalar e atualizar o ISPConfig 3, inclui uma referência para todos os formulários e campos de formulário no ISPConfig juntamente com exemplos de entradas válidas, e fornece tutoriais para as tarefas mais comuns no ISPConfig 3. Ele também descreve como tornar seu servidor mais seguro e vem com uma seção de solução de problemas no final.
1 Requisitos
Para instalar tal sistema, você precisará do seguinte:
- Um sistema de servidor CentOS 7 minimal. Isso pode ser um servidor instalado do zero, conforme descrito em nosso tutorial de servidor minimal CentOS 7, ou um servidor virtual ou servidor raiz de uma empresa de hospedagem que tenha uma configuração minimal do CentOS 7 instalada.
- Uma conexão de Internet rápida.
2 Nota Preliminar
Neste tutorial, uso o nome do host server1.example.com com o endereço IP 192.168.1.100 e o gateway 192.168.1.254. Essas configurações podem diferir para você, então você deve substituí-las onde apropriado.
3 Definir o layout do teclado
O instalador atual do CentOS 7 tem um bug, então você pode acabar com um layout de teclado diferente no shell do que o selecionado durante a instalação. Se você encontrar esse bug, pode mudar para o teclado correto (no meu caso “de” para um layout de teclado alemão) com o comando localectl:
localectl set-keymap dePara obter uma lista de todos os keymaps disponíveis, execute:
localectl list-keymapsQuero instalar o ISPConfig no final deste tutorial, que vem com seu próprio firewall. Por isso, desativo o firewall padrão do CentOS agora. Claro, você pode deixá-lo ativado e configurá-lo conforme suas necessidades (mas então você não deve usar nenhum outro firewall mais tarde, pois provavelmente interferirá com o firewall do CentOS).
Execute…
systemctl stop firewalld.service
systemctl disable firewalld.serviceAgora vou instalar algumas ferramentas de rede básicas e um editor baseado em shell que precisamos nos próximos passos:
yum -y install nano wget net-tools NetworkManager-tuiSe você não configurou sua placa de rede durante a instalação, pode fazer isso agora. Execute…
nmtui… e vá para Editar uma conexão:

Selecione sua interface de rede:

Em seguida, preencha os detalhes da sua rede - desative o DHCP e preencha um endereço IP estático, uma máscara de rede, seu gateway e um ou dois servidores de nomes, depois clique em Ok:

Em seguida, selecione OK para confirmar as alterações que você fez nas configurações de rede

e Sair para fechar a ferramenta de configuração de rede nmtui.

Você deve executar
ifconfigagora para verificar se o instalador obteve seu endereço IP corretamente:
[root@server1 ~]# ifconfig
ens33: flags=4163 mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fecd:cc52 prefixlen 64 scopeid 0x20
ether 00:0c:29:cd:cc:52 txqueuelen 1000 (Ethernet)
RX packets 55621 bytes 79601094 (75.9 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 28115 bytes 2608239 (2.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 Se sua placa de rede não aparecer lá, então ela não está habilitada na inicialização. Nesse caso, abra o arquivo /etc/sysconfig/network-scripts/ifcfg-eth0
nano /etc/sysconfig/network-scripts/ifcfg-ens33e defina ONBOOT como yes:
[...]
ONBOOT=yes
[...] e reinicie o servidor.
Verifique seu /etc/resolv.conf se ele lista todos os servidores de nomes que você configurou anteriormente:
cat /etc/resolv.confSe os servidores de nomes estiverem faltando, execute
nmtuie adicione os servidores de nomes que faltam novamente.
Agora, para a configuração…
4 Ajustar /etc/hosts
Em seguida, editamos /etc/hosts. Deixe assim:
nano /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.1.100 server1.example.com server1
::1 localhost localhost.localdomain localhost6 localhost6.localdomain65 Configurar o Firewall
(Você pode pular este capítulo se já tiver desativado o firewall no final da instalação do sistema básico.)
Quero instalar o ISPConfig no final deste tutorial, que vem com seu próprio firewall. Por isso, desativo o firewall padrão do CentOS agora. Claro, você pode deixá-lo ativado e configurá-lo conforme suas necessidades (mas então você não deve usar nenhum outro firewall mais tarde, pois provavelmente interferirá com o firewall do CentOS).
Execute
systemctl stop firewalld.service
systemctl disable firewalld.servicee desative o firewall.
Para verificar se o firewall foi realmente desativado, você pode executar
iptables -Ldepois. A saída deve ser assim:
[root@server1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destinationChain FORWARD (policy ACCEPT)
target prot opt source destinationChain OUTPUT (policy ACCEPT)
target prot opt source destinationOu use o comando firewall-cmd:
firewall-cmd --state[root@server1 ~]# firewall-cmd --state
not running
[root@server1 ~]#6 Desativar SELinux
SELinux é uma extensão de segurança do CentOS que deve fornecer segurança estendida. Na minha opinião, você não precisa disso para configurar um sistema seguro, e geralmente causa mais problemas do que vantagens (pense nisso depois de ter feito uma semana de solução de problemas porque algum serviço não estava funcionando como esperado, e então você descobre que tudo estava ok, apenas o SELinux estava causando o problema). Portanto, eu o desativo (isso é obrigatório se você quiser instalar o ISPConfig mais tarde).
Edite /etc/selinux/config e defina SELINUX=disabled:
nano /etc/selinux/config# Este arquivo controla o estado do SELinux no sistema.
# SELINUX= pode assumir um destes três valores:
# enforcing - A política de segurança do SELinux é aplicada.
# permissive - O SELinux imprime avisos em vez de aplicar.
# disabled - Nenhuma política do SELinux é carregada.
SELINUX=disabled
# SELINUXTYPE= pode assumir um destes dois valores:
# targeted - Processos direcionados são protegidos,
# mls - Proteção de Segurança de Múltiplos Níveis.
SELINUXTYPE=targetedDepois, devemos reiniciar o sistema:
reboot7 Habilitar Repositórios Adicionais e Instalar Alguns Softwares
Primeiro, importamos as chaves GPG para pacotes de software:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*Em seguida, habilitamos o repositório EPEL em nosso sistema CentOS, pois muitos dos pacotes que vamos instalar no decorrer deste tutorial não estão disponíveis no repositório oficial do CentOS 7:
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpmyum -y install yum-prioritiesEdite /etc/yum.repos.d/epel.repo…
nano /etc/yum.repos.d/epel.repo… e adicione a linha priority=10 à seção [epel]:
[epel]
name=Pacotes Extras para Linux Empresarial 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[...]Em seguida, atualizamos nossos pacotes existentes no sistema:
yum updateAgora instalamos alguns pacotes de software que são necessários mais tarde:
yum -y groupinstall 'Development Tools'8 Quota
(Se você escolheu um esquema de particionamento diferente do que eu, deve ajustar este capítulo para que a quota se aplique às partições onde você precisa dela.)
Para instalar quota, executamos este comando:
yum -y install quotaAgora verificamos se a quota já está habilitada para o sistema de arquivos onde os dados do site (/var/www) e do maildir (var/vmail) estão armazenados. Neste exemplo, tenho uma grande partição raiz, então procuro por ‘ / ‘:
mount | grep ' / '[root@server1 ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
[root@server1 ~]#Se você tiver uma partição separada /var, então use:
mount | grep ' /var 'em vez disso. Se a linha contiver a palavra “ noquota “, então prossiga com os seguintes passos para habilitar a quota.
Habilitando quota na partição / (raiz)
Normalmente você habilitaria a quota no arquivo /etc/fstab, mas se o sistema de arquivos for o sistema de arquivos raiz “/“, então a quota deve ser habilitada por um parâmetro de inicialização do Kernel Linux.
Edite o arquivo de configuração do grub:
nano /etc/default/grubprocure pela linha que começa com GRUB_CMDLINE_LINUX e adicione rootflags=uquota,gquota aos parâmetros da linha de comando para que a linha resultante fique assim:
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto vconsole.keymap=us rhgb quiet rootflags=uquota,gquota"e aplique as alterações executando o seguinte comando.
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg_bak
grub2-mkconfig -o /boot/grub2/grub.cfge reinicie o servidor.
rebootAgora verifique se a quota está habilitada:
mount | grep ' / '[root@server1 ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)
[root@server1 ~]#Quando a quota está ativa, podemos ver “ usrquota,grpquota “ na lista de opções de montagem.
Habilitando quota em uma partição /var separada
Se você tiver uma partição /var separada, então edite /etc/fstab e adicione ,uquota,gquota à partição / ( /dev/mapper/centos-var):
nano /etc/fstab
#
# /etc/fstab
# Criado pelo anaconda em Dom Set 21 16:33:45 2014
#
# Sistemas de arquivos acessíveis, por referência, são mantidos sob '/dev/disk'
# Veja as páginas do manual fstab(5), findfs(8), mount(8) e/ou blkid(8) para mais informações
#
/dev/mapper/centos-root / xfs defaults 1 1
/dev/mapper/centos-var /var xfs defaults,uquota,gquota 1 2
UUID=9ac06939-7e43-4efd-957a-486775edd7b4 /boot xfs defaults 1 3
/dev/mapper/centos-swap swap swap defaults 0 0Em seguida, execute
mount -o remount /varquotacheck -avugm
quotaon -avugpara habilitar a quota.
9 Instalar Apache, MySQL, phpMyAdmin
Podemos instalar os pacotes necessários com um único comando:
yum -y install ntp httpd mod_ssl mariadb-server php php-mysql php-mbstring phpmyadminReceba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.