Buscar

Apostila - Módulo 2 Bootcamp Administrador Linux

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 43 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 43 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 43 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Serviços Web Baseados em Aplicações Open Source 
 
 
 
Bootcamp Administrador Linux 
 
 
 
 
Thiago George de Aguiar 
 
 
 
 
 
2021 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 2 de 43 
 
 
Serviços Web Baseados em Aplicações Open Source 
Bootcamp Administrador Linux 
Thiago George de Aguiar 
© Copyright do Instituto de Gestão e Tecnologia da Informação. 
Todos os direitos reservados. 
 
 
 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 3 de 43 
Sumário 
Capítulo 1. CentOS 7 ............................................................................................ 5 
1.1. Configurações do virtualbox ............................................................................. 5 
1.2. Configurações de instalação do CentOS 7 ...................................................... 5 
1.3. Instalando e verificando pacotes essenciais para utilização do CentOS ......... 7 
1.4. Liberando portas no firewall do CentOS dos serviços web utilizados .............. 8 
Capítulo 2. Servidor DNS (bind) .......................................................................... 10 
2.1. Instalando o bind e configurando o named.conf ............................................ 10 
2.2. Criando e configurando uma zona de domínio .............................................. 11 
Capítulo 3. Servidor Web (Apache) ..................................................................... 14 
3.1. Instalando o apache e configurando o httpd.conf .......................................... 14 
3.2. Configurando o virtualhost ............................................................................. 15 
3.3. Criando a pasta, concedendo permissão e fazendo teste de exibição do site15 
3.4. Instalando o php ............................................................................................ 16 
3.5 Configuração do php.ini .................................................................................. 17 
3.6. Instalando o módulo SSL e configurando o virtualhost com ssl ..................... 18 
3.7. Como configurar o rewrite no apache ............................................................ 19 
3.8. Como restringir acesso ao site solicitando usuário e senha para um diretório
 .............................................................................................................................. 20 
Capítulo 4. Servidor Banco de Dados (mariadb) ................................................. 22 
4.1. Instalando o mariadb e alterando a senha padrão ......................................... 22 
4.2. Instalando o phpmyadmin e o pacote do php para comunicação .................. 22 
4.3. Configurações básicas iniciais do phpmyadmin ............................................. 23 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 4 de 43 
4.4. Criando banco de dados e concedendo permissão para um usuário específico 
via phpmyadmin .................................................................................................... 24 
4.5. Criando uma tabela via phpmyadmin ............................................................. 26 
4.6. Inserindo, consultando, atualizando e apagando um registro no banco de dados
 .............................................................................................................................. 28 
Capítulo 5. Servidor FTP (proftp) ......................................................................... 33 
5.1. Instalando e configurando proftp .................................................................... 33 
5.2. Criando usuário para acesso ao FTP e a pasta para uso dos arquivos da web 
do apache ............................................................................................................. 33 
5.3. Configurando o filezilla para conectar ao FTP, baixar e transferir arquivos ... 34 
Capítulo 6. Servidor E-mail (postfix e dovecot) .................................................... 35 
6.1. Instalando e configurando o postfix ............................................................... 35 
6.2. Instalando e configurando o dovecot ............................................................. 36 
6.3. Configurando o Thunderbird para enviar e receber e-mail............................. 39 
6.4. Comandos úteis para administração do postfix ............................................. 42 
Referências.................. ............................................................................................ 43 
 
 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 5 de 43 
Capítulo 1. CentOS 7 
1.1. Configurações do virtualbox 
Configuração para atribuir o IP do servidor centOS da mesma rede em que 
está nosso computador, é necessário configurarmos no virtualbox a interface de rede 
em modo bridge porque assim conseguiremos liberar em vários serviços web a rede 
que será liberada no servidor de DNS, phpmyadmin e servidor de e-mail. 
Figura 1 – Configuração do virtualbox. 
 
 
1.2. Configurações de instalação do CentOS 7 
Configuração na instalação do CentOS, senha de root, usuário e senha para 
futuramente ser usado como usuário de FTP e para usuário de e-mail. Também 
iremos ativar na inicialização a placa de rede para receber IP após a instalação o 
hostname do servidor. 
 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 6 de 43 
Figura 2 – REDE & NOME DO HOST. 
 
Figura 3 – Nome do host e rede. 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 7 de 43 
Usuário: root Senha: B00tC@mp20 
Usuário: bootcamp Senha: B00tC@mp20 
Figura 4 – Senha root e usuário Bootcamp. 
 
Comando para atualização do Sistema operacional: 
yum -y update 
Comando para visualização do IP: 
ip route ( sendo o link scr o IP atribuído ) 
 
 
1.3. Instalando e verificando pacotes essenciais para utilização do CentOS 
Com os pacotes instalados, teremos comandos que serão utilizados para 
administração do servidor CentOS. 
Comando para instalação dos pacotes: 
yum -y install net-tools psmisc telnet tcpdump bind-utils mlocate wget 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 8 de 43 
Pacotes: 
net-tools -> Necessário para instalação do ifconfig. 
ifconfig -a -> Verifica as configurações das interfaces de rede. 
psmisc -> Necessário para instalação do fuser. 
fuser -vn tcp 22 -> Sendo 22 a porta a verificar se o serviço está ativo. 
telnet -> Necessário para fazermos teste de conexão de porta. 
telnet localhost 22 -> Teste conexão na porta 22. 
tcpdump -> Necessário para monitoramento de pacotes trafegados pela rede. 
tcpdump -i any -nn -> Monitora qualquer trafego de rede que esteja passando pelo 
servidor. 
bind-utils -> Necessário para instalação do nslookup. 
nslookup www.igti.com.br -> Resolve pelo DNS configurado na máquina. 
nslookup www.igti.com.br 1.1.1.1 -> Resolve pelo DNS da cloudfare. 
mlocate -> Necessário para instalação do locate. 
updatedb -> Atualiza a base de consulta. 
locate sshd -> Localiza qualquer arquivo/pasta que contenha sshd. 
wget -> Necessário para instalação do wget. 
wget http://mirror.globo.com/centos/7.8.2003/isos/x86_64/CentOS-7-x86_64-DVD-
2003.iso 
 
1.4. Liberando portas no firewall do CentOS dos serviços web utilizados 
Liberação de portas no firewall do CentOS para comunicação remota aos 
serviços web instalados. 
Portas 
‒ Porta 53/udp -> Para consulta no DNS Server. 
http://www.igti.com.br/
http://www.igti.com.br/
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 9 de 43 
‒ Porta 80/tcp -> Para acesso ao servidor web (apache). 
‒ Porta 443/tcp -> Para acesso ao servidor web via ssl (https). 
‒ Porta 25/tcp -> Para recebimento de mensagem no postfix. 
‒ Porta 587/tcp -> Para conexão TLS no postfix. 
‒ Porta 110/tcp -> Para conexão POP através do Dovecot. 
‒ Porta 143/tcp -> Para conexão IMAP através do Dovecot. 
‒ Porta21/tcp -> Para conexão FTP. 
‒ Porta 61000-61100 -> Para conexão FTP Passivo. 
Comados para liberarem as portas: 
firewall-cmd --permanent --zone=public --add-port=53/udp 
firewall-cmd --permanent --zone=public --add-port=80/tcp 
firewall-cmd --permanent --zone=public --add-port=443/tcp 
firewall-cmd --permanent --zone=public --add-port=25/tcp 
firewall-cmd --permanent --zone=public --add-port=587/tcp 
firewall-cmd --permanent --zone=public --add-port=110/tcp 
firewall-cmd --permanent --zone=public --add-port=143/tcp 
firewall-cmd --permanent --zone=public --add-port=21/tcp 
firewall-cmd --permanent --zone=public --add-port=61000-61100/tcp 
firewall-cmd --reload 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 10 de 43 
Capítulo 2. Servidor DNS (bind) 
2.1. Instalando o bind e configurando o named.conf 
Instalando o serviço bind e configurando o named.conf para aceitar conexão 
na interface que recebeu o IP e liberando consulta da rede do computador. 
Comando para instalar o bind: 
yum -y install bind 
Incluir o IP da interface (IP que seu servidor CentOS recebeu ou que você 
fixou na interface) em liste-on port 53 (meu foi 192.168.0.250 ) e não esquecer de 
finalizar com o “ ; ” após o IP. Incluir a sua rede (a minha é 192.168.0.0/24) com prefixo 
( /24 ) no allow-query. 
Comando para editar o arquivo named.conf: 
vi /etc/named.conf 
 
Comando para iniciar o bind: 
service named start 
Comando para habilitar o bind na inicialização: 
systemctl enable named 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 11 de 43 
Configurar o DNS da placa de rede com o IP do servidor de DNS (servidor 
centos). 
Meu IP 192.168.0.250 (mas configurem com o IP do servidor de vocês). 
Figura 5 – Alterar DNS da placa de rede. 
 
 
2.2. Criando e configurando uma zona de domínio 
Para a criação da zona de domínio, vamos precisar configurar o apontamento 
dentro do named.conf e depois criar o arquivo de zona. 
vi /etc/named.conf 
Domínio bootcamp.local: 
zone "bootcamp.local" IN { 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 12 de 43 
 type master; 
 file "bootcamp.local.zone"; 
}; 
Domínio reverso: 
zone "15.168.192.in-addr.arpa" IN { 
 type master; 
 file "15.168.192.zone"; 
}; 
vi /var/named/bootcamp.local.zone 
 
‒ Registro tipo MX -> Para onde serão entre os e-mails do domínio. 
‒ Registro tipo TXT -> Autorização de qual range de IPs esta autorizado 
a enviar pelo domínio. 
‒ Registro tipo A -> Apontamento para um endereço IP. 
‒ Registro tipo CNAME -> Apontamento para um endereço de nome. 
‒ www -> Apontamento do host www do domínio. 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 13 de 43 
‒ email -> Apontamento do host e-mail do domínio. 
‒ ftp -> Apontamento do host ftp do domínio. 
vi /var/named/0.168.192.zone 
 
Após a configuração, é necessário reiniciar o serviço do named. 
‒ PTR -> Faz o apontamento reverso do IP para o nome. 
service named restart 
 
 
 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 14 de 43 
Capítulo 3. Servidor Web (Apache) 
3.1. Instalando o apache e configurando o httpd.conf 
Instalação do apache e configuração do httpd.conf. 
yum -y install httpd 
Configuração do httpd.conf: 
vi /etc/httpd/conf/httpd.conf 
‒ Listen 80 -> Porta que o serviço do apache irá receber as conexões. 
‒ DocumentRoot “/var/www/html” -> Caminho raíz do apache. 
‒ /var/log/httpd/access_log -> Log de acessos padrão do apache, caso 
não configure o caminho do log no virtualhost, favor verificar neste 
arquivo de log. 
‒ /var/log/httpd/error_log -> Log de erros padrão do apache, caso não 
configure o caminho do log no virtuahost, favor verificar neste arquivo 
de log. 
service httpd start 
systemctl enable httpd 
Figura 6 – Imagem página padrão do apache. 
 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 15 de 43 
3.2. Configurando o virtualhost 
Configuração do virtualhost para acesso ao www.bootcamp.local. 
vi /etc/httpd/conf.d/bootcamp.conf 
‒ <VirtualHost *:80> -> Porta que o serviço irá receber a conexão. 
‒ DocumentRoot -> Pasta aonde estarão os arquivos do site. 
‒ ServerName -> Nome do host que irá receber o acesso ao site. 
‒ ErrorLog -> Caminho do arquivo de log onde exibirá os erros de acesso 
ao site. 
‒ CustomLog -> Caminho do arquivo de log onde serão exibidos os 
acessos ao site. 
‒ </VirtualHost> -> Fechamento da configuração do virtualhost. 
 
 
3.3. Criando a pasta, concedendo permissão e fazendo teste de exibição do site 
Como criar a pasta, conceder permissão ao usuário e grupo apache e criar 
um arquivo html de teste para verificação do correto funcionamento do virtualhost. 
cd /var/www/html -> Entra no diretório. 
mkdir bootcamp -> Cria o diretório bootcamp. 
cd bootcamp -> Entra no diretório bootcamp. 
http://www.bootcamp.local/
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 16 de 43 
vi index.html -> Cria o arquivo index.html. 
chown apache.apache /var/www/html/bootcamp -R -> Concede a permissão 
apache.apache para o diretório e todos os arquivos e subdiretórios. 
service httpd restart 
Figura 7 – Tela exibida após o acesso ao www.bootcamp.local. 
 
 
3.4. Instalando o php 
Para fazer a instalação do php 7.3 iremos fazer a instalação do repositório 
remi e do repositório epel, além de configurar o yum para habilitar o remi. 
Criaremos o arquivo info.php para verificação da versão do php instalada e 
validar o funcionamento do módulo do php instalado. 
yum -y install epel-release 
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm 
yum -y install yum-utils 
yum-config-manager --enable remi-php73 
yum -y install php php-mbstring 
vi /var/www/html/bootcamp/info.php 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 17 de 43 
<?php 
phpinfo(); 
?> 
service httpd restart 
Figura 8 – Tela de exibição da versão do php instalada. 
 
 
3.5 Configuração do php.ini 
Parâmetros de variáveis do php importantes na administração do php. 
vi /etc/php.ini 
‒ date.timezone -> Configuração da região e local para o fuso horário. 
‒ upload_max_filesize -> Tamanho máximo do upload. 
‒ post_max_size -> Máximo do tamanho de um post via php. 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 18 de 43 
‒ max_execution_time -> Tempo máximo para execução de um script em 
php. 
‒ memory_limit -> Máximo de memória dedicada para execução do script 
do php que estiver rodando. 
‒ max_input_time -> Tempo máximo para análise da execução do script. 
 
3.6. Instalando o módulo SSL e configurando o virtualhost com ssl 
Instalando o módulo SSL para que o apache aceite conexão https, e como 
configurar o virtualhost para habilitar a requisição SSL. 
yum -y install mod_ssl 
‒ SSLEngine on -> Ativa o SSL no virtualhost. 
‒ SSLCertificateKeyFile -> Caminho da chave pública (.key). 
‒ SSLCertificateFile -> Caminho do certificado gerado do domínio (.crt). 
‒ SSLCertificateChainFile -> Caminho do bundle da autoridade 
certificadora (.crt). 
vi /etc/httpd/conf.d/bootcamp.conf 
 
service httpd restart 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 19 de 43 
Figura 9 – Tela de exibição com certificado padrão do servidor. 
 
 
3.7. Como configurar o rewrite no apache 
Configuração do modo rewrite no apache para redirecionamento de um site 
para outro que seja local ou em outro servidor. 
‒ RewriteEngine on -> Ativa o rewrite. 
‒ RewriteRule ^/local/ - [L] -> Requisição raíz do site. 
‒ RewriteRule ^/(.*) http://ENDEREÇO:80/$1 [P] - > Site para qual será 
redirecionado. 
vi /etc/httpd/conf.d/redireciona.conf 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 20 de 43 
No meu teste eu tinha 2 servidores web rodando na mesma rede, por isso o 
apontamento para o 192.168.0.4 e abaixo a tela de confirmação.No servidor 
192.168.0.4 tinha criado somente um html com o conteúdo redirecionado. 
service httpd restart 
 
 
3.8. Como restringir acesso ao site solicitando usuário e senha para um diretório 
Configuração para que ao acessar um endereço web, o apache faça a 
restrição solicitando uma autenticação. 
vi /etc/httpd/conf/httpd.conf 
 
Cria a pasta que terá acesso restrito. 
mkdir /var/www/html/bootcamp/pastasenha 
cd /var/www/html/bootcamp/pastasenha 
Gerar arquivo que terá usuário e senha para permitir o acesso à pasta pelo 
apache. 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 21 de 43 
htpasswd -c .htpasswd admin 
Senha criada: IGTI@bc20 
Cria o arquivo html de teste para exibição após digitar o usuário e senha de 
acesso. 
vi /var/www/html/bootcamp/pastasenha/index.html 
service httpd restart 
Figura 10 – Exibição do site após a autenticação. 
 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 22 de 43 
Capítulo 4. Servidor Banco de Dados (mariadb) 
4.1. Instalando o mariadb e alterando a senha padrão 
Instalação do mariadb-server e mariadb e alteração da senha padrão do 
mariadb, pois ela vem em branco. 
‒ yum -y install mariadb-server mariadb 
service mariadb start 
mysql_secure_installation 
Senha inicial em branco, somente digitar enter. 
Cadastrar a senha: M@r1@dbBCigti 
Remove anonymous users? [Y/n] y 
Disallow root login remotely? [Y/n] n 
Remove test database and access to it? [Y/n] n 
Reload privilege tables now? [Y/n] y 
systemctl enable mariadb 
 
4.2. Instalando o phpmyadmin e o pacote do php para comunicação 
Instalação do phpmyadmin para gerência do banco de dados via web e do 
pacote php-mysqlnd para comunicação do php com o mariadb. 
yum -y install phpmyadmin php-mysqlnd 
 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 23 de 43 
4.3. Configurações básicas iniciais do phpmyadmin 
Configuração do arquivo de configuração do phpmyadmin do apache para 
autorizar o acesso remoto até o phpmyadmin. 
vi /etc/httpd/conf.d/phpMyAdmin.conf 
‒ Require ip -> Autoriza o IP ou range para acesso ao phpmyadmin no 
apache versão 2.4. 
‒ Allow from -> Autoriza o IP ou range para acesso ao phpmyadmin no 
apache versão 2.2. 
Lembrando que a minha rede é 192.168.0.0/24. 
 
service httpd restart 
 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 24 de 43 
Figura 11 – Tela e acesso ao phpmyadmin. 
 
4.4. Criando banco de dados e concedendo permissão para um usuário específico via 
phpmyadmin 
Criaremos um banco de dados (bootcamp) e concederemos privilégios para 
o usuário bootcamp para administração deste banco de dados. 
Banco de dados: bootcamp 
Usuário: bootcamp 
Senha: DB@bootcamp20 
 
 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 25 de 43 
Figura 12 – Clicar em “New” para criar novo banco de dados. 
 
Figura 13 – Clicar no banco de dados “bootcamp”, depois em “Privilégios” e 
no final “Adicionar utilizador”. 
 
 
 
 
 
 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 26 de 43 
Figura 14 – Clique em executar após preencher os campos. 
 
 
4.5. Criando uma tabela via phpmyadmin 
Criaremos uma tabela via phpmyadmin. 
Tabela: users 
Campos: 
Nome Tipo Tamanho Índice AI 
id Int 6 PRIMARY Sim 
nome Text 50 
sobrenome Text 50 
e-mail Text 50 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 27 de 43 
Figura 15 – Clicar em “bootcamp” e “criar tabela”. 
 
Figura 16 – Ao mudar índice para PRIMARY, somente clicar em “Executar”. 
 
Figura 17 – Após preencher os campos, clicar em “Guarda”. 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 28 de 43 
4.6. Inserindo, consultando, atualizando e apagando um registro no banco de dados 
Iremos, via código php, inserir, consultar, atualizar e apagar registros do 
banco de dados. 
cd /var/www/html/bootcamp 
vi config.php 
<?php 
$db_hostname = 'localhost'; // hostname ou IP para conexão do banco de dados 
$db_username = 'bootcamp'; // Usuário do banco de dados 
$db_password = 'DB@bootcamp20'; // Senha do usuário 
$db_name = 'bootcamp'; // Nome do banco de dados 
$conn = mysqli_connect($db_hostname, $db_username, $db_password, $db_name); 
if(!$conn) { 
 echo "Não foi possível conectar ao banco de dados".mysqli_error($conn);die; 
} else { 
 echo "Conectado ao banco de dados com sucesso <br>"; 
} 
?> 
Teste para inserir um registro: 
vi insert.php 
<?php 
include 'config.php'; //Arquivo de configuração do banco de dados 
mysqli_select_db($conn, $db_name); 
$sql = "INSERT INTO users (id, nome, sobrenome, e-mail) VALUES 
(NULL,'Thiago','Aguiar','tgaguiar@gmail.com')"; 
$query = mysqli_query($conn, $sql); 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 29 de 43 
if (!$query) { 
 echo "Não foi possível inserir o usuário . Error : " . mysqli_error($conn); 
} else { 
 echo "Usuário inserido com sucesso"; 
} 
?> 
Figura 18 – Teste do insert.php, 
 
Teste para consultar um registro: 
vi select.php 
<?php 
include 'config.php'; 
mysqli_select_db($conn,$db_name); 
$sql = "SELECT * FROM users"; 
$query = mysqli_query($conn,$sql); 
if(!$query) 
{ 
 echo "Consulta não está funcionando corretamente.".mysqli_error($conn);die; 
} 
while($data = mysqli_fetch_array($query)) 
{ 
 echo "Id = ".$data['id']."<br>"; 
 echo "Nome = ".$data['nome']."<br>"; 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 30 de 43 
 echo "Sobrenome = ".$data['sobrenome']."<br>"; 
 echo "Email = ".$data['email']."<br><hr>"; 
} 
?> 
Figura 19 – Teste Consulta do registro. 
 
Teste atualizar um registro: 
vi update.php 
<?php 
include 'config.php'; 
mysqli_select_db($conn,$db_name); 
$sql = "SELECT * FROM users"; 
$query = mysqli_query($conn,$sql); 
if(!$query) 
{ 
 echo "Consulta não está funcionando corretamente.".mysqli_error($conn);die; 
} 
while($data = mysqli_fetch_array($query)) 
{ 
 echo "Id = ".$data['id']."<br>"; 
 echo "Nome = ".$data['nome']."<br>"; 
 echo "Sobrenome = ".$data['sobrenome']."<br>"; 
 echo "Email = ".$data['email']."<br><hr>"; 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 31 de 43 
} 
?> 
[root@bootcamp bootcamp]# cat update.php 
<?php 
include 'config.php'; 
mysqli_select_db($conn, $db_name); 
$sql = "UPDATE users SET nome = 'Aguiar',sobrenome = 'Thiago',email = 
'tgaguiar@yahoo.com' WHERE id=2 "; 
$query = mysqli_query($conn,$sql); 
if(!$query) 
{ 
 echo "Consulta não funcionou corretamente".mysqli_error($conn);die; 
} 
else 
{ 
 echo "Dados atualizado com sucesso"; 
} 
?> 
Figura 20 – Teste atualização registro. 
 
Teste para apagar um registro: 
vi delete.php 
<?php 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 32 de 43 
include 'config.php'; 
mysqli_select_db($conn,$db_name); 
$sql = "DELETE FROM users WHERE id = 2"; 
$query = mysqli_query($conn,$sql); 
if(!$query) 
{ 
 echo "Consulta não está funcionando corretamente".mysqli_error($conn);die; 
} 
else 
{ 
 echo "Dados apagados com sucesso"; 
} 
?> 
Figura 21 – Teste apagar registro. 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 33 de 43 
Capítulo 5. Servidor FTP (proftp) 
5.1. Instalando e configurando proftp 
Iremos fazer a instalação do proftpd e as configurações iniciais. 
yum -y install proftpd 
vi /etc/proftpd.conf 
‒ ServerName -> Nome para Servidor de FTP. 
‒ PassivePorts -> Configura as portas do FTP no modo passivo. 
 
service proftpd start 
systemctl enable proftpd 
 
5.2. Criando usuário para acesso ao FTP e a pasta para uso dos arquivos da web do 
apache 
Iremos criar um novo usuário para acesso ao FTP e ao conectar, irá ter 
acesso à pasta /var/www/html/bootcamp. 
useradd hp -d /var/www/html/bootcamp/ 
passwd hp 
Senha : FTP@B00tC@mp 
chown hp.apache/var/www/html/bootcamp -R 
setsebool -P allow_ftpd_full_access=1 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 34 de 43 
5.3. Configurando o filezilla para conectar ao FTP, baixar e transferir arquivos 
Configuração do filezilla para conectar ao servidor FTP. 
Host: ftp.bootcamp.local 
Usuário: hp 
Senha: FTP@B00tC@mp 
 
ftp://ftp.bootcamp.local/
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 35 de 43 
Capítulo 6. Servidor E-mail (postfix e dovecot) 
6.1. Instalando e configurando o postfix 
Instalação do postfix e configuração do main.cf. 
yum -y install postfix 
vi /etc/postfix/main.cf 
‒ myhostname -> hostname do servidor. 
‒ mydomain -> domínio do servidor. 
‒ myorigin -> domínio ou hostname do servidor. 
‒ inet_interfaces -> interfaces que receberão as mensagens. 
‒ inet_protocols -> utilização de protocolos ipv4 ou ipv6. 
‒ mydestination -> lista de domínios que receberão as entregas das 
mensagens. 
‒ home_mailbox -> Pasta home do usuário onde as mensagens estarão 
salvas. 
‒ mynetworks -> Redes permitidas pelo relay. 
As linhas que estiverem comentadas ( # ), favor descomentar e incluir os 
valores abaixo: 
myhostname = bootcamp.local 
mydomain = bootcamp.local 
myorigin = $mydomain 
inet_interfaces = all -> Alterar 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 36 de 43 
inet_protocols = all 
mydestination = $myhostname, localhost.$mydomain, localhost 
home_mailbox = Maildir/ 
mynetworks= 127.0.0.0/8, 192.168.0.0/24 -> Lembrando que a minha rede é 
192.168.0.0/24 
#Inclusão da integração com o dovecot, pode incluir no final do arquivo. 
smtpd_sasl_type = dovecot 
smtpd_sasl_path = private/auth 
smtpd_sasl_auth_enable = yes 
smtpd_sasl_security_options = noanonymous 
smtpd_sasl_local_domain = $myhostname 
smtpd_recipient_restrictions = permit_mynetworks, 
permit_auth_destination, permit_sasl_authenticated, reject 
service postfix restart 
systemctl enable postfix 
 
6.2. Instalando e configurando o dovecot 
Instalação do dovecot e configuração dos arquivos para integração com o 
postfix. 
yum -y install dovecot 
vi /etc/dovecot/dovecot.conf 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 37 de 43 
‒ protocols -> protocolos utilizados para. 
‒ listen -> ip e porta que o serviço irá escutar para receber a conexão. 
As linhas que estiverem comentadas ( # ), favor descomentar e incluir os 
valores abaixo: 
protocols = imap pop3 lmtp 
listen = *, :: 
vi /etc/dovecot/conf.d/10-auth.conf 
disable_plaintext_auth -> Não aceitar conexões plain text. 
auth_mechanisms -> Tipo de mecanismo de autenticação. 
As linhas que estiverem comentadas ( # ), favor descomentar e incluir os 
valores abaixo: 
disable_plaintext_auth = no 
auth_mechanisms = plain login 
vi /etc/dovecot/conf.d/10-mail.conf 
mail_location -> Caminho onde estão armazenados os e-mails. 
As linhas que estiverem comentadas ( # ), favor descomentar e incluir os 
valores abaixo: 
mail_location = maildir:~/Maildir 
vi /etc/dovecot/conf.d/10-master.conf 
Muito cuidado ao editar este arquivo, pois é muito importante que 
configuração esteja dentro da chave service auth conforme imagem. 
unix_listener /var/spool/postfix/private/auth { 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 38 de 43 
mode = 0666 
user = postfix 
group = postfix 
} 
 
service dovecot restart 
systemctl enable dovecot 
setsebool -P httpd_can_sendmail on -> Liberação no selinux 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 39 de 43 
6.3. Configurando o Thunderbird para enviar e receber e-mail 
 Configuração do Thunderbird para enviar e receber e-mails. 
Sigam exatamente como está a configuração nas imagens, se atentem ao 
preencher o nome, e-mail e senha B00tC@mp20 (cadastrada na instalação do 
CentOS, qualquer problema, somente alterar ela), para clicar em configurar 
manualmente. E após alterar o nome do usuário, somente bootcamp. 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 40 de 43 
 
Confirme a tela de risco, somente um alerta referente a não conexão SSL. 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 41 de 43 
 
Confirmação do envio de e-mail. 
 
 
 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 42 de 43 
Confirmação do recebimento. 
 
 
6.4. Comandos úteis para administração do postfix 
‒ postqueue -p -> Verifica mensagens na fila. 
‒ postqueue -f -> Força mensagens na fila. 
‒ postsuper -h -> Congela mensagem na fila. 
‒ postsuper -H -> Descongela mensagem na fila. 
‒ postsuper -r -> Recoloca a mensagem na fila. 
‒ postsuper -d -> Apaga uma mensagem na fila. 
‒ postconf -> Verifica todas as configurações atribuídas e habilitadas para 
o postfix. 
 
 
 Serviços Web Baseados em Aplicações Open Source – Página 43 de 43 
Referências 
LINUX CONFIG.ORG. How to install or upgrade to PHP 7 on CentOS 7 Linux Server. 
2019. Disponível em: <https://linuxconfig.org/how-to-install-or-upgrade-to-php-7-on-
centos-linux-server>. Acesso em: 03 fev. 2021. 
PANCHAL, Chintan. Select Insert Update Delete in MySQL using PHP tutorial. Code 
and Tuts, 2015. Disponível em: <https://www.codeandtuts.com/select-insert-update-
delete-in-php-mysql/>. Acesso em: 03 fev. 2021. 
RPM REPOSITORY. Remi’s RPM repository - Blog. Disponível em: 
<https://blog.remirepo.net/post/2018/12/10/Install-PHP-7.3-on-CentOS-RHEL-or-
Fedora>. Acesso em: 03 fev. 2021. 
SERVER WORLD. Disponível em: <https://www.server-
world.info/en/note?os=CentOS_7>. Acesso em: 03 fev. 2021. 
 
 
https://linuxconfig.org/how-to-install-or-upgrade-to-php-7-on-centos-linux-server
https://linuxconfig.org/how-to-install-or-upgrade-to-php-7-on-centos-linux-server
https://www.codeandtuts.com/select-insert-update-delete-in-php-mysql/
https://www.codeandtuts.com/select-insert-update-delete-in-php-mysql/
https://blog.remirepo.net/post/2018/12/10/Install-PHP-7.3-on-CentOS-RHEL-or-Fedora
https://blog.remirepo.net/post/2018/12/10/Install-PHP-7.3-on-CentOS-RHEL-or-Fedora
https://www.server-world.info/en/note?os=CentOS_7
https://www.server-world.info/en/note?os=CentOS_7

Outros materiais

Outros materiais