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
- 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
- Instalação do Serviço: Utilize o comando
installpara baixar e configurar o servidor principal.
yum -y install mysql-community-server
- 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
- Verificação Operacional: Confirme se o processo está rodando corretamente.
systemctl status mysqld
- 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.
- 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
- Acesso ao Console: Autentique-se utilizando o usuário raiz e a senha recuperada.
mysql -uroot -p
- 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;
- 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.
- 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
-
Baixar Runtime: Obtenha o pacote de desenvolvimento compatível com seu sistema operacional no site oficial da Oracle.
-
Estrutura de Diretórios: Crie uma pasta dedicada na raiz ou volume secundário. Exemplo:
/opt/app/java.
mkdir -p /opt/app/java
- 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
- 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
- Sobrescrita do Binário System: Crie um link direto na rota executável para garantir que o comando
javaaponte para sua instalação.
rm -f /usr/bin/java
ln -s /opt/app/java/jdk/bin/java /usr/bin/java
- 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
-
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. -
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
- 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/
- 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/*
- 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
- 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
- User Creation: Crie contas de sistema dedicadas para FTP.
adduser ftp_account
passwd ftp_account
- Mapeamento de Permissões: Ajuste as chaves de leitura/escrita na pasta do usuário.
chown -R ftp_account:ftp_account /home/ftp_account
- 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
- 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
- Instalação via Package Manager:
yum install -y nginx
Gerenciamento de Portas e Início
- 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
- 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;
}
}
}
- 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.
- Instalação do Cliente:
yum install -y ntp
- Habilitação do Serviço: Configure para iniciar automaticamente e valide a sincronização atual.
systemctl start ntpd
systemctl enable ntpd
- Sincronização Manual Urgente: Caso o serviço esteja desativado, force uma atualização imediata consultando servidores públicos.
ntpdate -u ntp.aliyun.com