Instalação e Configuração de Serviços de Infraestrutura Linux: MySQL, Tomcat, Nginx e FTP

Implantação do MySQL 8.0 no Ambiente CentOS

A instalação do banco de dados pode ser realizada utilizando o gerenciador de pacotes nativo do sistema. Este processo garante que as dependências sejam resolvidas automaticamente.

Procedimento de Instalação via YUM

  1. Gestão dos Repositórios: É necessário importar a chave pública oficial para validar os pacotes antes da instalação.
# Importar a chave GPG do repositório
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023

# Adicionar o pacote de liberação do MySQL 8.x
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
  1. Instalação do Serviço: Utilize o comando install para baixar e configurar o servidor principal.
yum -y install mysql-community-server
  1. Inicialização do Serviço: Após a conclusão, configure o daemon para iniciar com o sistema e reinicie-o manualmente.
# Habilitar inicialização automática
systemctl enable mysqld

# Iniciar o serviço agora
systemctl start mysqld
  1. Verificação Operacional: Confirme se o processo está rodando corretamente.
systemctl status mysqld
  1. Confirmação de Versão: Verifique a versão instalada pelo binário cliente.
mysql --version

Habilitação e Segurança Inicial

O banco de dados é instalado com configurações de segurança padrão, exigindo ajustes posteriores para acesso administrativo.

  1. Recuperação da Senha Temporária: O arquivo de log inicializa uma senha aleatória gerada durante a primeira execução do serviço.
grep 'temporary password' /var/log/mysqld.log
  1. Acesso ao Console: Autentique-se utilizando o usuário raiz e a senha recuperada.
mysql -uroot -p
  1. Alteração de Credencial Administrativa: Atualize a senha do administrador usando o mecanismo nativo de autenticação.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'SenhaSeguraAqui';

Por padrão, políticas de senhas fortes podem dificultar essa etapa em ambientes de teste. Para fins laboratoriais, é possível relaxar as restrições de complexidade.

  • Reduzir política de segurança:
set global validate_password.policy=0;
  • Reduzir tamanho mínimo exigido:
set global validate_password.length=4;
  1. Configuração de Acesso Remoto: O usuário root não permite conexões externas por padrão. Ative esta funcionalidade com cautela devido aos riscos de segurança.
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'SenhaRemota!Complexa';

Utilize comandos ALTER posteriormente caso precise atualizar credenciais remotas ou locais.

  1. Liberdade de Rede: O serviço escuta a porta 3306 por configuração padrão. Verifique a ligação da rede via:
netstat -anp | grep 3306

Dentro do console SQL, execute exit ou pressione Ctrl+d para encerrar a sessão.

Implantação do Servidor de Aplicações Apache Tomcat

O Tomcat atua como container de servlets, interpretando aplicações Java Web e oferecendo um portal de administração seguro. A pré-requisito fundamental é a presença da Máquina Virtual Java (JDK).

Configuração do Ambiente Java

  1. Baixar Runtime: Obtenha o pacote de desenvolvimento compatível com seu sistema operacional no site oficial da Oracle.

  2. Estrutura de Diretórios: Crie uma pasta dedicada na raiz ou volume secundário. Exemplo: /opt/app/java.

mkdir -p /opt/app/java
  1. Descompactação e Linkagem: Extraia o arquivo binário (ex: jdk.tar.gz) e crie um link simbólico para simplificar referências futuras.
tar -zxvf /caminho/para/jdk.tar.gz -C /opt/app/java
ln -s /opt/app/java/jdk-versao /opt/app/java/jdk
  1. Variáveis de Ambiente: Edite o perfil global do shell (/etc/profile) para exportar o caminho base e adicionar o binário ao PATH.
export JAVA_HOME=/opt/app/java/jdk
export PATH=$PATH:$JAVA_HOME/bin

Aplicar as alterações imediatamente:

source /etc/profile
  1. Sobrescrita do Binário System: Crie um link direto na rota executável para garantir que o comando java aponte para sua instalação.
rm -f /usr/bin/java
ln -s /opt/app/java/jdk/bin/java /usr/bin/java
  1. Validação: Execute verificações de versão para confirmar a integridade do instalador.
java -version
javac -version

Preparação e Execução do Tomcat

  1. Segmentação de Usuário: Não utilize o superusuário root para operar o serviço web. Crie um usuário dedicado, como deploy_user, para gerenciar permissões.

  2. Gerenciamento de Firewall: Libere o tráfego na porta TCP 8080. Existem duas abordagens principais: parar o daemon de firewall ou criar regras específicas.

# Opção A: Regra Permanente (Recomendado)
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
  1. Download e Instalação: Baixe o artefato do repositório da Apache e descompacte no diretório designado.
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.0/bin/apache-tomcat-10.1.0.tar.gz
unzip apache-tomcat-10.1.0.tar.gz -d /opt/app/
  1. Permissões e Links: Estabeleça links simbólicos para simplificar caminhos e atribua posse ao usuário de deploy.
ln -s /opt/app/apache-tomcat-10.1.0 /opt/app/tomcat
chown -R deploy_user:deploy_user /opt/app/*
  1. Inicialização do Container: Troque para o usuário criado e invoque o script de startup.
su - deploy_user
cd /opt/app/tomcat/bin
chmod +x startup.sh
./startup.sh
  1. Verificação e Acesso Web: Confirme se o port foi aberto no listener e acesse o painel de controle.
netstat -anp | grep 8080

Abra o navegador e acesse: http://[SEU_IP]:8080.

Deslocamento de Aplicativos Web

As estruturas de projetos compilados (.war) devem ser posicionadas no diretório webapps dentro da raiz do Tomcat.

cp aplicacao.war /opt/app/tomcat/webapps/

O serviço detectará a atualização automaticamente após a inicialização ou reinício da aplicação.

Configuração de Servidor de Transferência de Arquivos (FTP)

Para gerenciamento remoto de arquivos, implementaremos o daemon vsftpd, focando na estabilidade e privacidade dos dados.

Instalação Básica

yum install -y vsftpd
systemctl start vsftpd
systemctl enable vsftpd

Parâmetros de Arquivo de Configuração

Edite o arquivo principal /etc/vsftpd/vsftpd.conf. As seguintes diretrizes ajustam o comportamento padrão para permitir operações seguras sem expor dados críticos.

  • Acesso Anônimo: Desative a entrada de usuários não autenticados (anonymous_enable=NO).
  • Pasta Raiz Local: Limitar o usuário à sua pasta home (chroot_local_user=YES).
  • Transferência ASCII: Permitir upload e download em modo texto se necessário (ascii_upload_enable=YES).
  • Pastas Seguras: Definir limites de portas passivas entre 40000 e 40010 para compatibliidade com firewalls estritos.
allow_writeable_chroot=YES
pasv_min_port=40000
pasv_max_port=40010

Criação de Contas e Autenticação

  1. User Creation: Crie contas de sistema dedicadas para FTP.
adduser ftp_account
passwd ftp_account
  1. Mapeamento de Permissões: Ajuste as chaves de leitura/escrita na pasta do usuário.
chown -R ftp_account:ftp_account /home/ftp_account
  1. Autenticação PAM: Configure o módulo PAM para utilizar um banco de dados Hash de usuários virtuais se necessário, garantindo isolamento lógico das contas do sistema.

Reinicie o serviço para aplicar todas as modificações.

systemctl restart vsftpd

Teste a conexão através de cliente externo indicando o endereço IP do servidor e as credenciais configuradas.

Configuração do Nginx como Proxies e Webserver

O Nginx oferece alta performance para roteamento HTTP e balanceamento de carga. Requer a ativação de repositórios externos para instalação otimizada.

Ativação de Repositórios

  1. Adicione o repositório oficial do Nginx ao diretório /etc/yum.repos.d/.

Criar arquivo nginx.repo:

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
  1. Instalação via Package Manager:
yum install -y nginx

Gerenciamento de Portas e Início

  1. Controle de Firewall: Abra a porta 80 (HTTP) no firewall ou disable temporariamente o firewalld.
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
  1. Iniciação do Daemon: Utilize os comandos systemd para gerenciar o ciclo de vida do servidor.
systemctl start nginx
systemctl status nginx

Otimização de Roteamento HTTP

A estrutura de configuração utiliza módulos event-based para máxima eficiência. Edite o arquivo principal /etc/nginx/nginx.conf ou inclua definições no diretório conf.d.

events {
    worker_connections  1024;
}

http {
    log_format main '$remote_addr - $remote_user [$time_local] "$request" ';
    access_log  /var/log/nginx/access.log  main;

    # Definição de Host Virtual
    server {
        listen       80;
        server_name  localhost;

        location / {
            root   /www/html;
            index  index.html index.htm;
        }

        # Tratamento de Erros Globais
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /www/html;
        }
    }
}
  1. Implantação de Conteúdo: Coloque os arquivos estáticos na diretora raíz configurada (/www/html).

Verifique a acessibilidade navegando para http://[SEU_IP].

Sincronização Cronológica de Sistemas (NTP)

Manter a precisão temporal é essencial para logs distribuídos e autenticações seguras.

  1. Instalação do Cliente:
yum install -y ntp
  1. Habilitação do Serviço: Configure para iniciar automaticamente e valide a sincronização atual.
systemctl start ntpd
systemctl enable ntpd
  1. Sincronização Manual Urgente: Caso o serviço esteja desativado, force uma atualização imediata consultando servidores públicos.
ntpdate -u ntp.aliyun.com

Tags: MySQL tomcat nginx CentOS FTP

Publicado em 9-26 14:10