Introdução
Após as mudanças no projeto CentOS, surgiram algumas opções como o Rocky Linux, AlmaLinux e Oracle Linux, todos são excelentes opções e tem seus defensores. O objetivo desse post é prover uma instalação básica, mostrar alguns comandos para que você se sinta mais confortável e sugerir algumas boas práticas.Antes de continuarmos
Eu sou da época em que a ajuda e incentivo que a gente recebia era RTFM,
fui criado no Slackware, então apesar de gostar de ensinar, algumas
coisas permanecem, pois fazem parte da minha formação. Só para citar as
principais:
Servidor não tem interface gráfica, a menos que seja uma necessidade da aplicação;
Instalações são feitas sempre partindo-se do Minimal;
Só instale o que for necessário;
Servidor é 64 bits;
Cada aplicação precisa pacotes e ajustes específicos, esse post trata do que você deve fazer em todos os seus servidores.
Sobre as instalações
AlmaLinux release 8.5 (Arctic Sphynx)
Rocky Linux release 8.5 (Green Obsidian)
Linux localhost.localdomain 4.18.0-348.20.1.el8_5.x86_64 #1 SMP Thu Mar 10 11:31:47 EST 2022 x86_64 x86_64 x86_64 GNU/Linux
Red Hat Enterprise Linux release 8.5 (Ootpa)
Linux localhost.localdomain 5.4.17-2136.305.5.5.el8uek.x86_64 #2 SMP Tue Apr 5 14:05:37 PDT 2022 x86_64 x86_64 x86_64 GNU/Linux
Ajustes Pós Instalação
Partindo do princípio que você fez uma instalação Minimal do Linux escolhido, logou pela primeira vez como root, vamos fazer alguns ajustes.Parar a execução do firewall:
# systemctl stop firewalldDesabilitá-lo permanentemente:
# systemctl disable firewalldRemoved /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Conferir se o mesmo está desabilitado:
# systemctl is-enabled firewallddisabled
DICA: Você pode ver o status de todos os serviços com o comando abaixo:
# systemctl list-unit-files
Checar o estado do SELinux:
# getenforceEnforcing
Torna-lo permissivo:
# setenforce 0Checar o estado do SELinux:
# getenforce
Permissive
DICA: Para
desabilitar definitivamente o SELinux edite o arquivo
/etc/selinux/config e altere a opção "SELINUX=enforcing" para
"SELINUX=disabled". Isso pode ser feito por meio do comando:
# sed -i 's/enforcing/disabled/g' /etc/selinux/config
Observação: Estou desabilitando o Firewall e o SELinux porque
cada servidor tem uma finalidade específica e, exige ajustes específicos
para essa finalidade, então por padrão desabilito os dois, e se houver
necessidade, reabilito e faço os ajustes específicos.
O EPEL - Extra Packages for Enterprise Linux é um repositório oficial com pacotes extras e as últimas versões dos pacotes. Podemos instalá-lo através dos comandos abaixo:
# dnf config-manager --set-enabled powertools
# dnf install epel-release
O RAVEN é um repositório com pacotes adicionais aos do EPEL e/ou versões mais
atualizadas do mesmo, dependendo do caso. Ele não funciona se o EPEL não
estiver instalado, é um pré-requisito. Para instalar o raven, use o
comando abaixo:
# dnf install https://pkgs.dyn.su/el8/base/x86_64/raven-release-1.0-3.el8.noarch.rpm
Feito isso atualize seu sistema:
# yum update -y
Este último comando vai atualizar todos os pacotes do seu sistema para as versões disponíveis no EPEL e RAVEN.
Dependencias Básicas
Esses são pacotes que precisamos para o dia-a-dia, independente da aplicação desse servidor. Lembre-se um Servidor Web tem necessidades diferentes de um Servidor de FTP.# dnf install -y rsync bind-utils mlocate mailx wget net-tools make cmake automake man net-tools
Clamav
Todo servidor tem que ter antivírus? Mas não é Linux? Eu disse que ia lhe sugerir algumas boas práticas, mas são apenas sugestões, este é o meu setup de Servidor Linux 8.# dnf install -y clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd
Precisamos comentar as linhas de exemplo:
# sed -i -e "s/^Example/#Example/" /etc/freshclam.conf
# sed -i -e "s/^Example/#Example/" /etc/clamd.d/scan.conf
E atualizar o clamav:
# freshclam
Editar o arquivo scan.conf:
# vi /etc/clamd.d/scan.conf
E descomentar a linha:
#LocalSocket /var/run/clamd.scan/clamd.sock
Habilitar o Clamav, Inicia-lo e Checar se o processo está ativo:
# systemctl enable clamd@scan
# systemctl start clamd@scan
# systemctl status clamd@scan
Testar a verificação de um arquivo:
# clamdscan -c /etc/clamd.d/scan.conf /etc/hosts
Cron
Deixar um cron padrão para que qualquer um possa editá-lo:# crontab -e
# Exemplo de uso
# 0 4 * * * <usuario> who
# Campo Funcao
# 1o. Minuto
# 2o. Hora
# 3o. Dia do mes
# 4o. Mes
# 5o. Dia da semana
# 6o. Usuario com o qual o comando sera executado <opcional>
# 7o. Programa para execucao
# Campo Valores
# Minuto 0-59
# Hora 0-23
# Dia do mes 1-31
# Mes 1-12
# Dia da semana 0-6 (o "0" eh o domingo), 1 eh a segunda, etc.
# -----------------------------------------------------------------------------------------------
# Roda o update do antivirus todos os dias as 23:00
0 23 * * * /usr/bin/freshclam
Reiniciar o servidor:
#reboot