<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Remontti</title>
	<atom:link href="https://blog.remontti.com.br/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.remontti.com.br/</link>
	<description>rudimar@remontti</description>
	<lastBuildDate>Wed, 15 Oct 2025 17:33:42 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.remontti.com.br/wp-content/uploads/2024/09/icone-rr-80x80.png</url>
	<title>Remontti</title>
	<link>https://blog.remontti.com.br/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Instalação do Debian 13 Trixie limpa passo-a-passo (netinst)</title>
		<link>https://blog.remontti.com.br/8267</link>
					<comments>https://blog.remontti.com.br/8267#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Wed, 13 Aug 2025 16:58:10 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[apt 3.0]]></category>
		<category><![CDATA[Debian 13]]></category>
		<category><![CDATA[Debian 13 Trixie]]></category>
		<category><![CDATA[Debian minimal]]></category>
		<category><![CDATA[Debian netinst]]></category>
		<category><![CDATA[Debian sem interface gráfica]]></category>
		<category><![CDATA[debian server]]></category>
		<category><![CDATA[Debian Trixie passo a passo]]></category>
		<category><![CDATA[guia Debian]]></category>
		<category><![CDATA[instalação Debian]]></category>
		<category><![CDATA[instalação limpa Debian]]></category>
		<category><![CDATA[instalação Linux]]></category>
		<category><![CDATA[instalação netinst]]></category>
		<category><![CDATA[instalação servidor Debian]]></category>
		<category><![CDATA[kernel 6.12]]></category>
		<category><![CDATA[Linux server]]></category>
		<category><![CDATA[novidades Debian 13]]></category>
		<category><![CDATA[tutorial Debian]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=8267</guid>

					<description><![CDATA[<p>Neste tutorial vamos aprender de forma simples fazer a instalação da distribuição Linux Debian 13 Trixie, utilizando a ISO netinst, que durante a instalação já faz a instalação dos pacotes mais recentes usando a&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/8267">Instalação do Debian 13 Trixie limpa passo-a-passo (netinst)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img fetchpriority="high" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/debian13.png" alt="" width="724" height="343" class="alignnone size-full wp-image-8271" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/debian13.png 724w, https://blog.remontti.com.br/wp-content/uploads/2025/08/debian13-300x142.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/debian13-520x245.png 520w, https://blog.remontti.com.br/wp-content/uploads/2025/08/debian13-720x340.png 720w" sizes="(max-width: 724px) 100vw, 724px" /></p>
<p>Neste tutorial vamos aprender de forma simples fazer a instalação da distribuição Linux <a href="https://www.debian.org/releases/trixie/release-notes/index.pt.html" rel="noopener" target="_blank">Debian 13 Trixie</a>, utilizando a ISO netinst, que durante a instalação já faz a instalação dos pacotes mais recentes usando a internet, então é lógico que vamos precisar uma conexão com a internet durante a instalação.</p>
<p>Outro motivo para utilizar a versão netinst é que não irei instalar nenhum pacote extra, pois a ideia aqui é fazer uma instalação limpa sem perfumarias. <em>&#8220;Se precisar algo depois eu instalo.&#8221;</em></p>
<h3>Algumas novidades</h3>
<p>&#8211; Kernel 6.12 LTS<br />
&#8211; Proteções ROP/COP/JOP em amd64 e arm64<br />
&#8211; /tmp em tmpfs, com limpeza automatizada<br />
&#8211; Suporte HTTP Boot, Apple ARM, Secure Boot<br />
&#8211; APT 3.0<br />
&#8211; <a href="https://www.debian.org/releases/trixie/release-notes/whats-new.pt.html" rel="noopener" target="_blank">E muito mais&#8230;</a></p>
<h3>Download</h3>
<p>&#8211; <strong><a href="https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/" rel="noopener" target="_blank">Debian 13 Trixie (amd64)</a></strong></p>
<h3>Instalação</h3>
<p>Iniciando o boot da sua ISO.</p>
<p>Selecione: <strong>Graphical Install</strong><br />
<img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/1VirtualBox_DEBIAN-13.0_13_08_2025_11_33_21.png" alt="" width="640" height="480" class="alignnone size-full wp-image-8273" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/1VirtualBox_DEBIAN-13.0_13_08_2025_11_33_21.png 640w, https://blog.remontti.com.br/wp-content/uploads/2025/08/1VirtualBox_DEBIAN-13.0_13_08_2025_11_33_21-300x225.png 300w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p><strong>Portuguese (Brazil) – Portugues do Brasil</strong><br />
<img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/2VirtualBox_DEBIAN-13.0_13_08_2025_12_03_15.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8274" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/2VirtualBox_DEBIAN-13.0_13_08_2025_12_03_15.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/2VirtualBox_DEBIAN-13.0_13_08_2025_12_03_15-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/2VirtualBox_DEBIAN-13.0_13_08_2025_12_03_15-768x576.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></p>
<p><strong>Brasil</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/3VirtualBox_DEBIAN-13.0_13_08_2025_12_03_28.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8275" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/3VirtualBox_DEBIAN-13.0_13_08_2025_12_03_28.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/3VirtualBox_DEBIAN-13.0_13_08_2025_12_03_28-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/3VirtualBox_DEBIAN-13.0_13_08_2025_12_03_28-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p><strong>Português Brasileiro</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/4VirtualBox_DEBIAN-13.0_13_08_2025_12_03_37.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8276" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/4VirtualBox_DEBIAN-13.0_13_08_2025_12_03_37.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/4VirtualBox_DEBIAN-13.0_13_08_2025_12_03_37-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/4VirtualBox_DEBIAN-13.0_13_08_2025_12_03_37-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>Neste momento ele irá identificar sua conexão de rede, e tentar receber seus IP automaticamente via DHCP, No entanto se sua rede não estiver configurada para entregar IP automaticamente, ira apresentar uma mensagem dizendo que a configuração <strong>falhou</strong>.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/5VirtualBox_DEBIAN-13.0_13_08_2025_12_03_49-1.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8280" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/5VirtualBox_DEBIAN-13.0_13_08_2025_12_03_49-1.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/5VirtualBox_DEBIAN-13.0_13_08_2025_12_03_49-1-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/5VirtualBox_DEBIAN-13.0_13_08_2025_12_03_49-1-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>E em caso de DHCP entregando você vai cair na tela para informar o<strong> Hostname</strong>, caso você queira ignorar o DHCP que recebeu e selecionar <strong>voltar</strong> e em seguida <strong>configurar rede manualmente</strong>.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/5eVirtualBox_DEBIAN-13.0_13_08_2025_12_13_28.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8281" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/5eVirtualBox_DEBIAN-13.0_13_08_2025_12_13_28.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/5eVirtualBox_DEBIAN-13.0_13_08_2025_12_13_28-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/5eVirtualBox_DEBIAN-13.0_13_08_2025_12_13_28-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>Informe <strong>IP/PREFIX</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/5bVirtualBox_DEBIAN-13.0_13_08_2025_12_13_28.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8283" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/5bVirtualBox_DEBIAN-13.0_13_08_2025_12_13_28.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/5bVirtualBox_DEBIAN-13.0_13_08_2025_12_13_28-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/5bVirtualBox_DEBIAN-13.0_13_08_2025_12_13_28-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p><strong>Gateway</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/5cVirtualBox_DEBIAN-13.0_13_08_2025_12_13_28.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8284" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/5cVirtualBox_DEBIAN-13.0_13_08_2025_12_13_28.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/5cVirtualBox_DEBIAN-13.0_13_08_2025_12_13_28-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/5cVirtualBox_DEBIAN-13.0_13_08_2025_12_13_28-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p><strong>Servidores DNS</strong> (Separa por espaço para mais de um, máximo 3)<br />
 <img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/5dVirtualBox_DEBIAN-13.0_13_08_2025_12_13_28.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8285" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/5dVirtualBox_DEBIAN-13.0_13_08_2025_12_13_28.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/5dVirtualBox_DEBIAN-13.0_13_08_2025_12_13_28-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/5dVirtualBox_DEBIAN-13.0_13_08_2025_12_13_28-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>E agora iremos cair na tela de &#8220;hostname&#8221;<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/6VirtualBox_DEBIAN-13.0_13_08_2025_12_04_50.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8278" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/6VirtualBox_DEBIAN-13.0_13_08_2025_12_04_50.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/6VirtualBox_DEBIAN-13.0_13_08_2025_12_04_50-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/6VirtualBox_DEBIAN-13.0_13_08_2025_12_04_50-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>Informe seu domínio se possuir, ou deixe em branco (Se você tiver o DNS reverso configurado ele já trará seu domínio)<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/7VirtualBox_DEBIAN-13.0_13_08_2025_12_05_31.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8279" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/7VirtualBox_DEBIAN-13.0_13_08_2025_12_05_31.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/7VirtualBox_DEBIAN-13.0_13_08_2025_12_05_31-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/7VirtualBox_DEBIAN-13.0_13_08_2025_12_05_31-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>Defina <strong>Senha de root (administrador)</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/8VirtualBox_DEBIAN-13.0_13_08_2025_13_15_51.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8287" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/8VirtualBox_DEBIAN-13.0_13_08_2025_13_15_51.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/8VirtualBox_DEBIAN-13.0_13_08_2025_13_15_51-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/8VirtualBox_DEBIAN-13.0_13_08_2025_13_15_51-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>Informe seu <strong>Nome completo</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/9VirtualBox_DEBIAN-13.0_13_08_2025_13_16_50.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8288" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/9VirtualBox_DEBIAN-13.0_13_08_2025_13_16_50.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/9VirtualBox_DEBIAN-13.0_13_08_2025_13_16_50-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/9VirtualBox_DEBIAN-13.0_13_08_2025_13_16_50-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>Defina um <strong>nome de usuário</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/10VirtualBox_DEBIAN-13.0_13_08_2025_13_17_36.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8289" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/10VirtualBox_DEBIAN-13.0_13_08_2025_13_17_36.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/10VirtualBox_DEBIAN-13.0_13_08_2025_13_17_36-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/10VirtualBox_DEBIAN-13.0_13_08_2025_13_17_36-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>Defina a <strong>senha deste usuário</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/11VirtualBox_DEBIAN-13.0_13_08_2025_13_17_36.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8290" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/11VirtualBox_DEBIAN-13.0_13_08_2025_13_17_36.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/11VirtualBox_DEBIAN-13.0_13_08_2025_13_17_36-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/11VirtualBox_DEBIAN-13.0_13_08_2025_13_17_36-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>Selecione <strong>seu estado</strong> para a escolha do <strong>fuso horário</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/12VirtualBox_DEBIAN-13.0_13_08_2025_13_18_38.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8291" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/12VirtualBox_DEBIAN-13.0_13_08_2025_13_18_38.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/12VirtualBox_DEBIAN-13.0_13_08_2025_13_18_38-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/12VirtualBox_DEBIAN-13.0_13_08_2025_13_18_38-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>Chegamos ao particionamento. Aqui vamos ter várias polemicas! Para mim é interessante particionar quando você sabe realmente o que está fazendo, exemplo possuir mais de um disco, ou porejetar que uma partição não destrua o sistema.<br />
Em VMs sempre instalo da forma automática, não tem o porque está particionando uma máquina virtual (a não ser mais uma vez que você saiba o que quer), ou até mesmo estar fazendo algum tipo de RAID via software (Sou fã do RAID 10 espelhamento e performance, mas quase sempre faremos isso lá na controladora, mas nada impede de fazer via software se seu servidor não possui uma controladora). Bom poderia falar um tempão aqui, mas em 90% o método &#8220;automático&#8221; resolve nossos problemas, então bora! </p>
<p>Selecione <strong>Assistido – usar o disco inteiro</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/13VirtualBox_DEBIAN-13.0_13_08_2025_13_19_51.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8292" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/13VirtualBox_DEBIAN-13.0_13_08_2025_13_19_51.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/13VirtualBox_DEBIAN-13.0_13_08_2025_13_19_51-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/13VirtualBox_DEBIAN-13.0_13_08_2025_13_19_51-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p><strong>Selecione o Disco</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/14VirtualBox_DEBIAN-13.0_13_08_2025_13_20_01.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8293" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/14VirtualBox_DEBIAN-13.0_13_08_2025_13_20_01.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/14VirtualBox_DEBIAN-13.0_13_08_2025_13_20_01-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/14VirtualBox_DEBIAN-13.0_13_08_2025_13_20_01-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>Selecione “<strong>Todos os arquivos em uma partição (para iniciantes)</strong>”, se você selecionar alguma das outras opções é muito importante que você realmente saiba oq está fazendo!<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/14VirtualBox_DEBIAN-13.0_13_08_2025_13_20_01.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8293" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/14VirtualBox_DEBIAN-13.0_13_08_2025_13_20_01.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/14VirtualBox_DEBIAN-13.0_13_08_2025_13_20_01-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/14VirtualBox_DEBIAN-13.0_13_08_2025_13_20_01-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p><strong>Finalizar o particionamento e escrever as mudanças no disco</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/16VirtualBox_DEBIAN-13.0_13_08_2025_13_20_33.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8295" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/16VirtualBox_DEBIAN-13.0_13_08_2025_13_20_33.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/16VirtualBox_DEBIAN-13.0_13_08_2025_13_20_33-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/16VirtualBox_DEBIAN-13.0_13_08_2025_13_20_33-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p><strong>Sim</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/17VirtualBox_DEBIAN-13.0_13_08_2025_13_20_43.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8296" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/17VirtualBox_DEBIAN-13.0_13_08_2025_13_20_43.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/17VirtualBox_DEBIAN-13.0_13_08_2025_13_20_43-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/17VirtualBox_DEBIAN-13.0_13_08_2025_13_20_43-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>Aguarde instalar o sistema básico&#8230;<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/18VirtualBox_DEBIAN-13.0_13_08_2025_13_22_35.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8297" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/18VirtualBox_DEBIAN-13.0_13_08_2025_13_22_35.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/18VirtualBox_DEBIAN-13.0_13_08_2025_13_22_35-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/18VirtualBox_DEBIAN-13.0_13_08_2025_13_22_35-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p><strong>Não</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/19VirtualBox_DEBIAN-13.0_13_08_2025_13_23_57.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8298" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/19VirtualBox_DEBIAN-13.0_13_08_2025_13_23_57.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/19VirtualBox_DEBIAN-13.0_13_08_2025_13_23_57-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/19VirtualBox_DEBIAN-13.0_13_08_2025_13_23_57-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p><strong>Brasil</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/20VirtualBox_DEBIAN-13.0_13_08_2025_13_24_10.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8299" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/20VirtualBox_DEBIAN-13.0_13_08_2025_13_24_10.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/20VirtualBox_DEBIAN-13.0_13_08_2025_13_24_10-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/20VirtualBox_DEBIAN-13.0_13_08_2025_13_24_10-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>Eu gosto do <strong>deb.debian.org</strong> (mas pode selecionar outro se desejar)<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/21VirtualBox_DEBIAN-13.0_13_08_2025_13_24_19.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8300" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/21VirtualBox_DEBIAN-13.0_13_08_2025_13_24_19.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/21VirtualBox_DEBIAN-13.0_13_08_2025_13_24_19-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/21VirtualBox_DEBIAN-13.0_13_08_2025_13_24_19-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /> </p>
<p><strong>Deixe em branco</strong>. <em>Acredito que ninguém mais use proxy, mas se for seu caso informe seu usuário e senha da conexão HTTP.</em><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/22VirtualBox_DEBIAN-13.0_13_08_2025_13_24_26.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8301" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/22VirtualBox_DEBIAN-13.0_13_08_2025_13_24_26.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/22VirtualBox_DEBIAN-13.0_13_08_2025_13_24_26-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/22VirtualBox_DEBIAN-13.0_13_08_2025_13_24_26-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /> </p>
<p>Aguarde enquanto os espelhos (repositórios são lidos) é <strong>fundamental ter internet</strong>; sem ela a instalação prossegue incompleta.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/23VirtualBox_DEBIAN-13.0_13_08_2025_13_24_36.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8302" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/23VirtualBox_DEBIAN-13.0_13_08_2025_13_24_36.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/23VirtualBox_DEBIAN-13.0_13_08_2025_13_24_36-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/23VirtualBox_DEBIAN-13.0_13_08_2025_13_24_36-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p><strong>Sim</strong>. É sempre importante ajudar a comunidade a saber quais pacotes estão sendo instalado, isso vai ajudar os desenvolvedores a serem vistos pela comunidade Debian e quem sabe aquele pacote legal que você precisa compilar na próxima versão já esteja disponível via repositório.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/24VirtualBox_DEBIAN-13.0_13_08_2025_13_26_09.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8303" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/24VirtualBox_DEBIAN-13.0_13_08_2025_13_26_09.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/24VirtualBox_DEBIAN-13.0_13_08_2025_13_26_09-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/24VirtualBox_DEBIAN-13.0_13_08_2025_13_26_09-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p><strong>ESSA É A PARTE MAIS IMPORTANTE PARA A INSTALAÇÃO LIMPA.</strong><br />
Pois não vamos instalar nenhum pacote, e sim apenas o sistema base. O único pacote que é bem provável que você irá precisar é do SSH para fazer o acesso a sua máquina.<br />
Essa instalação é recomendada para servidores! Agora se você está fazendo essa instalação com intuito de usar alguma interface gráfica faça sua escolha e prossiga.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/25VirtualBox_DEBIAN-13.0_13_08_2025_13_26_36.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8304" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/25VirtualBox_DEBIAN-13.0_13_08_2025_13_26_36.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/25VirtualBox_DEBIAN-13.0_13_08_2025_13_26_36-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/25VirtualBox_DEBIAN-13.0_13_08_2025_13_26_36-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>Grub: <strong>Sim</strong> Se não fica sem dar boot.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/26VirtualBox_DEBIAN-13.0_13_08_2025_13_28_37.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8306" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/26VirtualBox_DEBIAN-13.0_13_08_2025_13_28_37.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/26VirtualBox_DEBIAN-13.0_13_08_2025_13_28_37-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/26VirtualBox_DEBIAN-13.0_13_08_2025_13_28_37-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>Seleciona o disco qual sera configurado o GRUB (Sem ele o sistema não inicia! Normalmente /dev/sda)<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/27VirtualBox_DEBIAN-13.0_13_08_2025_13_28_46.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8307" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/27VirtualBox_DEBIAN-13.0_13_08_2025_13_28_46.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/27VirtualBox_DEBIAN-13.0_13_08_2025_13_28_46-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/27VirtualBox_DEBIAN-13.0_13_08_2025_13_28_46-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>Aguarde a finalização<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/28VirtualBox_DEBIAN-13.0_13_08_2025_13_29_01.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8308" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/28VirtualBox_DEBIAN-13.0_13_08_2025_13_29_01.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/28VirtualBox_DEBIAN-13.0_13_08_2025_13_29_01-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/28VirtualBox_DEBIAN-13.0_13_08_2025_13_29_01-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /> </p>
<p>Continuar para reiniciar<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/29VirtualBox_DEBIAN-13.0_13_08_2025_13_29_33.png" alt="" width="800" height="600" class="alignnone size-full wp-image-8309" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/29VirtualBox_DEBIAN-13.0_13_08_2025_13_29_33.png 800w, https://blog.remontti.com.br/wp-content/uploads/2025/08/29VirtualBox_DEBIAN-13.0_13_08_2025_13_29_33-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/29VirtualBox_DEBIAN-13.0_13_08_2025_13_29_33-768x576.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>Iremos ver nossa tela do GRUB (Aqui você pode selecionar um kernel anteiro instalado caso o atual apresentar algum problema&#8230;, entre recuperar até mesmo a senha de root)<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/30VirtualBox_DEBIAN-13.0_13_08_2025_13_29_51.png" alt="" width="640" height="480" class="alignnone size-full wp-image-8310" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/30VirtualBox_DEBIAN-13.0_13_08_2025_13_29_51.png 640w, https://blog.remontti.com.br/wp-content/uploads/2025/08/30VirtualBox_DEBIAN-13.0_13_08_2025_13_29_51-300x225.png 300w" sizes="auto, (max-width: 640px) 100vw, 640px" /></p>
<p>E por fim chegamos a tela de login. Nesta tela você pode logar com usuário root diretamente.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/31VirtualBox_DEBIAN-13.0_13_08_2025_13_30_06-e1755102842337.png" alt="" width="546" height="284" class="alignnone size-full wp-image-8311" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/31VirtualBox_DEBIAN-13.0_13_08_2025_13_30_06-e1755102842337.png 546w, https://blog.remontti.com.br/wp-content/uploads/2025/08/31VirtualBox_DEBIAN-13.0_13_08_2025_13_30_06-e1755102842337-300x156.png 300w" sizes="auto, (max-width: 546px) 100vw, 546px" /></p>
<p>Faça um SSH para o IP do seu servidor, se você não sabe qual o IP basta na tela anterior logar e digitar o comando: </p>
<pre class="remontti-code">ip -c address</pre>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/32VirtualBox_DEBIAN-13.0_13_08_2025_13_30_28-e1755102873988.png" alt="" width="922" height="530" class="alignnone size-full wp-image-8312" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/32VirtualBox_DEBIAN-13.0_13_08_2025_13_30_28-e1755102873988.png 922w, https://blog.remontti.com.br/wp-content/uploads/2025/08/32VirtualBox_DEBIAN-13.0_13_08_2025_13_30_28-e1755102873988-300x172.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/32VirtualBox_DEBIAN-13.0_13_08_2025_13_30_28-e1755102873988-768x441.png 768w" sizes="auto, (max-width: 922px) 100vw, 922px" /></p>
<p>No meu caso meu ip é o 172.18.18.18, irei logar com o usuário remontti (que criei na instalação) e não com root, por padrão de segurança o SSH vem com a opção que não permite que você logue com usuário root, então use o usuário &#8220;comum&#8221; da sua instalação para logar. OBS: Não seja <del datetime="2023-04-18T16:55:06+00:00">ignorante</del> de ir trocar as configurações do SSH e permitir o root logar<em> (Isso me deixa P, tem várias formas de você contornar!)</em><br />
Então do meu PC acesso e em seguida viro root com <strong>su-</strong> exemplo:</p>
<pre class="remontti-code"> ssh -p 22 192.168.87.80</pre>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/ssh-debain13.png" alt="" width="1132" height="513" class="alignnone size-full wp-image-8313" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/ssh-debain13.png 1132w, https://blog.remontti.com.br/wp-content/uploads/2025/08/ssh-debain13-300x136.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/ssh-debain13-1024x464.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2025/08/ssh-debain13-768x348.png 768w" sizes="auto, (max-width: 1132px) 100vw, 1132px" /></p>
<p>Se desejar configurar o <a href="https://wiki.debian.org/SourcesList" rel="noopener" target="_blank">repositório non-free e contrib</a>, para isso basta editar o arquivo /etc/apt/sources.list <strong>(Recomendo)</strong></p>
<pre class="remontti-code"># nano /etc/apt/sources.list</pre>
<p>Agora adicione ao final de cada repositório> <strong>contrib non-free</strong> como na imagem:<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/apt-debian13.png" alt="" width="1067" height="571" class="alignnone size-full wp-image-8314" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/apt-debian13.png 1067w, https://blog.remontti.com.br/wp-content/uploads/2025/08/apt-debian13-300x161.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/apt-debian13-1024x548.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2025/08/apt-debian13-768x411.png 768w" sizes="auto, (max-width: 1067px) 100vw, 1067px" /><br />
Saia usando CRTL + X, em seguida atualize as informações do repositório com o comando:</p>
<pre class="remontti-code"># apt update</pre>
<p>Para atualizar (se disponível) os pacotes use:</p>
<pre class="remontti-code"># apt upgrade</pre>
<p>Ao usar o repositório non-free sempre recomendo a instalação dos pacotes: firmware-linux* para reconhecer o máximo dos drivers. </p>
<pre class="remontti-code"># apt install firmware-linux firmware-linux-free firmware-linux-nonfree</pre>
<p>Aqui já vimos uma cara nova do APT<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/08/apt-drive.png" alt="" width="1074" height="312" class="alignnone size-full wp-image-8315" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/08/apt-drive.png 1074w, https://blog.remontti.com.br/wp-content/uploads/2025/08/apt-drive-300x87.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/08/apt-drive-1024x297.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2025/08/apt-drive-768x223.png 768w" sizes="auto, (max-width: 1074px) 100vw, 1074px" /></p>
<p>Reinicie seu servidor para carregar os novos módulos do kernel</p>
<pre class="remontti-code"># reboot</pre>
<p>Agora que acabou de instalar seu debian que tal dar uma &#8220;tunada&#8221; no bichinho? Então leia: <strong><a href="https://blog.remontti.com.br/5867" rel="noopener" target="_blank">Como melhorar a produtividade no seu Debian após instalação</a></strong></p>
<p>Para ver se seu Debian inicializou sem nenhum erro utilize o comando:</p>
<pre class="remontti-code"># journalctl -b -p err</pre>
<p>Muitos logs foram movidos para o o journal no Debian desde a versão 12.</p>
<p>Leitura recomendada: <strong><a href="https://blog.remontti.com.br/5867">Como melhorar a produtividade no seu Debian após instalação</a></strong></p>
<p>Script para dar aquela tunada no bash!</p>
<pre class="remontti-code">apt -y install wget; wget remontti.com.br/debian; bash debian; su -</pre>
<h4>Dica bônus para ter a hora certa!</h4>
<p>Instala o cliente NTP leve do systemd</p>
<pre class="remontti-code"># apt install -y systemd-timesyncd
# systemctl enable systemd-timesyncd
# timedatectl set-ntp true</pre>
<p>Cria configuração do timesyncd com comentários explicativos</p>
<pre class="remontti-code"># vim /etc/systemd/timesyncd.conf</pre>
<p>Deixe assim:</p>
<pre class="remontti-code-plain"># /etc/systemd/timesyncd.conf
# Configuração do cliente NTP embutido no systemd

[Time]
# Servidor NTP preferencial (Brasil)
NTP=pool.ntp.br
# Servidores de fallback (usados se o principal falhar)
FallbackNTP=a.st1.ntp.br b.st1.ntp.br

# ================= AJUSTES OPCIONAIS =================
# RootDistanceMaxSec=5
#   Máxima incerteza (latência/rede) aceitável em segundos.
#   Se o servidor for considerado &quot;longe&quot; demais, é ignorado.

# PollIntervalMinSec=32
#   Intervalo mínimo entre consultas NTP (segundos).
#   Evita flood em servidores. Padrão: 32s.

# PollIntervalMaxSec=2048
#   Intervalo máximo entre consultas NTP (segundos).
#   Em redes estáveis, o cliente espaça mais as consultas.
#   Padrão: 2048s (~34 minutos).

# ConnectionRetrySec=30
#   Tempo de espera para tentar reconectar a um servidor NTP falho.
#   Padrão: 30s.

# SaveIntervalSec=60
#   Intervalo em segundos para salvar no disco a última hora conhecida.
#   Evita saltos grandes de horário após reboot.
#   Padrão: 60s.
</pre>
<p>Reinicia o serviço para aplicar a configuração</p>
<pre class="remontti-code"># systemctl restart systemd-timesyncd</pre>
<p>Valida</p>
<pre class="remontti-code"># timedatectl status</pre>
<pre class="remontti-code-plain">
               Local time: sex 2025-08-22 10:19:15 -03
           Universal time: sex 2025-08-22 13:19:15 UTC
                 RTC time: sex 2025-08-22 13:19:15
                Time zone: America/Sao_Paulo (-03, -0300) 
System clock synchronized: yes    <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f448.png" alt="👈" class="wp-smiley" style="height: 1em; max-height: 1em;" />
              NTP service: active <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f448.png" alt="👈" class="wp-smiley" style="height: 1em; max-height: 1em;" />
          RTC in local TZ: no
</pre>
<p>Acesse <a href="https://ntp.br/">https://ntp.br/</a> e verifique se a hora esta exata.</p>
<pre class="remontti-code">date</pre>
<p>Curtiu o conteúdo? Quer me ajudar manter o blog? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Participe do canal no <a href="https://t.me/blogremontti" rel="noopener noreferrer" target="_blank">telegram</a> para ficar atualizado sempre que publicar um novo tutorial. </p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p>O post <a href="https://blog.remontti.com.br/8267">Instalação do Debian 13 Trixie limpa passo-a-passo (netinst)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/8267/feed</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title>Guia Completo: Como instalar e configurar o Nextcloud Hub 9 no Debian 12</title>
		<link>https://blog.remontti.com.br/8193</link>
					<comments>https://blog.remontti.com.br/8193#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Mon, 06 Jan 2025 18:34:38 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[armazenamento em nuvem]]></category>
		<category><![CDATA[banco de dados nextcloud]]></category>
		<category><![CDATA[configuração nextcloud]]></category>
		<category><![CDATA[configuração redis]]></category>
		<category><![CDATA[Debian 12]]></category>
		<category><![CDATA[debian server]]></category>
		<category><![CDATA[guia completo nextcloud]]></category>
		<category><![CDATA[instalação nextcloud]]></category>
		<category><![CDATA[MariaDB]]></category>
		<category><![CDATA[nextcloud]]></category>
		<category><![CDATA[nextcloud em português]]></category>
		<category><![CDATA[nextcloud hub]]></category>
		<category><![CDATA[otimização nextcloud]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[segurança servidor]]></category>
		<category><![CDATA[servidor linux]]></category>
		<category><![CDATA[servidor nextcloud]]></category>
		<category><![CDATA[ssl certbot]]></category>
		<category><![CDATA[tutorial nextcloud]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=8193</guid>

					<description><![CDATA[<p>Neste tutorial, você aprenderá como configurar e instalar o NextCloud em um servidor Linux Debian 12. O Nextcloud Hub é uma poderosa solução de armazenamento em nuvem que permite hospedar seus próprios arquivos, calendários,&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/8193">Guia Completo: Como instalar e configurar o Nextcloud Hub 9 no Debian 12</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD-HUB-9-DEBIAN-12.png" alt="" width="1792" height="1024" class="alignnone size-full wp-image-8217" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD-HUB-9-DEBIAN-12.png 1792w, https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD-HUB-9-DEBIAN-12-300x171.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD-HUB-9-DEBIAN-12-1024x585.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD-HUB-9-DEBIAN-12-768x439.png 768w, https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD-HUB-9-DEBIAN-12-1536x878.png 1536w" sizes="auto, (max-width: 1792px) 100vw, 1792px" /><br />
Neste tutorial, você aprenderá como configurar e instalar o NextCloud em um servidor Linux Debian 12. O Nextcloud Hub é uma poderosa solução de armazenamento em nuvem que permite hospedar seus próprios arquivos, calendários, contatos e outros dados, garantindo total controle sobre a privacidade e segurança.</p>
<p>Abordaremos passo a passo desde a configuração do servidor web com Apache, PHP e MariaDB, até a instalação e configuração do NextCloud. Além disso, este guia inclui ajustes de segurança, como a implementação de SSL com Certbot (Let&#8217;s Encrypt) e otimizações para melhorar o desempenho do sistema.</p>
<p>Ao final, você terá um ambiente funcional e seguro para hospedar sua própria nuvem privada, ideal para empresas ou usuários que desejam independência de serviços de terceiros.</p>
<p>Prepare-se para transformar seu servidor em uma plataforma de nuvem privada robusta e personalizável! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<h3>Debian 12</h3>
<p><strong><a href="https://blog.remontti.com.br/7236" target="_blank">Instalação do Debian 12 Bookworm limpa passo-a-passo</a></strong></p>
<h2>Subindo Servidor Web</h2>
<p>Instale o servidor web Apache e vários módulos do PHP necessários para o nextcloud</p>
<pre class="remontti-code"># apt install apache2 apache2-utils redis-server php \
  php-{fpm,pclzip,xmlrpc,imagick,redis,memcached,apcu,imap,ldap,intl,mysql,cli,pear,gmp,gd,bcmath,mbstring,curl,xml,zip} -y</pre>
<p>Habilitação de Módulos do Apache</p>
<pre class="remontti-code"># a2enmod proxy_fcgi setenvif mpm_event rewrite headers http2</pre>
<ul>
<li><strong>proxy_fcgi</strong>: Permite que o Apache se conecte a servidores FastCGI, como PHP-FPM.  </li>
<li><strong>setenvif</strong>: Configura variáveis de ambiente com base em condições das requisições.  </li>
<li><strong>mpm_event</strong>: Otimiza o Apache para lidar com conexões simultâneas de forma eficiente.  </li>
<li><strong>rewrite</strong>: Permite redirecionamentos e reescritas de URL dinâmicas.  </li>
<li><strong>headers</strong>: Permite manipulação de cabeçalhos HTTP em respostas e requisições.  </li>
<li><strong>http2</strong>: Habilita suporte ao protocolo HTTP/2 para maior velocidade e eficiência.</li>
</ul>
<p>Desabilitação do Módulo PHP do Apache, vamos utilizar o PHP-FPM.</p>
<pre class="remontti-code"># a2dismod php8.2</pre>
<p>Ativação do PHP-FPM no Boot, e habilite o PHP-FPM no Apache.</p>
<pre class="remontti-code"># systemctl enable php8.2-fpm
# a2enconf php8.2-fpm</pre>
<p>Melhorias de Segurança: Ajusta as configurações para ocultar informações sensíveis do servidor, como versão do Apache e detalhes do sistema operacional.</p>
<pre class="remontti-code"># sed -i &#039;s/ServerTokens OS/ServerTokens Prod/&#039; /etc/apache2/conf-available/security.conf
# sed -i &#039;s/ServerSignature On/ServerSignature Off/&#039; /etc/apache2/conf-available/security.conf</pre>
<p>Adiciona o usuário `www-data` (usado pelo servidor web) ao grupo do Redis, permitindo acesso ao cache Redis pelo Apache ou PHP.</p>
<pre class="remontti-code"># usermod -a -G redis www-data
echo &#039;apc.enable_cli=1&#039; &gt;&gt; /etc/php/8.2/cli/php.ini</pre>
<p>Edite o arquivo php.ini do PHP-FPM</p>
<pre class="remontti-code"># vim /etc/php/8.2/fpm/php.ini</pre>
<ul>
<li>Defina o limite de memória para scripts PHP em <strong>512MB</strong>, garantindo que aplicações PHP que consomem mais memória possam funcionar adequadamente.</li>
<li>Configura o <strong>opcache</strong> para usar <strong>16MB de buffer para strings internada</strong>, melhorando o desempenho e reduzindo o consumo de memória de strings repetitivas.</li>
</ul>
<pre class="remontti-code-plain">
memory_limit = 512M
opcache.interned_strings_buffer=16
</pre>
<p>Para instalação do NextCloud vou utilizar o diretório padrão do Apache /var/www/html, desta forma se você se você não fou utilizar DNS (acessar via IP) pode pular o próximo passo.</p>
<p>Aponte em seus DNS a entra para o subdomínio, exemplo: <strong>nextcloud</strong>.seudominio.com.br. Agora vamos criar a configuração do Apache para tratar o <em>&#8220;nextcloud.seudominio.com.br&#8221;</em></p>
<pre class="remontti-code"># vim /etc/apache2/sites-available/nextcloud.conf</pre>
<p>Ajuste da seguinte forma:</p>
<pre class="remontti-code-plain">
&lt;virtualhost *:80&gt;
        Protocols h2 http/1.1
        ServerName nextcloud.seudominio.com.br
        ServerAdmin noc@seudominio.com.br
 
        DocumentRoot /var/www/html 
 
        &lt;IfModule mod_headers.c&gt;
          Header always set Strict-Transport-Security &quot;max-age=15552000; includeSubDomains&quot;
        &lt;/IfModule&gt; 
 
        &lt;directory /var/www/html/ &gt;
                Options FollowSymLinks
                AllowOverride All
        &lt;/directory&gt; 
 
        LogLevel warn 
        ErrorLog ${APACHE_LOG_DIR}/error_nextcloud.log
        CustomLog ${APACHE_LOG_DIR}/access_nextcloud.log combined
&lt;/virtualhost&gt;</pre>
<p>Se estiver configurado servidor para um DNS desative a configuração <strong>000-default</strong>, caso não configurou pule essa etapa.</p>
<pre class="remontti-code"># a2dissite 000-default</pre>
<p>Ative as configurações do nextcloud.conf no apache para interpretar as configurações com nosso domínio.</p>
<pre class="remontti-code"># a2ensite nextcloud</pre>
<p>Reinicia o servidor Apache e php-fpm para aplicar as configurações feitas.</p>
<pre class="remontti-code"># systemctl restart php8.2-fpm apache2</pre>
<p>Instala o Certbot (ferramenta para gerenciar certificados grátis da Let’s Encrypt) e o plugin para integração com o Apache.</p>
<pre class="remontti-code"># apt install certbot python3-certbot-apache</pre>
<p>Execute o Certbot para configura automaticamente o VirtualHost.</p>
<pre class="remontti-code"># certbot</pre>
<pre class="remontti-code-green">Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
 (Enter &#039;c&#039; to cancel): noc@seudominio.com.br <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f448.png" alt="👈" class="wp-smiley" style="height: 1em; max-height: 1em;" />

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.4-April-3-2024.pdf. You must agree in
order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f448.png" alt="👈" class="wp-smiley" style="height: 1em; max-height: 1em;" />

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let&#039;s Encrypt project and the non-profit organization that
develops Certbot? We&#039;d like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f448.png" alt="👈" class="wp-smiley" style="height: 1em; max-height: 1em;" />
Account registered.

Which names would you like to activate HTTPS for?
We recommend selecting either all domains, or all domains in a VirtualHost/server block.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: nextcloud.seudominio.com.br
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter &#039;c&#039; to cancel): 1
Requesting a certificate for nextcloud.seudominio.com.br

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/nextcloud.seudominio.com.br/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/nextcloud.seudominio.com.br/privkey.pem
This certificate expires on 2025-04-06.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for nextcloud.seudominio.com.br to /etc/apache2/sites-available/nextcloud-le-ssl.conf
Congratulations! You have successfully enabled HTTPS on https://nextcloud.seudominio.com.br

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let&#039;s Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</pre>
<p>Certificados gerados pela Let&#8217;s Encrypt tem validade de 90 dias. Então vamos criar um script para renovar de forma automática.</p>
<pre class="remontti-code"># vim /usr/local/bin/renew-certificates.sh</pre>
<p>Adicione:</p>
<pre class="remontti-code-plain">#!/bin/bash

# Renova os certificados usando Certbot
/usr/bin/certbot renew --quiet</pre>
<p>De permissão para execução.</p>
<pre class="remontti-code">chmod +x /usr/local/bin/renew-certificates.sh</pre>
<p>Adicione ao cron para 1x por semana às 03:00 da manhã ele realizar a renovação.</p>
<pre class="remontti-code">crontab -e</pre>
<p>Adicion:</p>
<pre class="remontti-code-plain">
0 3 * * 1 /usr/local/bin/renew-certificates.sh</pre>
<p>Reinicie o cron.</p>
<pre class="remontti-code"># systemctl restart cron</pre>
<h4>MariaDB <em>(Banco de Dados)</em></h4>
<p>Instala o servidor e o cliente do MariaDB, um sistema de gerenciamento de banco de dados.</p>
<pre class="remontti-code"># apt install mariadb-server mariadb-client</pre>
<p>Crie o banco de dados para o NextCloud, acesso o terminal do MariaDB.</p>
<pre class="remontti-code"># mariadb -u root </pre>
<p>Altere <strong>SUA_SENHA</strong> para sua senha.</p>
<pre class="remontti-code-plain">
CREATE USER &#039;nextcloud&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;SUA_SENHA&#039;;
CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON nextcloud.* TO &#039;nextcloud&#039;@&#039;localhost&#039;;
FLUSH PRIVILEGES;
QUIT;</pre>
<p>Vamos fazer mais um ajuste no banco de dados MariaDB:</p>
<pre class="remontti-code"># vim /etc/mysql/conf.d/mysql.cnf</pre>
<p>Adicione configuração extras do <strong>innodb_buffer_pool_size</strong> e <strong>innodb_io_capacity</strong> para uma melhor performace.</p>
<pre class="remontti-code-plain">[mysqld]

# Define o tamanho do buffer pool do InnoDB para 1 GB, usado para armazenar 
# dados e índices em memória, melhorando o desempenho.
innodb_buffer_pool_size=1G

# Configura a capacidade máxima de I/O por segundo do InnoDB, 
# ideal para servidores com discos rápidos, como SSDs.
innodb_io_capacity=4000</pre>
<p>Reinicie o serviço para carregar as novas configurações.</p>
<pre class="remontti-code"># systemctl restart mariadb</pre>
<h5>Bibliotecas adicionais</h5>
<p>Instala bibliotecas adicionais para suporte a formatos de imagem extras e funcionalidades avançadas no ImageMagick.</p>
<pre class="remontti-code"># apt install libmagickcore-6.q16-6-extra -y</pre>
<h2>Instalação do NextCloud</h2>
<p>Servidor web pronto, vamos as configurações do NextCloud</p>
<p>Vamos fazer download da versão mais recente (Hoje 06/01/2025 v30.0.4)</p>
<pre class="remontti-code"># cd /tmp/
# wget https://download.nextcloud.com/server/releases/latest.zip</pre>
<pre class="remontti-code-green">--2025-01-06 11:50:58--  https://download.nextcloud.com/server/releases/latest.zip
Resolvendo download.nextcloud.com (download.nextcloud.com)... 2a01:21c8::145, 5.9.202.145
Conectando-se a download.nextcloud.com (download.nextcloud.com)|2a01:210:21c8::145|:443... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 225508096 (215M) [application/zip]
Salvando em: “latest.zip”

latest.zip  100%[============================================&gt;] 215,06M   373KB/s    em 8m 11s  

2025-01-06 11:59:10 (448 KB/s) - “latest.zip” salvo [225508096/225508096]</pre>
<p>Extraia o arquivo</p>
<pre class="remontti-code"># unzip -q latest.zip</pre>
<p>Agora vamos mover os arquivos para /var/www/html, porem antes vamos renomear a pasta html que contém o arquivo index.html padrão do apache. </p>
<pre class="remontti-code"># mv /var/www/html/ /var/www/html_old</pre>
<p>Agora vamos mover nossa pasta que extraímos <strong>nextcloud</strong> para <strong>/var/www/html</strong>, e vamos dar permissões para o usuário Apache administrar os arquivos.</p>
<pre class="remontti-code"># mv nextcloud /var/www/html
# chown -R www-data: /var/www/html</pre>
<p>Agora acesse em seu navegador <em>&#8220;https://nextcloud.seudominio.com.br&#8221;</em> para finalizar a instalação:<br />
Crie uma nome de <strong>usuário</strong> e senha para o <strong>administrador</strong>, em seguida informe os dados da conexão do banco de dados MariaDB, conforme você criou anteriormente, e clique em <strong>instalar</strong>.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD.png" alt="" width="956" height="1088" class="alignnone size-full wp-image-8210" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD.png 956w, https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD-264x300.png 264w, https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD-900x1024.png 900w, https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD-768x874.png 768w" sizes="auto, (max-width: 956px) 100vw, 956px" /></p>
<p>Selecione quais aplicações gostaria de instalar e clique em instalar, ou clique em ignorar para não instalar agora. (É possível instalar posteriormente no painel de administração.)<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD3.png" alt="" width="1353" height="955" class="alignnone size-full wp-image-8212" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD3.png 1353w, https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD3-300x212.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD3-1024x723.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD3-768x542.png 768w" sizes="auto, (max-width: 1353px) 100vw, 1353px" /></p>
<p>Algumas telas irão aparecer apresentando o Nexcloud Hub. </p>
<p>Ao final você terá a seguinte tela.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD10.png" alt="" width="2560" height="957" class="alignnone size-full wp-image-8213" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD10.png 2560w, https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD10-300x112.png 300w, https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD10-1024x383.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD10-768x287.png 768w, https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD10-1536x574.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2025/01/NEXTCLOUD10-2048x766.png 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></p>
<p>Seu NextCloud está quase pronto para utilizar, vamos a mais alguns ajustes.</p>
<p><strong>Adicionar Índices Ausentes ao Banco de Dados:</strong></p>
<pre class="remontti-code"># su - www-data --shell=/bin/bash -c &#039;php /var/www/html/occ db:add-missing-indices&#039; </pre>
<p>Este comando utiliza a interface de linha de comando do Nextcloud (`occ`) para verificar e adicionar índices que possam estar faltando nas tabelas do banco de dados. Índices são cruciais para melhorar a velocidade das consultas e o desempenho geral do sistema. Ao adicionar os índices ausentes, garantimos que o banco de dados opere de maneira mais eficiente. </p>
<p><strong>Configurar o Horário de Início da Janela de Manutenção:</strong></p>
<pre class="remontti-code"># su - www-data --shell=/bin/bash -c &#039;php /var/www/html/occ config:system:set maintenance_window_start --type=integer --value=3&#039; </pre>
<p>Este comando define o horário de início da janela de manutenção para as tarefas de segundo plano que exigem muitos recursos. Ao configurar este parâmetro, você especifica a hora (em UTC) em que essas tarefas devem começar, minimizando o impacto no desempenho durante os períodos de uso intenso. No exemplo acima, o valor `3` indica que a janela de manutenção começará às 03:00 UTC. </p>
<p><strong>Executar Reparos de Manutenção Incluindo Migrações de Mime Types:</strong></p>
<pre class="remontti-code"># su - www-data --shell=/bin/bash -c &#039;php /var/www/html/occ maintenance:repair --include-expensive&#039; </pre>
<p>Este comando executa uma série de reparos no sistema Nextcloud, incluindo tarefas que podem ser demoradas (`&#8211;include-expensive`). Entre essas tarefas, está a migração de tipos MIME, que assegura que novos tipos de arquivos sejam reconhecidos e tratados corretamente pelo sistema. É especialmente útil após atualizações ou quando novos tipos de arquivos são adicionados. </p>
<p><strong>Ajustes finais</strong></p>
<pre class="remontti-code"># vim /var/www/html/config/config.php</pre>
<p>Adicione as seguintes linhas dentro do array $CONFIG {}: </p>
<pre class="remontti-code-plain">
  &#039;default_language&#039; =&gt; &#039;pt-BR&#039;,
  &#039;default_locale&#039; =&gt; &#039;pt_BR&#039;,
  &#039;default_phone_region&#039; =&gt; &#039;BR&#039;,
</pre>
<p>Adicione: Redis como memcache para o bloqueio de arquivos.</p>
<pre class="remontti-code-plain">
  &#039;filelocking.enabled&#039; =&gt; true,
  &#039;memcache.local&#039; =&gt; &#039;\OC\Memcache\APCu&#039;,
  &#039;memcache.locking&#039; =&gt; &#039;\OC\Memcache\Redis&#039;,
  &#039;redis&#039; =&gt; [
    &#039;host&#039; =&gt; &#039;localhost&#039;,
    &#039;port&#039; =&gt; 6379,
  ],
</pre>
<p>Sempre que você cria um usuário novo ele cria vários arquivos de exemplo/modelo, se desejar desativar isso adicione também:</p>
<pre class="remontti-code-plain">
  &#039;skeletondirectory&#039; =&gt; &#039;&#039;,
</pre>
<p>Agora limpe os logs</p>
<pre class="remontti-code"> # &gt; /var/www/html/data/nextcloud.log</pre>
<p>Agora vá até as configurações de administrador para verificar se a instalação está tudo &#8220;dentro dos conformes&#8221;.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2025/01/nextcloud-hub-conf.png" alt="" width="453" height="525" class="alignnone size-full wp-image-8215" srcset="https://blog.remontti.com.br/wp-content/uploads/2025/01/nextcloud-hub-conf.png 453w, https://blog.remontti.com.br/wp-content/uploads/2025/01/nextcloud-hub-conf-259x300.png 259w" sizes="auto, (max-width: 453px) 100vw, 453px" /></p>
<p>Deve conter apenas um &#8220;problema&#8221;: <em>Você ainda não definiu ou verificou a configuração do seu servidor de e-mail. </em> Para resolver basta configurar o serviço de envio de e-mail.</p>
<p>É possível testar seu servidor em: <a href="https://scan.nextcloud.com" target="_blank">https://scan.nextcloud.com</a></p>
<p>Agora sim seu servidor NextCloud Hub está pronto!</p>
<h5>Bônus</h5>
<p>Perdi a senha como recupara?</p>
<pre class="remontti-code"># su - www-data --shell=/bin/bash -c &#039;php /var/www/html/occ user:resetpassword administrador&#039;</pre>
<pre class="remontti-code-green">Enter a new password: 
Confirm the new password: 
Successfully reset password for administrador</pre>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p><strong>Fonte:</strong><br />
<a href="https://docs.nextcloud.com/server/latest/admin_manual/contents.html" target="_blank">https://docs.nextcloud.com/server/latest/admin_manual/contents.html</a></p>
<p>O post <a href="https://blog.remontti.com.br/8193">Guia Completo: Como instalar e configurar o Nextcloud Hub 9 no Debian 12</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/8193/feed</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Como Aumentar o Disco de uma VM no Proxmox e Redimensionar a Partição no Debian</title>
		<link>https://blog.remontti.com.br/8164</link>
					<comments>https://blog.remontti.com.br/8164#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Tue, 03 Dec 2024 15:22:25 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[e2fsck]]></category>
		<category><![CDATA[Expandir Disco Virtual]]></category>
		<category><![CDATA[Expandir Partição]]></category>
		<category><![CDATA[Gestão de Servidores]]></category>
		<category><![CDATA[Linux VM]]></category>
		<category><![CDATA[Parted]]></category>
		<category><![CDATA[Partição Linux]]></category>
		<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[Redimensionar Disco]]></category>
		<category><![CDATA[Resize Disk]]></category>
		<category><![CDATA[Resize Filesystem]]></category>
		<category><![CDATA[resize2fs]]></category>
		<category><![CDATA[Sistemas Operacionais]]></category>
		<category><![CDATA[Tamanho do Disco]]></category>
		<category><![CDATA[Tutorial Proxmox]]></category>
		<category><![CDATA[virtualização]]></category>
		<category><![CDATA[VM]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=8164</guid>

					<description><![CDATA[<p>Muitas pessoas já me procuraram para esclarecer dúvidas sobre esse procedimento, e percebo que, por falta de conhecimento, algumas acabam optando por formatar o servidor, o que não é necessário. Com este tutorial, espero&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/8164">Como Aumentar o Disco de uma VM no Proxmox e Redimensionar a Partição no Debian</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/12/Como-Aumentar-o-Disco-de-uma-VM-no-Proxmox-e-Redimensionar-a-Particao-no-Debian.webp" alt="" width="1792" height="1024" class="alignnone size-full wp-image-8175" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/12/Como-Aumentar-o-Disco-de-uma-VM-no-Proxmox-e-Redimensionar-a-Particao-no-Debian.webp 1792w, https://blog.remontti.com.br/wp-content/uploads/2024/12/Como-Aumentar-o-Disco-de-uma-VM-no-Proxmox-e-Redimensionar-a-Particao-no-Debian-300x171.webp 300w, https://blog.remontti.com.br/wp-content/uploads/2024/12/Como-Aumentar-o-Disco-de-uma-VM-no-Proxmox-e-Redimensionar-a-Particao-no-Debian-1024x585.webp 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/12/Como-Aumentar-o-Disco-de-uma-VM-no-Proxmox-e-Redimensionar-a-Particao-no-Debian-768x439.webp 768w, https://blog.remontti.com.br/wp-content/uploads/2024/12/Como-Aumentar-o-Disco-de-uma-VM-no-Proxmox-e-Redimensionar-a-Particao-no-Debian-1536x878.webp 1536w" sizes="auto, (max-width: 1792px) 100vw, 1792px" /></p>
<p>Muitas pessoas já me procuraram para esclarecer dúvidas sobre esse procedimento, e percebo que, por falta de conhecimento, algumas acabam optando por formatar o servidor, o que não é necessário. Com este tutorial, espero simplificar o processo e mostrar que, com as ferramentas certas, é algo fácil de ser realizado.</p>
<p>Este guia mostra como aumentar o tamanho de um disco virtual no <strong>Proxmox</strong> e redimensionar a partição correspondente em uma VM com <strong>Debian</strong>.<br />
Todo o processo é realizado sem perda de dados e sem a necessidade de reinstalar o sistema operacional.</p>
<h3>1. Aumentando o Disco no Proxmox</h3>
<p> &#8211; Acesse o Proxmox pela interface web.<br />
 &#8211; Pare a VM que você deseja ajustar por segurança.<br />
 &#8211; Navegue até a aba <strong>Hardware</strong>.<br />
 &#8211; Selecione o disco que deseja redimensionar e clique em <strong>Disk Action >> Resize</strong>.<br />
 &#8211; Insira o tamanho em GB que deseja acrescentar.<br />
 &#8211; Confirme a operação e inicie a VM.</p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/12/resize.png" alt="" width="1033" height="391" class="alignnone size-full wp-image-8166" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/12/resize.png 1033w, https://blog.remontti.com.br/wp-content/uploads/2024/12/resize-300x114.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/12/resize-1024x388.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/12/resize-768x291.png 768w" sizes="auto, (max-width: 1033px) 100vw, 1033px" /></p>
<h3>2. Verificando o Novo Tamanho do Disco na VM</h3>
<p>Após iniciar a VM, conecte-se ao terminal (via console ou SSH) e verifique o novo tamanho do disco:</p>
<pre class="remontti-code"># fdisk -l</pre>
<p>O disco agora deve mostrar o tamanho atualizado, mas a partição ainda estará com o tamanho antigo. O próximo passo é redimensioná-la. Exemplo:</p>
<pre class="remontti-code-blue">
Disco /dev/sda: 920 GiB, 987842478080 bytes, 1929379840 setores
Modelo de disco: QEMU HARDDISK   
Unidades: setor de 1 * 512 = 512 bytes
Tamanho de setor (lógico/físico): 512 bytes / 512 bytes
Tamanho E/S (mínimo/ótimo): 512 bytes / 512 bytes
Tipo de rótulo do disco: dos
Identificador do disco: 0xfebc1b65

Dispositivo Inicializar  Início       Fim   Setores Tamanho Id Tipo
/dev/sda1                  2046   7813119   7811074    3,7G  5 Estendida
/dev/sda2   *           7813120 251656191 243843072  116,3G 83 Linux
/dev/sda5                  2048   7813119   7811072    3,7G 82 Linux swap / Solaris
</pre>
<h3>3. Redimensionando a Partição</h3>
<p>Instale o <strong>parted</strong></p>
<pre class="remontti-code"># apt install parted</pre>
<p>Inicie o parted para editar o disco, no nosso caso é /dev/sda e a partição é a /dev/sda2 que está com 116,3G que queremos expandir para o total do disco.</p>
<pre class="remontti-code"># parted /dev/sda</pre>
<p>Dentro do parted, liste as partições:</p>
<pre class="remontti-code-green">print</pre>
<p>Redimensione a partição:</p>
<pre class="remontti-code-green">resizepart 2 100%</pre>
<p>Quando aparecer a mensagem de aviso, digite <strong>yes</strong>.<br />
Saia do parted:</p>
<pre class="remontti-code-green">quit</pre>
<p>Exemplo:</p>
<pre class="remontti-code-blue">
GNU Parted 3.5
Using /dev/sda
Welcome to GNU Parted! Type &#039;help&#039; to view a list of commands.
(parted) resizepart 2 100% <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f448.png" alt="👈" class="wp-smiley" style="height: 1em; max-height: 1em;" />
Warning: Partition /dev/sda2 is being used. Are you sure you want to continue?
Yes/No? yes <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f448.png" alt="👈" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 
(parted)
(parted) quit
Information: You may need to update /etc/fstab.</pre>
<h3>4. Expandindo o Sistema de Arquivos</h3>
<p>Após redimensionar a partição, você precisa expandir o sistema de arquivos para usar o novo espaço.</p>
<p>Verifique o sistema de arquivos</p>
<pre class="remontti-code"># e2fsck -f /dev/sda2</pre>
<p>Se a partição estiver montada, você verá uma mensagem de erro. Isso é esperado, pois /dev/sda2 geralmente é a partição raiz.</p>
<pre class="remontti-code-blue">e2fsck 1.47.0 (5-Feb-2023)
/dev/sda2 is mounted.
e2fsck: Cannot continue, aborting.</pre>
<p>Expanda o sistema de arquivos</p>
<pre class="remontti-code"># resize2fs /dev/sda2</pre>
<p>Após a execução, o sistema de arquivos será ajustado para usar todo o espaço disponível na partição.</p>
<pre class="remontti-code-blue">resize2fs 1.47.0 (5-Feb-2023)
Filesystem at /dev/sda2 is mounted on /; on-line resizing required
old_desc_blocks = 15, new_desc_blocks = 115
The filesystem on /dev/sda2 is now 240195840 (4k) blocks long.</pre>
<h3>5. Verifique o Novo Tamanho</h3>
<p>Após concluir o redimensionamento, confirme o espaço disponível.</p>
<p>Verifique a partição:</p>
<pre class="remontti-code"># fdisk -l</pre>
<pre class="remontti-code-blue">Disco /dev/sda: 920 GiB, 987842478080 bytes, 1929379840 setores
Modelo de disco: QEMU HARDDISK   
Unidades: setor de 1 * 512 = 512 bytes
Tamanho de setor (lógico/físico): 512 bytes / 512 bytes
Tamanho E/S (mínimo/ótimo): 512 bytes / 512 bytes
Tipo de rótulo do disco: dos
Identificador do disco: 0xfebc1b65

Dispositivo Inicializar  Início        Fim    Setores Tamanho Id Tipo
/dev/sda1                  2046    7813119    7811074    3,7G  5 Estendida
/dev/sda2   *           7813120 1929379839 1921566720  916,3G 83 Linux
/dev/sda5                  2048    7813119    7811072    3,7G 82 Linux swap / Solaris</pre>
<p>Confirme o sistema de arquivos:</p>
<pre class="remontti-code"># df -h /dev/sda2</pre>
<p>A saída mostrará o novo tamanho da partição e o espaço disponível:</p>
<pre class="remontti-code-blue">
Sist. Arq.      Tam. Usado Disp. Uso% Montado em
/dev/sda2       902G  3,8G  860G   1% /
</pre>
<h3>Conclusão</h3>
<p>Este método é uma solução prática e eficiente para expandir o espaço de disco de uma VM no Proxmox e redimensionar sua partição no Debian, tudo de forma segura e sem perda de dados, eliminando a necessidade de reinstalar o sistema operacional.</p>
<p>Se este guia foi útil para você, fico feliz em ter contribuído! </p>
<p>O post <a href="https://blog.remontti.com.br/8164">Como Aumentar o Disco de uma VM no Proxmox e Redimensionar a Partição no Debian</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/8164/feed</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>RR-WhatsApp-API, simples API para envio de mensagens.</title>
		<link>https://blog.remontti.com.br/8109</link>
					<comments>https://blog.remontti.com.br/8109#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Sun, 20 Oct 2024 18:17:29 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[API REST WhatsApp]]></category>
		<category><![CDATA[API WhatsApp em produção]]></category>
		<category><![CDATA[API WhatsApp node.js]]></category>
		<category><![CDATA[automação de mensagens]]></category>
		<category><![CDATA[automação WhatsApp]]></category>
		<category><![CDATA[chatbot WhatsApp]]></category>
		<category><![CDATA[configurar API WhatsApp]]></category>
		<category><![CDATA[Debian 12]]></category>
		<category><![CDATA[enviar mensagens com anexo]]></category>
		<category><![CDATA[enviar mensagens via API]]></category>
		<category><![CDATA[enviar mensagens WhatsApp]]></category>
		<category><![CDATA[envio de mensagem WhatsApp URL]]></category>
		<category><![CDATA[envio de mensagens em grupos]]></category>
		<category><![CDATA[instalação WhatsApp API]]></category>
		<category><![CDATA[instalar dependências WhatsApp API]]></category>
		<category><![CDATA[integração WhatsApp]]></category>
		<category><![CDATA[mensageria WhatsApp]]></category>
		<category><![CDATA[Node.js]]></category>
		<category><![CDATA[QR code WhatsApp API]]></category>
		<category><![CDATA[sistema operacional Debian]]></category>
		<category><![CDATA[tutorial RR WhatsApp API]]></category>
		<category><![CDATA[tutorial WhatsApp API]]></category>
		<category><![CDATA[WhatsApp API]]></category>
		<category><![CDATA[WhatsApp API com curl]]></category>
		<category><![CDATA[WhatsApp API com formulários]]></category>
		<category><![CDATA[WhatsApp API como serviço]]></category>
		<category><![CDATA[WhatsApp com anexo]]></category>
		<category><![CDATA[whatsapp-web.js]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=8109</guid>

					<description><![CDATA[<p>Hoje acordei querendo me incomodar e pensei vou fazer a &#8220;droga&#8221; da API de Whatsapp que tanto me pedem (mesmo que ninguém me doa bo***ta nenhuma, é foi um desabafo), pois quem me conhece&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/8109">RR-WhatsApp-API, simples API para envio de mensagens.</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/10/capa-rr-whatsapp-api.webp" alt="" width="1792" height="1024" class="alignnone size-full wp-image-8122" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/10/capa-rr-whatsapp-api.webp 1792w, https://blog.remontti.com.br/wp-content/uploads/2024/10/capa-rr-whatsapp-api-300x171.webp 300w, https://blog.remontti.com.br/wp-content/uploads/2024/10/capa-rr-whatsapp-api-1024x585.webp 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/10/capa-rr-whatsapp-api-768x439.webp 768w, https://blog.remontti.com.br/wp-content/uploads/2024/10/capa-rr-whatsapp-api-1536x878.webp 1536w" sizes="auto, (max-width: 1792px) 100vw, 1792px" /></p>
<p>Hoje acordei querendo me incomodar e pensei vou fazer a &#8220;droga&#8221; da API de Whatsapp que tanto me pedem (<del datetime="2024-10-20T21:08:00+00:00">mesmo que ninguém me doa bo***ta nenhuma, é foi um desabafo</del>), pois quem me conhece sabe que odeio o Whatsapp, mas vamos lá, eu e o GPT tentamos fazer algo simples para enviar mensagens do WhatsApp utilizando o projeto <strong><a href="https://wwebjs.dev/">whatsapp-web.js</a></strong>. </p>
<p>Bom minha ideia inicial era poder enviar mensagem chamando uma URL, depois fiquei enjoado e fiz uma pagina com um formulário para o envio até de anexo (olha só e luxuria!) então essa P***a de API possibilita o envio de mensagens com ou sem anexos, tanto para números individuais quanto para grupos. A aplicação pode ser utilizada via interface web ou diretamente através de endpoints REST.</p>
<p>Github: <a href="https://github.com/remontti/RR-WhatsApp-API" rel="noopener" target="_blank"><strong>RR-WhatsApp-API</strong></a></p>
<h4>Requisitos</h4>
<p>Sistema Operacional: Debian 12</p>
<p>Atualize os pacotes existentes:</p>
<pre class="remontti-code"># apt update ; apt upgrade -y</pre>
<h3>Instalação</h3>
<p>Instale as dependências necessárias para o `puppeteer` e outras bibliotecas:</p>
<pre class="remontti-code"># apt install -y \
  curl wget nano vim git nodejs npm psmisc \
  ca-certificates fonts-liberation libappindicator3-1 \
  libatk-bridge2.0-0 libcups2 libdrm-dev libgbm-dev libgtk-3-0 \
  libnspr4 libnss3 libxss1 lsb-release xdg-utils libasound2 libdrm2 \
  libxcomposite1 libxrandr2 libgbm1
</pre>
<p>Crie um usuário para a aplicação e clone o repositório, e ajuste o local dos arquivos:</p>
<pre class="remontti-code"># adduser --home /opt/RR-WhatsApp-API rr-whatsapp-api
$ su - rr-whatsapp-api
$ git clone https://github.com/remontti/RR-WhatsApp-API.git
$ mv /opt/RR-WhatsApp-API/RR-WhatsApp-API/* /opt/RR-WhatsApp-API/
$ rm -rf /opt/RR-WhatsApp-API/RR-WhatsApp-API</pre>
<p>Instale as dependências do projeto:</p>
<pre class="remontti-code">$ cd /opt/RR-WhatsApp-API/
$ npm install</pre>
<p>Altere o arquivo `index.js` para configurar os IPs autorizados (allowedIPs) que terão acesso à API:</p>
<pre class="remontti-code">$ vim /opt/RR-WhatsApp-API/index.js</pre>
<p>Exemplo de configuração de IPs permitidos:</p>
<pre class="remontti-code">const allowedIPs = [
    &#039;192.168.0.0/16&#039;,
    &#039;127.0.0.1&#039;,
    &#039;::1&#039;,
];</pre>
<p>Se desejar, altere também a porta da aplicação:</p>
<pre class="remontti-code">const port = 3001;</pre>
<p>Para iniciar a aplicação, execute:</p>
<pre class="remontti-code">$ node index.js</pre>
<p>A saída será semelhante a: API rodando em http://0.0.0.0:3001</p>
<p>Ctrl+c para cancelar, vamos colocar para executar a aplicação como um serviço no Debian 12, siga os passos abaixo:<br />
$ exit</p>
<pre class="remontti-code"># nano /etc/systemd/system/rr-whatsapp-api.service</pre>
<p>Adicione:</p>
<pre class="remontti-code">[Unit]
Description=RR WhatsApp API
After=network.target

[Service]
ExecStart=/usr/bin/node /opt/RR-WhatsApp-API/index.js
WorkingDirectory=/opt/RR-WhatsApp-API
Restart=always
User=rr-whatsapp-api
Environment=NODE_ENV=production
ExecReload=/usr/bin/killall -9 rr-whatsapp-api
KillMode=process
RestartSec=10

[Install]
WantedBy=multi-user.target</pre>
<p>Recarregar o systemd e Iniciar o Serviço</p>
<pre class="remontti-code"># systemctl daemon-reload
# systemctl enable rr-whatsapp-api
# systemctl start rr-whatsapp-api
</pre>
<p>Verificar o Status do Serviço</p>
<pre class="remontti-code"># systemctl status rr-whatsapp-api.service</pre>
<h2>Uso</h2>
<h3>1. Utilizando o Formulário Web</h3>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/10/img.png" alt="" width="1471" height="748" class="alignnone size-full wp-image-8126" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/10/img.png 1471w, https://blog.remontti.com.br/wp-content/uploads/2024/10/img-300x153.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/10/img-1024x521.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/10/img-768x391.png 768w" sizes="auto, (max-width: 1471px) 100vw, 1471px" /></p>
<h4>1.1. Acessar a Interface Web</h4>
<p>No seu navegador, acesse: <strong>http://SEU_SERVIDOR:3001</strong></p>
<p>Substitua <code>SEU_SERVIDOR</code> pelo endereço IP ou nome de domínio do seu servidor.</p>
<h4>1.2. Conectar ao WhatsApp</h4>
<ul>
<li>Na interface web, se não estiver conectado, você verá a opção para <strong>Conectar</strong>.</li>
<li>Clique no botão <strong>Conectar</strong>.</li>
<li>Um modal será aberto exibindo o QR Code.</li>
<li>Escaneie o QR Code com o aplicativo do WhatsApp no seu dispositivo móvel:
<ul>
<li>Abra o WhatsApp.</li>
<li>Vá em <strong>Configurações</strong> &gt; <strong>Aparelhos Conectados</strong> &gt; <strong>Conectar um Aparelho</strong>.</li>
<li>Escaneie o QR Code exibido na tela.</li>
</ul>
</li>
<li>Após a autenticação, a página será atualizada e mostrará o status <strong>Conectado ao WhatsApp</strong>.</li>
</ul>
<h4>1.3. Enviar Mensagens</h4>
<ul>
<li>Preencha o formulário:
<ul>
<li><strong>Número(s) ou Grupo(s):</strong> Insira os números de telefone (com código do país e DDD) ou nomes dos grupos, separados por vírgula. Se notar que deu mensagem enviada, mas não foi, provavelmente vai ter que tirar o &#8220;9 da frente&#8221;, essa M de whatsapp é zoado. Exemplo:<br />
               +5511999999999, +552188888888, Nome do Grupo
            </li>
<li><strong>Mensagem:</strong> Digite a mensagem que deseja enviar.</li>
<li><strong>Selecionar Imagem/Documento (Opcional):</strong> Se desejar enviar um anexo, selecione o arquivo.</li>
</ul>
</li>
<li>Clique em <strong>Enviar Mensagem</strong>.</li>
<li>Um modal aparecerá informando o sucesso ou erro do envio.</li>
</ul>
<p>OBS: A primeira mensagem após autenticar teve uma vez que chegou a levar 4 min para enviar. mas depois ficou tudo certo. </p>
<h4>1.4. Desconectar do WhatsApp</h4>
<ul>
<li>Na interface web, clique no botão <strong>Desconectar</strong>.</li>
<li>Você receberá uma confirmação de que foi desconectado.</li>
</ul>
<h3>2. Utilizando a API Diretamente</h3>
<h4>2.1. Verificar o Status da Conexão</h4>
<p>Faça uma requisição <strong>GET</strong> para:<br />
<strong>http://SEU_SERVIDOR:3001/api/status</strong></p>
<p><strong>Resposta:</strong></p>
<ul>
<li>Conectado:
<pre class="remontti-code">{
  &quot;status&quot;: &quot;connected&quot;,
  &quot;number&quot;: &quot;552199999999&quot;
}</pre>
</li>
<li>Desconectado:
<pre class="remontti-code">{
  &quot;status&quot;: &quot;disconnected&quot;
}</pre>
</li>
</ul>
<h4>2.2. Obter o QR Code</h4>
<p>Para autenticar o cliente sem usar a interface web, você pode obter o QR Code via API.</p>
<p>Faça uma requisição <strong>GET</strong> para:<br />
<strong>http://SEU_SERVIDOR:3001/api/qr</strong></p>
<ul>
<li><strong>Se não estiver conectado:</strong>
<ul>
<li>Você receberá a imagem do QR Code.</li>
<li>Escaneie essa imagem usando o aplicativo do WhatsApp.</li>
</ul>
</li>
<li><strong>Se já estiver conectado:</strong>
<pre class="remontti-code">{
  &quot;status&quot;: &quot;connected&quot;,
  &quot;message&quot;: &quot;Cliente já está conectado&quot;
}</pre>
</li>
</ul>
<h4>2.3. Enviar Mensagens via API</h4>
<h5>2.3.1. Enviar Mensagem Sem Anexo</h5>
<p>Faça uma requisição <strong>POST</strong> para:<br />
<strong>http://SEU_SERVIDOR:3001/api/send</strong></p>
<p><strong>Parâmetros do Formulário (multipart/form-data):</strong></p>
<ul>
<li><strong>recipients:</strong> Número(s) ou Grupo(s) separados por vírgula.</li>
<li><strong>message:</strong> Texto da mensagem.</li>
</ul>
<p><strong>Exemplo usando <code>curl</code>:</strong></p>
<pre class="remontti-code">curl -X POST http://localhost:3001/api/send \
  -F &#039;recipients=+552199999999,Grupo de Amigos&#039; \
  -F &#039;message=Olá, esta é uma mensagem de teste!&#039;</pre>
<h5>2.3.2. Enviar Mensagem Com Anexo</h5>
<p>Além dos parâmetros anteriores, inclua o campo <strong>file</strong> com o arquivo.<br />
<strong>Exemplo usando <code>curl</code>:</strong></p>
<pre class="remontti-code">curl -X POST http://localhost:3001/api/send \
  -F &#039;recipients=+552199999999&#039; \
  -F &#039;message=Aqui está o documento solicitado.&#039; \
  -F &#039;file=@/opt/o/arquivo.pdf&#039;</pre>
<h5>2.3.3. Enviar Mensagem via URL</h5>
<p><strong>Atenção:</strong> Este método é menos seguro e deve ser usado apenas para testes.</p>
<p>Faça uma requisição <strong>GET</strong> para:<br />
<strong>http://SEU_SERVIDOR:3001/api/sendMessage/:recipient/:message</strong></p>
<ul>
<li><strong>:recipient</strong>: Número sem caracteres especiais ou nome do grupo (URL-encoded).</li>
<li><strong>:message</strong>: Mensagem (URL-encoded).</li>
</ul>
<p><strong>Exemplo:</strong><br />
Enviar &#8220;Teste via GET&#8221; para o número +55 21 99999-9999:<br />
<strong>http://SEU_SERVIDOR:3001/api/sendMessage/5511912345678/Teste%20via%20GET</strong></p>
<p>Enviar &#8220;Aviso importante&#8221; para o grupo &#8220;Equipe&#8221;:<br />
<strong>http://SEU_SERVIDOR:3001/api/sendMessage/Equipe/Aviso%20importante</strong></p>
<h4>2.4. Desconectar do WhatsApp via API</h4>
<p>Faça uma requisição <strong>GET</strong> para:<br />
<strong>http://SEU_SERVIDOR:3001/api/disconnect</strong></p>
<hr>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>O post <a href="https://blog.remontti.com.br/8109">RR-WhatsApp-API, simples API para envio de mensagens.</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/8109/feed</wfw:commentRss>
			<slash:comments>22</slash:comments>
		
		
			</item>
		<item>
		<title>Gerenciamento de Acesso Seguro com JumpServer</title>
		<link>https://blog.remontti.com.br/7987</link>
					<comments>https://blog.remontti.com.br/7987#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Mon, 29 Jul 2024 14:41:14 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[administração de servidores]]></category>
		<category><![CDATA[auditoria TI]]></category>
		<category><![CDATA[compliance TI]]></category>
		<category><![CDATA[controle de acesso]]></category>
		<category><![CDATA[Gerenciamento de Acesso Seguro]]></category>
		<category><![CDATA[gerenciamento de senhas]]></category>
		<category><![CDATA[instalação JumpServer]]></category>
		<category><![CDATA[integração LDAP]]></category>
		<category><![CDATA[JumpServer]]></category>
		<category><![CDATA[MFA]]></category>
		<category><![CDATA[passo a passo JumpServer]]></category>
		<category><![CDATA[rede segura]]></category>
		<category><![CDATA[SAM]]></category>
		<category><![CDATA[segurança TI]]></category>
		<category><![CDATA[TI]]></category>
		<category><![CDATA[tutorial JumpServer]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7987</guid>

					<description><![CDATA[<p>Hoje venho apresentar o JumpServer, uma ferramenta que foi me apresentada por André Dias CEO da Hexa Networks. Similar ao Apache Guacamole. Introdução ao JumpServer O JumpServer é uma solução open-source de Gerenciamento de&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7987">Gerenciamento de Acesso Seguro com JumpServer</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/07/jumpserver.com-debian12-remontti.com_.br_.jpg" alt="" width="1219" height="600" class="alignnone size-full wp-image-8011" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/07/jumpserver.com-debian12-remontti.com_.br_.jpg 1219w, https://blog.remontti.com.br/wp-content/uploads/2024/07/jumpserver.com-debian12-remontti.com_.br_-300x148.jpg 300w, https://blog.remontti.com.br/wp-content/uploads/2024/07/jumpserver.com-debian12-remontti.com_.br_-1024x504.jpg 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/07/jumpserver.com-debian12-remontti.com_.br_-768x378.jpg 768w" sizes="auto, (max-width: 1219px) 100vw, 1219px" /></p>
<p>Hoje venho apresentar o <strong>JumpServer</strong>, uma ferramenta que foi me apresentada por <a href="https://t.me/AndrelrDias" rel="noopener" target="_blank"><strong>André Dias</strong></a> CEO da <a href="https://www.hexanetworks.com.br/" rel="noopener" target="_blank">Hexa Networks</a>. Similar ao <a href="https://blog.remontti.com.br/6204" rel="noopener" target="_blank">Apache Guacamole</a>.</p>
<h3>Introdução ao JumpServer</h3>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/07/jump.jpg" alt="" width="400" height="116" class="alignnone size-full wp-image-7993" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/07/jump.jpg 400w, https://blog.remontti.com.br/wp-content/uploads/2024/07/jump-300x87.jpg 300w" sizes="auto, (max-width: 400px) 100vw, 400px" /><br />
O JumpServer é uma solução open-source de Gerenciamento de Acesso Seguro (Secure Access Management &#8211; SAM) projetada para fornecer uma plataforma centralizada para controle de acesso e auditoria em ambientes de TI. Ele atua como um bastião, oferecendo um ponto único de entrada para administradores e operadores, permitindo a gestão eficiente e segura de servidores, dispositivos de rede e outros recursos críticos.</p>
<h4>Principais Benefícios do JumpServer</h4>
<ul>
<li><strong>Segurança e Controle de Acesso:</strong> O JumpServer reforça a segurança ao centralizar e controlar o acesso aos recursos, garantindo que apenas usuários autorizados possam interagir com os sistemas críticos.</li>
<li><strong>Auditoria e Monitoramento:</strong> Cada sessão é registrada e monitorada, oferecendo uma trilha de auditoria detalhada para investigações e conformidade com regulamentos de segurança.</li>
<li><strong>Gerenciamento de Senhas:</strong> Com o JumpServer, é possível gerenciar e rotacionar senhas de maneira segura, minimizando os riscos associados ao uso de senhas estáticas.</li>
<li><strong>Integração com Sistemas Existentes:</strong> Ele suporta integração com diversos sistemas de autenticação, como LDAP, Active Directory e multifatores de autenticação (MFA), facilitando a incorporação em ambientes já existentes.</li>
<li><strong>Facilidade de Uso:</strong> A interface intuitiva do JumpServer permite que administradores e operadores configurem e utilizem a plataforma com facilidade, reduzindo a curva de aprendizado.</li>
</ul>
<h4>Como o JumpServer Funciona</h4>
<p>    O JumpServer opera como um gateway seguro entre os usuários e os recursos de TI. Quando um usuário precisa acessar um servidor ou dispositivo, ele se conecta primeiro ao JumpServer. Após a autenticação bem-sucedida, o JumpServer estabelece a conexão segura com o recurso desejado. Durante essa sessão, todas as atividades são registradas, permitindo auditoria e monitoramento contínuos.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/07/jumpserver-overview.webp" alt="" width="1080" height="654" class="alignnone size-full wp-image-7992" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/07/jumpserver-overview.webp 1080w, https://blog.remontti.com.br/wp-content/uploads/2024/07/jumpserver-overview-300x182.webp 300w, https://blog.remontti.com.br/wp-content/uploads/2024/07/jumpserver-overview-1024x620.webp 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/07/jumpserver-overview-768x465.webp 768w" sizes="auto, (max-width: 1080px) 100vw, 1080px" /></p>
<h4>Cenários de Uso Comuns</h4>
<ul>
<li><strong>Ambientes Corporativos:</strong> Empresas que precisam gerenciar o acesso a uma grande quantidade de servidores e dispositivos de rede.</li>
<li><strong>Provedores de Serviços Gerenciados (MSPs):</strong> Provedores que gerenciam infraestrutura de TI para múltiplos clientes e precisam garantir a segurança e conformidade.</li>
<li><strong>Organizações com Requisitos de Conformidade:</strong> Entidades que devem cumprir normas rigorosas de segurança e auditoria, como PCI-DSS, HIPAA, e GDPR.</li>
</ul>
<p>    O JumpServer se destaca como uma ferramenta essencial para organizações que buscam melhorar a segurança, o controle de acesso e a conformidade com regulamentações de TI. Ele oferece uma plataforma robusta e flexível para gerenciar o acesso a recursos críticos, mantendo a integridade e a segurança dos sistemas.</p>
<h2>Instalação</h2>
<p>Para rodar o JumpServer, é recomendado ter um hardware com as seguintes especificações mínimas:</p>
<p>&#8211; CPU: 2 núcleos<br />
&#8211; Memória: 8 GB de RAM<br />
&#8211; Armazenamento: 60 GB</p>
<p>Irei fazer a instalação em um Debian 12, mas ele roda em Ubuntu, RedHat ou CentOS. O kernel deve ser superior ou igual a versão 4.3.</p>
<pre class="remontti-code"># apt install curl
# curl -sSL https://github.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash</pre>
<p>Aguarde a magia acontecer, ele irá fazer tudo para você. Ao final você terá 8 containers (jms_koko jms_redis jms_postgresql jms_celery jms_chen jms_lion jms_core jms_web)</p>
<p>Ao finalizar acesse em seu navegador o IP do seu servidor exemplo <strong>http://seu-ip/</strong><br />
Usuário: <strong>admin</strong>  Senha: <strong>ChangeMe</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/07/jumpserver-debian-12.png" alt="" width="1108" height="587" class="alignnone size-full wp-image-7994" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/07/jumpserver-debian-12.png 1108w, https://blog.remontti.com.br/wp-content/uploads/2024/07/jumpserver-debian-12-300x159.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/07/jumpserver-debian-12-1024x542.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/07/jumpserver-debian-12-768x407.png 768w" sizes="auto, (max-width: 1108px) 100vw, 1108px" /></p>
<h3>Habilitando IPv6</h3>
<p>Para ativar o suporte IPv6 nos containers do JumpServer vamos editar o arquivo <strong>/opt/jumpserver/config/config.txt</strong> e fazer alguns ajustes. Para facilitar a vida vou utilizar o comando sed, para alterar USE_IPV6=0 por USE_IPV6=1 e fc00:1010:1111:200 por fc00:bebe:cafe:d0ce.</p>
<pre class="remontti-code"># sed -i &#039;s/USE_IPV6=0/USE_IPV6=1/&#039; /opt/jumpserver/config/config.txt
# sed -i &#039;s/fc00:1010:1111:200/fc00:bebe:cafe:d0ce/&#039; /opt/jumpserver/config/config.txt
# cd /opt/jumpserver-installer-v4.5.0
# bash jmsctl.sh stop
# bash jmsctl.sh start
</pre>
<h3>Habilitando HTTPS</h3>
<p><strong>Aponte em seu DNS Autoritativo as entradas A (IPv4) e AAAA (IPv6) </strong> apontando para os IPs públicos de seu servidor. </p>
<p>Antes de gerar o certificado pare todos os contêineres do JumpServer. </p>
<pre class="remontti-code"># cd /opt/jumpserver-installer-v4.5.0
# bash jmsctl.sh stop</pre>
<p>Em seguida iremos instalar o certbot (Let’s Encrypt) para gerar nosso certificado, no exemplo irei utilizar &#8220;jump.remontti.com.br&#8221;.</p>
<pre class="remontti-code"># apt install certbot python3-certbot-apache
# certbot certonly --standalone -d jump.remontti.com.br</pre>
<p>Para poder usar os certificados gerados pelo certbot, vamos precisar copia-los em /opt/jumpserver/config/nginx/cert. Atalho não funciona devido as permissões. Faça o seguinte:<br />
Remova os certificados inválidos:</p>
<pre class="remontti-code"># rm /opt/jumpserver/config/nginx/cert/server.crt
# rm /opt/jumpserver/config/nginx/cert/server.key</pre>
<p>Copie os os novos:</p>
<pre class="remontti-code"># cd /etc/letsencrypt/live/jump.remontti.com.br/
# cp fullchain.pem /opt/jumpserver/config/nginx/cert/server.crt
# cp privkey.pem /opt/jumpserver/config/nginx/cert/server.key
# chmod 600 /opt/jumpserver/config/nginx/cert/*</pre>
<p>Edite o arquivo /opt/jumpserver/config/config.txt e altere as seguintes entradas, informando seu domínio bem como o caminho dos arquivos de certificado gerados no passo anterior.</p>
<pre class="remontti-code-plain"># HTTPS_PORT=443
# SERVER_NAME=your_domain_name
# SSL_CERTIFICATE=your_cert
# SSL_CERTIFICATE_KEY=your_cert_key</pre>
<p>Edite /opt/jumpserver/config/config.txt</p>
<pre class="remontti-code"># vim /opt/jumpserver/config/config.txt</pre>
<p>Exemplo de configuração:</p>
<pre class="remontti-code-plain">HTTPS_PORT=443
SERVER_NAME=jump.remontti.com.br
SSL_CERTIFICATE=server.crt
SSL_CERTIFICATE_KEY=server.key</pre>
<p>Agora vamos iniciar novamente os contêineres </p>
<pre class="remontti-code">
# cd /opt/jumpserver-installer-v4.5.0
# bash jmsctl.sh start
</pre>
<h4> Script para renovação do certificado</h4>
<pre class="remontti-code"># mkdir /opt/renew-cert
# vim /opt/renew-cert/renew-cert.sh</pre>
<p>Não esqueça de ajustar a versão e se domínio.</p>
<pre class="remontti-code-plain">
#!/bin/bash

VERSAO_JUMP=4.5.0
DOMINIO=jump.remontti.com.br

# Para Jumpserver
/opt/jumpserver-installer-v${VERSAO_JUMP}/jmsctl.sh stop

# Renova certificado
/usr/bin/certbot renew -q

# Remove certificados velhos
rm /opt/jumpserver/config/nginx/cert/server.crt
rm /opt/jumpserver/config/nginx/cert/server.key

# Copia certificados novos
cp /etc/letsencrypt/live/${DOMINIO}/fullchain.pem /opt/jumpserver/config/nginx/cert/server.crt
cp /etc/letsencrypt/live/${DOMINIO}/privkey.pem /opt/jumpserver/config/nginx/cert/server.key

# Altera permissão
chmod 600 /opt/jumpserver/config/nginx/cert/* 

# Inicia Jumpserver
/opt/jumpserver-installer-v${VERSAO_JUMP}/jmsctl.sh start
</pre>
<p>De permissão para ser executado.</p>
<pre class="remontti-code"># chmod +x /opt/renew-cert/renew-cert.sh</pre>
<p>Adicione ao cron, para que todo o Domingo ele tentar renovar às 3:30 da manhã.</p>
<pre class="remontti-code"># crontab -e</pre>
<pre class="remontti-code-plain"># m h  dom  mon dow   command 
#┌──────────────────── m (minute): Minuto do horário (0 a 59) 
#│  ┌───────────────── h (hour): Hora do dia (0 a 23)
#│  │  ┌────────────── dom (day of month): Dia do mês (1 a 31)
#│  │  │    ┌───────── mon (month): Mês do ano (1 a 12)
#│  │  │    │   ┌───── dow (day of week): Dia da semana (0 a 6, sendo 0 domingo)
#│  │  │    │   │   ┌─ command
30  3  *    *   0   /opt/renew-cert/renew-cert.sh

</pre>
<p>Reinicie o cron</p>
<pre class="remontti-code"># systemctl restart cron</pre>
<h2>Atualização futuras</h2>
<p>Acesse <a href="https://github.com/jumpserver/jumpserver/releases" rel="noopener" target="_blank">https://github.com/jumpserver/jumpserver/releases</a> para verificar se existe uma release mais recente. </p>
<p>Acesse o diretório da aplicação e baixe a versão mais nova, em seguida extraia o mesmo</p>
<pre class="remontti-code"># cd /opt 
wget https://github.com/jumpserver/installer/releases/download/v4.5.0/jumpserver-installer-v4.5.0.tar.gz
tar -xf jumpserver-installer-v4.5.0.tar.gz</pre>
<p>Entre no diretório da versão extraída, execute os comando upgrade, e em seguida inicie o serviço.</p>
<pre class="remontti-code"># cd /opt/jumpserver-installer-v4.5.0
# bash jmsctl.sh upgrade
# bash jmsctl.sh start</pre>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>FONTE:<br />
<a href="https://www.jumpserver.com/" rel="noopener" target="_blank">https://www.jumpserver.com/</a><br />
<a href="https://en-docs.jumpserver.org" rel="noopener" target="_blank">https://en-docs.jumpserver.org</a><br />
<a href="https://docs.jumpserver.org/" rel="noopener" target="_blank">https://docs.jumpserver.org/</a><br />
<a href="https://jump.speedrs.com.br/core/download/" rel="noopener" target="_blank">https://jump.speedrs.com.br/core/download/</a></p>
<p>O post <a href="https://blog.remontti.com.br/7987">Gerenciamento de Acesso Seguro com JumpServer</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7987/feed</wfw:commentRss>
			<slash:comments>11</slash:comments>
		
		
			</item>
		<item>
		<title>Configurando OpenVPN no RouterOS v7</title>
		<link>https://blog.remontti.com.br/7921</link>
					<comments>https://blog.remontti.com.br/7921#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Fri, 12 Apr 2024 20:58:46 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mikrotik]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[configuração de rede]]></category>
		<category><![CDATA[configuração de VPN]]></category>
		<category><![CDATA[criptografia]]></category>
		<category><![CDATA[IP público]]></category>
		<category><![CDATA[isp]]></category>
		<category><![CDATA[MikroTik Hex RB750Gr3]]></category>
		<category><![CDATA[OpenVPN]]></category>
		<category><![CDATA[routeros]]></category>
		<category><![CDATA[RouterOS 6]]></category>
		<category><![CDATA[RouterOS 7]]></category>
		<category><![CDATA[Segurança de Rede]]></category>
		<category><![CDATA[tutoriais MikroTik]]></category>
		<category><![CDATA[vpn]]></category>
		<category><![CDATA[VPN segura]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7921</guid>

					<description><![CDATA[<p>Hoje, vamos aprender a configurar o OpenVPN no RouterOS v7. Com vasta experiência junto a ISPs, percebo que muitos ainda utilizam protocolos como PPTP, SSTP e L2TP, que oferecem menor segurança. Optar pelo OpenVPN&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7921">Configurando OpenVPN no RouterOS v7</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/openvpn-remontti.com_.br_.png" alt="" width="1530" height="826" class="alignnone size-full wp-image-7933" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/openvpn-remontti.com_.br_.png 1530w, https://blog.remontti.com.br/wp-content/uploads/2024/04/openvpn-remontti.com_.br_-300x162.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/openvpn-remontti.com_.br_-1024x553.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/openvpn-remontti.com_.br_-768x415.png 768w" sizes="auto, (max-width: 1530px) 100vw, 1530px" /><br />
Hoje, vamos aprender a configurar o OpenVPN no RouterOS v7. Com vasta experiência junto a ISPs, percebo que muitos ainda utilizam protocolos como PPTP, SSTP e L2TP, que oferecem menor segurança. Optar pelo OpenVPN é uma escolha superior, pois ele não só fornece criptografia robusta e configurações altamente personalizáveis, mas também garante uma proteção mais eficaz contra as vulnerabilidades comuns nesses protocolos menos seguros.</p>
<p>Para configurar nosso servidor OpenVPN, precisaremos de um IP público para acessar o servidor. Uma vantagem interessante é que esse IP pode estar em &#8220;<strong>blackhole</strong>&#8220;, o que significa que ele não responderá a nenhuma porta indiscriminadamente, economizando recursos da CPU ao evitar a criação extensiva de regras de firewall. Vou ilustrar essa configuração com um exemplo prático:</p>
<p>Imagine que você adquiriu um MikroTik <em>Hex RB750Gr3</em> para gerenciar sua rede interna. Você conecta esse dispositivo ao seu roteador de borda. Para configurar a comunicação, você estabelece um segmento de rede /30, por exemplo, 10.7.7.0/30. No roteador de borda, você configura o IP 10.7.7.1/30, e no seu Hex RB750Gr3, você configura o IP 10.7.7.2/30. Em seguida, você adiciona um gateway padrão com o IP 10.7.7.1 e configura na tabela de rotas o IP 250.250.250.250 em balckhole.</p>
<p>No roteador de borda, você cria uma rota estática com destino a 250.250.250.250 com gateway 10.7.7.2. Com isso, você estabelece um caminho direto para o seu IP público, mas sem responder a nenhuma solicitação de conexão externa.</p>
<p>Se você precisar acessar o dispositivo via Winbox, basta criar uma regra de redirecionamento (redirect) para essa porta específica, permitindo o acesso externo somente por ela. Usar um IP em &#8220;blackhole&#8221; é como ter um firewall que automaticamente descarta qualquer pacote não solicitado, proporcionando uma camada extra de segurança e eficiência.</p>
<h3>Exemplo acima ficaria da seguinte forma:</h3>
<p><strong>Borda</strong></p>
<pre class="remontti-code">
# Adicione o IP à interface que comunica com sua HE
/ip address add address=10.7.7.1/30 comment=&quot;WAN&quot; interface=ether1

# Cria rota estática dizendo que seu IP público está atrás do endereço &quot;tal&quot;
/ip route add comment=&quot;Rota_HEX&quot; dst-address=250.250.250.250/32 gateway=10.7.7.2
</pre>
<p><strong>Hex RB750Gr3</strong></p>
<pre class="remontti-code">
# Adicione o IP à interface que comunica com sua Borda
/ip address add address=10.7.7.2/30 comment=&quot;WAN&quot; interface=ether1

# Adiciona um gateway
/ip route add comment=&quot;Gateway&quot; dst-address=0.0.0.0/0 gateway=10.7.7.1

# Adiciona seu IP público em blackhole
/ip route add blackhole comment=&quot;Blackhole&quot; dst-address=250.250.250.250/32

# Redirect para winbox (Não use porta padrão para segurança, ex: 61000)
/ip firewall nat add action=redirect chain=dstnat comment=&quot;Winbox&quot; \
    dst-address=250.250.250.250 dst-port=61000 protocol=tcp to-ports=8291
</pre>
</p>
<h3>Configurando o Servidor OpenVPN</h3>
<p>Para a criação do servidor OpenVPN, será necessário gerar três certificados distintos. Seguem os passos detalhados:</p>
<p><strong>Crie o certificado CA (Certificado de Autoridade)</strong></p>
<p>Para iniciar, crie o certificado da Autoridade Certificadora (CA), que será a base da confiança dos certificados subsequentes:</p>
<pre class="remontti-code">/certificate add name=CA common-name=CA key-usage=crl-sign,key-cert-sign days-valid=36500</pre>
<p>Após criar o certificado CA, você deve assiná-lo. Substitua <strong>250.250.250.250</strong> pelo seu IP público:</p>
<pre class="remontti-code">/certificate sign CA ca-crl-host=250.250.250.250</pre>
<p><strong>Crie e assine o certificado SERVIDOR</strong></p>
<p>Este certificado será usado para autenticar o servidor durante as conexões:</p>
<pre class="remontti-code">/certificate add name=SERVIDOR common-name=SERVIDOR key-usage=digital-signature,key-encipherment,tls-server days-valid=36500
/certificate sign SERVIDOR ca=CA
/certificate set SERVIDOR trusted=yes</pre>
<p><strong>Crie e assine o certificado CLIENTE</strong></p>
<p>Em seguida, crie o certificado do cliente, que será utilizado pelos clientes para estabelecer uma conexão segura com o servidor:</p>
<pre class="remontti-code">/certificate add name=CLIENTE common-name=CLIENTE key-usage=tls-client days-valid=36500
/certificate sign CLIENTE ca=CA</pre>
<p><strong>Exportação dos certificados</strong></p>
<p>Por fim, exporte os certificados para arquivos PEM, o que facilitará a importação em diferentes clientes. Não se esqueça de substituir <strong>sup3s3nha0p3nvpn</strong> pela senha que protegerá o certificado do cliente:</p>
<pre class="remontti-code">/certificate export-certificate CA type=pem file-name=CA
/certificate export-certificate CLIENTE type=pem file-name=CLIENTE export-passphrase=sup3s3nha0p3nvpn</pre>
<p>Este processo garante que tanto o servidor quanto os clientes possam estabelecer uma conexão VPN segura através do uso de certificados confiáveis.</p>
<p>Irá ser criado 3 arquivos CA.crt, CLIENTE.crt e CLIENTE.key</p>
<pre class="remontti-code">/file print </pre>
<pre class="remontti-code-plain"> # NAME                             TYPE                                   SIZE CREATION-TIME       
 0 CA.crt                           .crt file                              1180 apr/12/2024 14:33:11
 1 CLIENTE.crt                      .crt file                              1143 apr/12/2024 14:33:16
 2 CLIENTE.key                      .key file                              1858 apr/12/2024 14:33:16</pre>
<p>Pelo menu FILE do winbox faça download do mesmo se você estiver utilizando a versão 6 do RouterOS, para versão 7 não é necessário baixar, pois o mesmo tem um gerador que iremos ver mais a frente.</p>
<p>Agora vamos as configurações que serão entregues ao cliente. Crie uma pool qual será entregue.</p>
<pre class="remontti-code">/ip pool 
add name=POOL_OpenVPN ranges=192.168.250.128/25</pre>
<p>Crie um o profile especifico para OPEN_VPN, no exemplo estou definindo também uma velocidade de 50MB de upload e download.</p>
<pre class="remontti-code">/ppp profile
add change-tcp-mss=yes local-address=192.168.250.1 name=OPEN_VPN rate-limit=50m/50m remote-address=POOL_OpenVPN use-encryption=yes</pre>
<p>Se você deseja ser notificado via Telegram sempre que alguém se conectar ao seu servidor VPN (algo que eu recomendo e costumo fazer), você pode facilmente configurar essa integração editando o perfil no servidor e incluindo um script para enviar alertas. Para isso, siga os passos abaixo:</p>
<p>1. Acesse o perfil do servidor VPN (<strong>OPEN_VPN</strong>) e localize a aba &#8220;Scripts&#8221;.<br />
2. Insira o script fornecido, substituindo `XXXXXXXXXXXXXXXXXXXXXX` pelo token do seu bot no Telegram, e `-10000000000` pelo ID do seu grupo ou usuário do Telegram.<br />
<strong># On Up:</strong></p>
<pre class="remontti-code">:local callerId $&quot;caller-id&quot;
/tool fetch url=&quot;https://api.telegram.org/botXXXXXXXXXXXXXXXXXXXXXX/sendMessage\?parse_mode=HTML&amp;chat_id=-10000000000&amp;text=%E2%9D%8E%20OpenVPN%20ON%20USUARIO:%20&lt;code&gt;$user&lt;/code&gt;%20ORIGEM:%20&lt;code&gt;$callerId&lt;/code&gt;&amp;disable_web_page_preview=true&quot; keep-result=no</pre>
<p><strong># On Down:</strong></p>
<pre class="remontti-code">
:local callerId $&quot;caller-id&quot;
/tool fetch url=&quot;https://api.telegram.org/botXXXXXXXXXXXXXXXXXXXXXX/sendMessage\?parse_mode=HTML&amp;chat_id=-10000000000&amp;text=%E2%9D%8C%20OpenVPN%20OFF%20USUARIO:%20&lt;code&gt;$user&lt;/code&gt;%20ORIGEM:%20&lt;code&gt;$callerId&lt;/code&gt;&amp;disable_web_page_preview=true&quot; keep-result=no</pre>
<p>Esse ajuste permitirá que você receba uma notificação imediata sempre que ocorrer uma conexão, aumentando o controle e a segurança da sua rede.</p>
<p>Faça uma <strong>regra de NAT </strong>(src-nat) para fornecer internet ao cliente, onde 250.250.250.250 é nosso querido IP que está em blackhole, e ether1 seria minha interface WAN (Upstream)</p>
<pre class="remontti-code">
/ip firewall nat
add action=src-nat chain=srcnat comment=&quot;NAT_OpenVPN&quot; out-interface=ether1 \
    src-address=192.168.250.128/25 to-addresses=250.250.250.250</pre>
<p>Iremos ativar o servidor OpenVPN agora, a porta padrão é a 1194, porem estarei adotando a boa pratica de utilizar outra como a 61194</p>
<pre class="remontti-code">/interface ovpn-server server
add name=open-vpn-server \
 auth=sha1 \
 certificate=SERVIDOR \
 cipher=aes256-cbc \
 default-profile=OPEN_VPN \
 require-client-certificate=yes \
 port=61194 \
 redirect-gateway=def1

/interface ovpn-server server print
/interface ovpn-server server enable 0
</pre>
<p><strong>Crie seus usuários</strong>, vou criar um de exemplo:</p>
<pre class="remontti-code">/ppp secret add comment=&quot;Key: sup3s3nha0p3nvpn&quot; name=remontti@remontti.vpn profile=OPEN_VPN service=ovpn password=su4senhAparaL0gar </pre>
<p>Você pode também utilizar os usuários via Radius, basta fazer a integração. Exemplo:</p>
<pre class="remontti-code">/ppp aaa set interim-update=5m use-radius=yes
/radius add address=10.10.10.10 secret=senha service=ppp</pre>
<p><strong>Na versão 7 </strong>do routerOS podemos criar nosso <em>arquivo.ovpn</em> direto pelo botão <strong>Export .ovpn </strong></p>
<p>Altere <strong>server-address</strong> para seu endereço de ip público.</p>
<pre class="remontti-code">/interface ovpn-server server export-client-configuration \
  server-address=250.250.250.250 \
  ca-certificate=CA.crt \
  client-certificate=CLIENTE.crt \
  client-cert-key=CLIENTE.key \
  server=open-vpn-server 
</pre>
<p>Se estiver utilizando o ip em blackhole vc precisa fazer o redirect para porta que irá utilizar ex.: &#8220;61194&#8221;</p>
<pre class="remontti-code">
/ip firewall nat add action=redirect chain=dstnat comment=&quot;OpenVPN&quot; \
    dst-address=250.250.250.250 dst-port=61194 protocol=tcp to-ports=61194
</pre>
<p>Veja os arquivos novamente.</p>
<pre class="remontti-code">/file print </pre>
<p>Perceba que temos agora um novo arquivo <strong>client1712413538.ovpn</strong>, faça donwload do mesmo e pule a próxima etapa da versão 6 direto para configuração do cliente OpenVPN.</p>
<pre class="remontti-code-plain">#  NAME                   TYPE        SIZE  CREATION-TIME      
0  CLIENTE.key            .key file   1858  2024-04-06 10:53:13
1  client1712413538.ovpn  .ovpn file  4393  2024-04-06 11:25:38
2  CLIENTE.crt            .crt file   1090  2024-04-06 10:53:13
3  CA.crt                 .crt file   1123  2024-04-06 10:53:07
</pre>
<h3>Cliente OpenVPN</h3>
<p>Acessando https://openvpn.net/client/ voce encontra cliente para <a href="https://openvpn.net/client/client-connect-vpn-for-windows/" rel="noopener" target="_blank">Windows</a>, <a href="https://openvpn.net/downloads/openvpn-connect-v3-macos.dmg" rel="noopener" target="_blank">MacOS</a>, <a href="https://openvpn.net/openvpn-client-for-linux/" rel="noopener" target="_blank">Linux</a>, <a href="https://play.google.com/store/apps/details?id=net.openvpn.openvpn" rel="noopener" target="_blank">Android</a>,  <a href="https://apps.apple.com/us/app/openvpn-connect-openvpn-app/id590379981" rel="noopener" target="_blank">iOS</a> e <a href="https://play.google.com/store/apps/details?id=net.openvpn.openvpn" rel="noopener" target="_blank">ChromeOS</a>.</p>
<p>Com o cliente instalado basta você importar o arquivo .ovpn e infomar seu usuário e senha, ao conectar pela primeira vez irá solicitar a chave do certificado. </p>
<p>No linux você pode configurar também automaticamente nas configurações de rede sem a necessidade de instalar nenhum programa.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/debian-12-gnome-openvpn.png" alt="" width="1173" height="806" class="alignnone size-full wp-image-7929" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/debian-12-gnome-openvpn.png 1173w, https://blog.remontti.com.br/wp-content/uploads/2024/04/debian-12-gnome-openvpn-300x206.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/debian-12-gnome-openvpn-1024x704.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/debian-12-gnome-openvpn-768x528.png 768w" sizes="auto, (max-width: 1173px) 100vw, 1173px" /></p>
<p>Gostou? Quer ajudar manter o blog? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>O post <a href="https://blog.remontti.com.br/7921">Configurando OpenVPN no RouterOS v7</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7921/feed</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title>Guia Completo de Instalação e Configuração do GenieACS em Debian 12 Bookworm</title>
		<link>https://blog.remontti.com.br/7904</link>
					<comments>https://blog.remontti.com.br/7904#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Wed, 10 Apr 2024 15:18:40 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[ACS (Sistema de Configuração Automática)]]></category>
		<category><![CDATA[Automação de Serviços]]></category>
		<category><![CDATA[configuração de rede]]></category>
		<category><![CDATA[Configuração do Node.js]]></category>
		<category><![CDATA[CWMP]]></category>
		<category><![CDATA[Debian 12]]></category>
		<category><![CDATA[GenieACS]]></category>
		<category><![CDATA[Gerenciamento de Dispositivos]]></category>
		<category><![CDATA[Gerenciamento de Firmware]]></category>
		<category><![CDATA[Instalação do MongoDB]]></category>
		<category><![CDATA[Monitoramento de CPE]]></category>
		<category><![CDATA[Protocolo de Gerenciamento WAN]]></category>
		<category><![CDATA[Segurança de Rede]]></category>
		<category><![CDATA[tr-069]]></category>
		<category><![CDATA[Tutorial Linux]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7904</guid>

					<description><![CDATA[<p>Cliente TR-069 (Relatório Técnico 069) é uma implementação do CWMP (CPE WAN Management Protocol) para gerenciar dispositivos de usuários finais de forma centralizada. Este CWMP é executado em uma rede IP usando HTTP ou&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7904">Guia Completo de Instalação e Configuração do GenieACS em Debian 12 Bookworm</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/genieacs-debian12.png" alt="" width="1792" height="838" class="alignnone size-full wp-image-7908" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/genieacs-debian12.png 1792w, https://blog.remontti.com.br/wp-content/uploads/2024/04/genieacs-debian12-300x140.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/genieacs-debian12-1024x479.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/genieacs-debian12-768x359.png 768w, https://blog.remontti.com.br/wp-content/uploads/2024/04/genieacs-debian12-1536x718.png 1536w" sizes="auto, (max-width: 1792px) 100vw, 1792px" /><br />
Cliente TR-069 (Relatório Técnico 069) é uma implementação do CWMP (CPE WAN Management Protocol) para gerenciar dispositivos de usuários finais de forma centralizada. Este CWMP é executado em uma rede IP usando HTTP ou HTTPS para se comunicar com dispositivos ACS (Sistema de configuração automática), onde ACS é um sistema usado para monitorar, configurar e atualizar o firmware de dispositivos remotos.</p>
<p>Em geral, a função do TR-069 é mais amplamente usada em ISPs para gerenciamento de dispositivos do usuário final. Alguns dispositivos que estão atualmente começando a implementar as funções do TR-069, como FTTH CPE/ONT, WIMAX CPE, também podem ser usados ​​para monitoramento de VoIP ou CFTV. E no próprio MikroTik, a função Cliente TR-069 também foi adicionada a partir do RouterOS versão 6.38.</p>
<p><strong>Leitura recomendada:</strong><br />
<a href="https://blog.remontti.com.br/5848" rel="noopener" target="_blank"><strong>Configurando interface de rede no Debian</strong></a></p>
<h3>Requisitos Debian 12 Bookworm</h3>
<p><a href="https://blog.remontti.com.br/7236" rel="noopener" target="_blank">Instalação do Debian 12 Bookworm limpa passo-a-passo</a></p>
<h3>Melhorando o seu BASH</h3>
<p>Para melhorar seu bash e entender o comando a seguir, visite: Como melhorar a produtividade no seu Debian após a instalação</p>
<pre class="remontti-code"># apt -y install wget; wget remontti.com.br/debian; bash debian; su -</pre>
<h3>Repositório</h3>
<p>Adicione <strong>contrib non-free </strong>aos repositórios</p>
<pre class="remontti-code"># vim /etc/apt/sources.list</pre>
<p>Ajuste:</p>
<pre class="remontti-code-plain">
deb http://deb.debian.org/debian/ bookworm main non-free-firmware contrib non-free
deb-src http://deb.debian.org/debian/ bookworm main non-free-firmware contrib non-free

deb http://security.debian.org/debian-security bookworm-security main non-free-firmware contrib non-free
deb-src http://security.debian.org/debian-security bookworm-security main non-free-firmware contrib non-free

deb http://deb.debian.org/debian/ bookworm-updates main non-free-firmware contrib non-free
deb-src http://deb.debian.org/debian/ bookworm-updates main non-free-firmware contrib non-free
</pre>
<p>Atualize o repositório:</p>
<pre class="remontti-code"># apt update</pre>
<p>Se tiver algum pacote para atualização também faça:</p>
<pre class="remontti-code"># apt upgrade -y</pre>
<p>Instale os firmware-linux*</p>
<pre class="remontti-code"># apt install firmware-linux firmware-linux-free firmware-linux-nonfree -y</pre>
<p>Reinicie seu servidor para carregar os novos módulos do kernel</p>
<pre class="remontti-code"># reboot</pre>
<p>Pacotes requisitos</p>
<pre class="remontti-code"># apt -y install gnupg gnupg2 curl wget rsyslog</pre>
<h4>Repositório MongoDB</h3>
<pre class="remontti-code"># curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
 gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor

# echo &quot;deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] \
 http://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main&quot; \
 &gt; /etc/apt/sources.list.d/mongodb-org-7.0.list</pre>
<p>Recarregue o repositório, e instale o MongoDB vamos</p>
<pre class="remontti-code"># apt update
# apt -y install mongodb-org </pre>
<p>Ative o serviço para iniciar com o boot, inicie o serviço e verifique se o mesmo iniciou com êxito. </p>
<pre class="remontti-code"># systemctl enable mongod
# systemctl start mongod
# systemctl status mongod</pre>
<h4>Node.js</h4>
<pre class="remontti-code"># apt -y install nodejs npm --no-install-recommends
# apt -y install node-mongodb</pre>
<h3>Instalação do GenieACS</h3>
<p>Procure se o pacote existe:</p>
<pre class="remontti-code"># npm search -g genieacs</pre>
<pre class="remontti-code-plain">
NAME                   | DESCRIPTION    | AUTHOR    | DATE       | VERSION | KEYWORDS       
genieacs               | A TR-069 Auto… | =zaidka   | 2024-03-28 | 1.2.12  | TR-069 CWMP ACS
@anlix-io/genieacs-sim | TR-069 client… | =anlix-io | 2024-01-15 | 1.14.0  | TR-069 CWMP ACS Simulator
genieacs-sim           | TR-069 client… | =zaidka   | 2017-02-05 | 0.9.0   | TR-069 CWMP ACS

</pre>
<p>Instale o genieacs</p>
<pre class="remontti-code"># npm install -g genieacs</pre>
<pre class="remontti-code-plain">
added 220 packages in 5s

18 packages are looking for funding
  run `npm fund` for details

</pre>
<p>Crie um usuário do sistema para executar daemons GenieACS</p>
<pre class="remontti-code"># useradd --system --no-create-home --user-group genieacs</pre>
<p>Crie um diretório para salvar extensões e arquivo de ambiente<br />
Usaremos o diretório /opt/genieacs/ext/ para armazenar scripts de extensão (se houver).</p>
<pre class="remontti-code"># mkdir /opt/genieacs
# mkdir /opt/genieacs/ext</pre>
<p>Crie o arquivo /opt/genieacs/genieacs.envpara que irá conter as opções de configuração, que passamos ao GenieACS como variáveis de ambiente. </p>
<pre class="remontti-code"># vim /opt/genieacs/genieacs.env</pre>
<p>Adicione:</p>
<pre class="remontti-code-plain">GENIEACS_CWMP_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-cwmp-access.log
GENIEACS_NBI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-nbi-access.log
GENIEACS_FS_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-fs-access.log
GENIEACS_UI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-ui-access.log
GENIEACS_DEBUG_FILE=/var/log/genieacs/genieacs-debug.yaml
NODE_OPTIONS=--enable-source-maps
GENIEACS_EXT_DIR=/opt/genieacs/ext</pre>
<p>Gere um segredo JWT seguro e anexe a /opt/genieacs/genieacs.env:</p>
<pre class="remontti-code"># node -e &quot;console.log(\&quot;GENIEACS_UI_JWT_SECRET=\&quot; + require(&#039;crypto&#039;).\
 randomBytes(128).toString(&#039;hex&#039;))&quot; \
 &gt;&gt; /opt/genieacs/genieacs.env</pre>
<p>Defina a propriedade e as permissões do arquivo:</p>
<pre class="remontti-code"># chown genieacs: /opt/genieacs -R
# chmod 600 /opt/genieacs/genieacs.env</pre>
<p>Criar diretório de logs</p>
<pre class="remontti-code"># mkdir /var/log/genieacs
# chown genieacs: /var/log/genieacs</pre>
<p>Configure os serviços no systemd</p>
<pre class="remontti-code"># systemctl edit --force --full genieacs-cwmp</pre>
<p>Adicione:</p>
<pre class="remontti-code-plain">
[Unit]
Description=GenieACS CWMP
After=network.target

[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/local/bin/genieacs-cwmp

[Install]
WantedBy=default.target
</pre>
<pre class="remontti-code"># systemctl edit --force --full genieacs-nbi</pre>
<p>Adicione:</p>
<pre class="remontti-code-plain">
[Unit]
Description=GenieACS NBI
After=network.target

[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/local/bin/genieacs-nbi

[Install]
WantedBy=default.target
</pre>
<pre class="remontti-code"># systemctl edit --force --full genieacs-fs</pre>
<p>Adicione:</p>
<pre class="remontti-code-plain">
[Unit]
Description=GenieACS FS
After=network.target

[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/local/bin/genieacs-fs

[Install]
WantedBy=default.target
</pre>
<pre class="remontti-code"># systemctl edit --force --full genieacs-ui</pre>
<p>Adicione:</p>
<pre class="remontti-code-plain">
[Unit]
Description=GenieACS UI
After=network.target

[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/local/bin/genieacs-ui

[Install]
WantedBy=default.target
</pre>
<p>Configure o logrotate para rotação dos log gerados</p>
<pre class="remontti-code"># vim /etc/logrotate.d/genieacs</pre>
<p>Adicione:</p>
<pre class="remontti-code-plain">
/var/log/genieacs/*.log /var/log/genieacs/*.yaml {
    daily
    rotate 30
    compress
    delaycompress
    dateext
}
</pre>
<p>Ative e inicie serviços, e revise a mensagem de status de cada um para verificar se os serviços estão sendo executados com êxito.</p>
<pre class="remontti-code"># systemctl daemon-reload
# systemctl enable genieacs-cwmp genieacs-nbi genieacs-fs genieacs-ui
# systemctl start genieacs-cwmp genieacs-nbi genieacs-fs genieacs-ui
# systemctl status genieacs-cwmp genieacs-nbi genieacs-fs genieacs-ui --no-pager</pre>
<pre class="remontti-code-plain">
● genieacs-cwmp.service - GenieACS CWMP
     Loaded: loaded (/etc/systemd/system/genieacs-cwmp.service; enabled; preset: enabled)
     Active: active (running) since Wed 2024-04-10 12:09:13 -03; 44s ago
   Main PID: 9695 (node)
      Tasks: 25 (limit: 4645)
     Memory: 101.1M
        CPU: 1.541s
     CGroup: /system.slice/genieacs-cwmp.service
             ├─9695 node /usr/local/bin/genieacs-cwmp
             ├─9725 /usr/bin/node /usr/local/bin/genieacs-cwmp
             └─9730 /usr/bin/node /usr/local/bin/genieacs-cwmp

abr 10 12:09:13 deb12-rr-flow systemd[1]: Started genieacs-cwmp.service - GenieACS CWMP.
abr 10 12:09:14 deb12-rr-flow genieacs-cwmp[9695]: 2024-04-10T15:09:14.701Z [INFO] genieacs-cwmp starting; …80f66&quot;
abr 10 12:09:16 deb12-rr-flow genieacs-cwmp[9695]: 2024-04-10T15:09:16.465Z [INFO] Worker listening; pid=97…t=7547
abr 10 12:09:16 deb12-rr-flow genieacs-cwmp[9695]: 2024-04-10T15:09:16.475Z [INFO] Worker listening; pid=97…t=7547

● genieacs-nbi.service - GenieACS NBI
     Loaded: loaded (/etc/systemd/system/genieacs-nbi.service; enabled; preset: enabled)
     Active: active (running) since Wed 2024-04-10 12:09:13 -03; 44s ago
   Main PID: 9696 (node)
      Tasks: 25 (limit: 4645)
     Memory: 98.5M
        CPU: 1.639s
     CGroup: /system.slice/genieacs-nbi.service
             ├─9696 node /usr/local/bin/genieacs-nbi
             ├─9731 /usr/bin/node /usr/local/bin/genieacs-nbi
             └─9737 /usr/bin/node /usr/local/bin/genieacs-nbi

abr 10 12:09:13 deb12-rr-flow systemd[1]: Started genieacs-nbi.service - GenieACS NBI.
abr 10 12:09:14 deb12-rr-flow genieacs-nbi[9696]: 2024-04-10T15:09:14.710Z [INFO] genieacs-nbi starting; pi…80f66&quot;
abr 10 12:09:16 deb12-rr-flow genieacs-nbi[9696]: 2024-04-10T15:09:16.497Z [INFO] Worker listening; pid=973…t=7557
abr 10 12:09:16 deb12-rr-flow genieacs-nbi[9696]: 2024-04-10T15:09:16.523Z [INFO] Worker listening; pid=973…t=7557

● genieacs-fs.service - GenieACS FS
     Loaded: loaded (/etc/systemd/system/genieacs-fs.service; enabled; preset: enabled)
     Active: active (running) since Wed 2024-04-10 12:09:13 -03; 44s ago
   Main PID: 9697 (node)
      Tasks: 25 (limit: 4645)
     Memory: 88.0M
        CPU: 1.561s
     CGroup: /system.slice/genieacs-fs.service
             ├─9697 node /usr/local/bin/genieacs-fs
             ├─9723 /usr/bin/node /usr/local/bin/genieacs-fs
             └─9724 /usr/bin/node /usr/local/bin/genieacs-fs

abr 10 12:09:13 deb12-rr-flow systemd[1]: Started genieacs-fs.service - GenieACS FS.
abr 10 12:09:14 deb12-rr-flow genieacs-fs[9697]: 2024-04-10T15:09:14.676Z [INFO] genieacs-fs starting; pid=…80f66&quot;
abr 10 12:09:16 deb12-rr-flow genieacs-fs[9697]: 2024-04-10T15:09:16.386Z [INFO] Worker listening; pid=9723…t=7567
abr 10 12:09:16 deb12-rr-flow genieacs-fs[9697]: 2024-04-10T15:09:16.497Z [INFO] Worker listening; pid=9724…t=7567

● genieacs-ui.service - GenieACS UI
     Loaded: loaded (/etc/systemd/system/genieacs-ui.service; enabled; preset: enabled)
     Active: active (running) since Wed 2024-04-10 12:09:13 -03; 44s ago
   Main PID: 9698 (node)
      Tasks: 25 (limit: 4645)
     Memory: 114.1M
        CPU: 2.003s
     CGroup: /system.slice/genieacs-ui.service
             ├─9698 node /usr/local/bin/genieacs-ui
             ├─9777 /usr/bin/node /usr/local/bin/genieacs-ui
             └─9778 /usr/bin/node /usr/local/bin/genieacs-ui

abr 10 12:09:13 deb12-rr-flow systemd[1]: Started genieacs-ui.service - GenieACS UI.
abr 10 12:09:15 deb12-rr-flow genieacs-ui[9698]: 2024-04-10T15:09:15.244Z [INFO] genieacs-ui starting; pid=…80f66&quot;
abr 10 12:09:16 deb12-rr-flow genieacs-ui[9698]: 2024-04-10T15:09:16.757Z [INFO] Worker listening; pid=9777…t=3000
abr 10 12:09:16 deb12-rr-flow genieacs-ui[9698]: 2024-04-10T15:09:16.763Z [INFO] Worker listening; pid=9778…t=3000
Hint: Some lines were ellipsized, use -l to show in full.

</pre>
<p>Acesse em seu navegador: <strong>http://IP:3000 </strong></p>
<p>Clique em: <strong>ABRACADABRA! </strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_1.png" alt="" width="1194" height="446" class="alignnone size-full wp-image-6003" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_1.png 1194w, https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_1-300x112.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_1-1024x382.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_1-768x287.png 768w" sizes="auto, (max-width: 1194px) 100vw, 1194px" /></p>
<p>Clique em: <strong>Open Sesame!</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_2.png" alt="" width="1194" height="446" class="alignnone size-full wp-image-6004" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_2.png 1194w, https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_2-300x112.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_2-1024x382.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_2-768x287.png 768w" sizes="auto, (max-width: 1194px) 100vw, 1194px" /></p>
<p>Entre com: <strong>admin/admin</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_3.png" alt="" width="1194" height="386" class="alignnone size-full wp-image-6005" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_3.png 1194w, https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_3-300x97.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_3-1024x331.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_3-768x248.png 768w" sizes="auto, (max-width: 1194px) 100vw, 1194px" /></p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_4.png" alt="" width="1194" height="483" class="alignnone size-full wp-image-6006" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_4.png 1194w, https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_4-300x121.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_4-1024x414.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/10/genieacs_debian_11_4-768x311.png 768w" sizes="auto, (max-width: 1194px) 100vw, 1194px" /></p>
<p>Grupo do telegram: <strong><a href="https://t.me/acsbrasil" rel="noopener" target="_blank">ACS/CWMP &#8211; TR069 &#8211; Brasil (PT-Br)</a></strong></p>
<p>Gostou? Quer ajudar manter o blog? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Fonte: <a href="https://genieacs.com/" rel="noopener" target="_blank">https://genieacs.com/</a></p>
<p>O post <a href="https://blog.remontti.com.br/7904">Guia Completo de Instalação e Configuração do GenieACS em Debian 12 Bookworm</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7904/feed</wfw:commentRss>
			<slash:comments>18</slash:comments>
		
		
			</item>
		<item>
		<title>Guia completo para instalar e configurar Zabbix 7 LTS no Debian 12 Bookworm com NGINX e PostgreSQL</title>
		<link>https://blog.remontti.com.br/7870</link>
					<comments>https://blog.remontti.com.br/7870#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Tue, 09 Apr 2024 18:05:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Administração de Sistemas]]></category>
		<category><![CDATA[configuração do NGINX]]></category>
		<category><![CDATA[configuração do Zabbix]]></category>
		<category><![CDATA[Debian 12 Bookworm]]></category>
		<category><![CDATA[gerenciamento de serviços de TI]]></category>
		<category><![CDATA[instalação do Zabbix]]></category>
		<category><![CDATA[monitoramento de rede]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[otimização do BASH]]></category>
		<category><![CDATA[performance do PostgreSQL]]></category>
		<category><![CDATA[PHP 8]]></category>
		<category><![CDATA[PHP para Zabbix]]></category>
		<category><![CDATA[planejamento de capacidade]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[relatórios de monitoramento]]></category>
		<category><![CDATA[segurança em servidores]]></category>
		<category><![CDATA[visualização de dados]]></category>
		<category><![CDATA[zabbix]]></category>
		<category><![CDATA[Zabbix 7 LTS]]></category>
		<category><![CDATA[Zabbix no Debian]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7870</guid>

					<description><![CDATA[<p>O Zabbix é uma solução de nível empresarial e de código aberto. Ele monitora diversos parâmetros de rede, servidores e a saúde dos serviços, utilizando um mecanismo flexível de notificação. Este mecanismo permite configurar&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7870">Guia completo para instalar e configurar Zabbix 7 LTS no Debian 12 Bookworm com NGINX e PostgreSQL</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-capa.png" alt="" width="1792" height="1024" class="alignnone size-full wp-image-7890" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-capa.png 1792w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-capa-300x171.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-capa-1024x585.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-capa-768x439.png 768w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-capa-1536x878.png 1536w" sizes="auto, (max-width: 1792px) 100vw, 1792px" /></p>
<p>O <strong>Zabbix</strong> é uma solução de nível empresarial e de código aberto. Ele monitora diversos parâmetros de rede, servidores e a saúde dos serviços, utilizando um mecanismo flexível de notificação. Este mecanismo permite configurar alertas, por e-mail e outros meios como Telegram, para quase qualquer evento, facilitando uma rápida resposta a problemas. Além disso, o Zabbix oferece recursos avançados para relatórios e visualização de dados armazenados, sendo ideal para o planejamento de capacidade.</p>
<h3>Requisitos Debian 12 Bookworm </h3>
<p>&#8211; <a href="https://blog.remontti.com.br/7236" rel="noopener" target="_blank">Instalação do Debian 12 Bookworm limpa passo-a-passo</a></p>
<h3>Melhorando o seu BASH</h3>
<p>Para melhorar seu bash e entender o comando a seguir, visite: <a href="https://blog.remontti.com.br/5867" rel="noopener" target="_blank">Como melhorar a produtividade no seu Debian após a instalação</a></p>
<pre class="remontti-code"># apt -y install wget; wget remontti.com.br/debian; bash debian; su -</pre>
<h3>Instalação do NGINX</h3>
<p>Procederemos com a instalação do <a href="https://www.nginx.com" rel="noopener" target="_blank">nginx</a>, ocultando a sua versão como uma boa prática.</p>
<pre class="remontti-code"># apt -y install nginx
# sed -i &#039;s/# server_tokens/server_tokens/&#039; /etc/nginx/nginx.conf
# systemctl restart nginx</pre>
<h3>Instalação PHP 8</h3>
<p>Vamos instalar extensões do PHP usadas pelo Zabbix e evitar a instalação de pacotes recomendados <em>(&#8211;no-install-recommends)</em> para que o Apache não seja instalado.</p>
<pre class="remontti-code">#  apt -y install --no-install-recommends \
 php php-{fpm,cli,mysql,pear,gd,gmp,bcmath,mbstring,curl,xml,zip,json,pgsql}</pre>
<p>Aumentar o limite de tempo de execução e o tamanho máximo de upload no PHP.</p>
<pre class="remontti-code"># vim /etc/php/8.2/fpm/php.ini</pre>
<p>Localize <strong>max_execution_time</strong> e altere para 600 e upload_max_filesize para 100MB</p>
<pre class="remontti-code">max_execution_time = 600
upload_max_filesize = 100M</pre>
<p>Reinicie o serviço do PHP.</p>
<pre class="remontti-code"># systemctl restart php8.2-fpm</pre>
<h3>Instalação do PostgreSQL</h3>
<p>Instalação dos pacotes necessários do PostgreSQL.</p>
<pre class="remontti-code"># apt -y install postgresql postgresql-contrib</pre>
<p>Altere para o usuário postgres.</p>
<pre class="remontti-code"># su - postgres</pre>
<p>Acesse o terminal de comandos do banco de dados.</p>
<pre class="remontti-code">$ psql</pre>
<p>Para definir a senha do usuário postgres e instalar o adminpack.</p>
<pre class="remontti-code">postgres=# \password postgres
Digite nova senha para postgres: 
Digite-a novamente:
postgres=# CREATE EXTENSION adminpack;
CREATE EXTENSION
postgres=# \q 
$ exit</pre>
<p>Realize ajustes no arquivo pg_hba.conf para autenticação com senha.</p>
<pre class="remontti-code"># sed -i &#039;/postgres.*peer/s/peer/md5/&#039; /etc/postgresql/15/main/pg_hba.conf
# sed -i &#039;0,/local\s*all\s*all\s*peer/s/peer/md5/&#039; /etc/postgresql/15/main/pg_hba.conf</pre>
<p>É recomendado ajustar as configurações padrões do PostgreSQL conforme a memória disponível.</p>
<pre class="remontti-code">vim /etc/postgresql/15/main/postgresql.conf</pre>
<pre class="remontti-code">#-----------------------------------------
# 4GB de Memoria RAM
#-----------------------------------------
max_connections = 500
shared_buffers = 1GB
work_mem = 16MB
maintenance_work_mem = 128MB
max_wal_size = 1GB
min_wal_size = 256MB
effective_cache_size = 2GB

#-----------------------------------------
# 8GB de Memoria RAM
#-----------------------------------------
max_connections = 1000
shared_buffers = 2GB
work_mem = 32MB
maintenance_work_mem = 512MB
max_wal_size = 2GB
min_wal_size = 512MB
effective_cache_size = 4GB

#-----------------------------------------
# 16GB de Memoria RAM
#-----------------------------------------
max_connections = 2000
shared_buffers = 4GB
work_mem = 64MB
maintenance_work_mem = 1GB
max_wal_size = 4GB
min_wal_size = 1GB
effective_cache_size = 8GB</pre>
<p>Reinicie o serviço do PostgreSQL.</p>
<pre class="remontti-code"># systemctl  restart postgresql</pre>
<h1>Instalação do Zabbix 7 LTS</h1>
<p>Inclua o repositório oficial do Zabbix versão 7 LTS.</p>
<pre class="remontti-code"># cd /tmp/
# wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_7.0-1+debian12_all.deb
# dpkg -i zabbix-release_7.0-1+debian12_all.deb
# apt update</pre>
<pre class="remontti-code"># apt -y install zabbix-server-pgsql zabbix-frontend-php \
  zabbix-nginx-conf zabbix-sql-scripts zabbix-agent traceroute</pre>
<p>Crie uma base de dados chamada <strong>zabbix</strong> e um usuário também chamado <strong>zabbix</strong> no PostgreSQL. Lembre-se de alterar a senha. Use o gerador de senha: <a href="https://senhasegura.remontti.com.br/" rel="noopener noreferrer" target="_blank">https://senhasegura.remontti.com.br/</a></p>
<pre class="remontti-code"># su - postgres
$ createuser --pwprompt zabbix
Digite a senha para a nova role:  &lt;SENHA ZABBIX&gt;
Digite-a novamente: &lt;SENHA ZABBIX&gt;
Senha: &lt;SENHA POSTGRES CASO TENHA DEFINIDO NA INSTALAÇÃO DO MESMO&gt;

$ createdb -O zabbix zabbix
Senha: &lt;SENHA POSTGRES&gt;</pre>
<p>Importe o esquema inicial e os dados. Você será solicitado a inserir a senha que foi criada anteriormente.</p>
<pre class="remontti-code">$ zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | psql -U zabbix -d zabbix &amp;&gt;/dev/null
Senha para usuário zabbix: : &lt;SENHA ZABBIX&gt;
$ exit</pre>
<p>Configure o arquivo zabbix_server.conf para conectar ao banco de dados PostgreSQL.</p>
<pre class="remontti-code"># vim /etc/zabbix/zabbix_server.conf</pre>
<p>Descomente e defina a senha na linha <strong># DBPassword=</strong>.</p>
<pre class="remontti-code">#...
DBPassword=&lt;SENHA ZABBIX&gt;
#...</pre>
<p>Ajuste o arquivo /etc/zabbix/php-fpm.conf, descomente e defina o fuso horário correto. <a href="https://secure.php.net/manual/pt_BR/timezones.america.php" rel="noopener noreferrer" target="_blank">timezone</a> Sua região</a>.</p>
<pre class="remontti-code"># vim /etc/zabbix/php-fpm.conf</pre>
<p>Adicione timezone, e ajuste upload_max_filesize:</p>
<pre class="remontti-code-plain">php_value[date.timezone] = America/Sao_Paulo
php_value[upload_max_filesize] = 100M</pre>
<p>Configure as definições do nginx.</p>
<pre class="remontti-code"># vim /etc/nginx/conf.d/zabbix.conf </pre>
<p>Deixei algumas linhas comentadas como exemplo, faça de acordo com sua necessidade.</p>
<pre class="remontti-code">server {
        listen 80;
        listen [::]:80;
        server_name    zabbix.remontti.com.br localhost;
        #server_name   OU_SEU_IP;

        # Metodo simples para quem quer rodar em uma determinada porta
        #listen 8181;
        #listen [::]:8181;
        #server_name     _;

        root    /usr/share/zabbix;
        index   index.php;

        # Desmomente para deixar restringido apenas para determinados prefixos
        #allow  192.168.87.0/24;
        #allow  127.0.0.1;
        #allow  2001:0db8::/32;
        #allow  ::1;
        #deny   all;
        #error_page  403   http://www.remontti.com.br;

        client_max_body_size 100M;
 
        location = /favicon.ico {
                log_not_found   off;
        }

        location / {
                try_files       $uri $uri/ =404;
        }

        location /assets {
                access_log      off;
                expires         10d;
        }

        location ~ /\.ht {
                deny            all;
        }

        location ~ /(api\/|conf[^\.]|include|locale) {
                deny            all;
                return          404;
        }

        location ~ [^/]\.php(/|$) {
                fastcgi_pass    unix:/var/run/php/zabbix.sock;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_index   index.php;

                fastcgi_param   DOCUMENT_ROOT   /usr/share/zabbix;
                fastcgi_param   SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name;
                fastcgi_param   PATH_TRANSLATED /usr/share/zabbix$fastcgi_script_name;

                include fastcgi_params;
                fastcgi_param   QUERY_STRING    $query_string;
                fastcgi_param   REQUEST_METHOD  $request_method;
                fastcgi_param   CONTENT_TYPE    $content_type;
                fastcgi_param   CONTENT_LENGTH  $content_length;

                fastcgi_intercept_errors        on;
                fastcgi_ignore_client_abort     off;
                fastcgi_connect_timeout         60;
                fastcgi_send_timeout            180;
                fastcgi_read_timeout            180;
                fastcgi_buffer_size             128k;
                fastcgi_buffers                 4 256k;
                fastcgi_busy_buffers_size       256k;
                fastcgi_temp_file_write_size    256k;
        }
}
</pre>
<p>Habilite o Zabbix para iniciar com o sistema.</p>
<pre class="remontti-code"># systemctl enable zabbix-server</pre>
<p>Vamos reiniciar os serviços</p>
<pre class="remontti-code"># systemctl restart zabbix-server zabbix-agent nginx</pre>
<p>Acesse <strong>http://seu_ip:porta</strong> ou <strong>http://zabbix.seudominio.com.br</strong> no navegador.</p>
<p>Siga as instruções de configuração na interface web do Zabbix.</p>
<p><strong>Selecione o idioma, e Próximo passo</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-1.png" alt="" width="1268" height="702" class="alignnone size-full wp-image-7878" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-1.png 1268w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-1-300x166.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-1-1024x567.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-1-768x425.png 768w" sizes="auto, (max-width: 1268px) 100vw, 1268px" /></p>
<p>Se tudo estiver ok: <strong>Próximo passo</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-2.png" alt="" width="1268" height="1243" class="alignnone size-full wp-image-7879" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-2.png 1268w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-2-300x294.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-2-1024x1004.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-2-768x753.png 768w" sizes="auto, (max-width: 1268px) 100vw, 1268px" /></p>
<p>Selecione <strong>PostgreSQL</strong> e informe a <strong>senha do usuário zabbix </strong>criada anteriormente, clique em <strong>Próximo passo</strong>.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-3.png" alt="" width="1275" height="739" class="alignnone size-full wp-image-7880" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-3.png 1275w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-3-300x174.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-3-1024x594.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-3-768x445.png 768w" sizes="auto, (max-width: 1275px) 100vw, 1275px" /></p>
<p><strong>Defina um nome, e selecione o Tema padrão e clique em Próximo passo</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-4.png" alt="" width="1268" height="702" class="alignnone size-full wp-image-7881" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-4.png 1268w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-4-300x166.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-4-1024x567.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-4-768x425.png 768w" sizes="auto, (max-width: 1268px) 100vw, 1268px" /></p>
<p><strong>Se tudo estiver ok, Próximo passo</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-5.png" alt="" width="1268" height="702" class="alignnone size-full wp-image-7882" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-5.png 1268w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-5-300x166.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-5-1024x567.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-5-768x425.png 768w" sizes="auto, (max-width: 1268px) 100vw, 1268px" /></p>
<p><strong>Fim</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-6.png" alt="" width="1268" height="702" class="alignnone size-full wp-image-7883" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-6.png 1268w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-6-300x166.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-6-1024x567.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-6-768x425.png 768w" sizes="auto, (max-width: 1268px) 100vw, 1268px" /></p>
<p>Entre com Usuário <strong>Admin</strong> e senha <strong>zabbix</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-7.png" alt="" width="1268" height="702" class="alignnone size-full wp-image-7884" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-7.png 1268w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-7-300x166.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-7-1024x567.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-7-768x425.png 768w" sizes="auto, (max-width: 1268px) 100vw, 1268px" /></p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-8-inicial.png" alt="" width="1967" height="937" class="alignnone size-full wp-image-7885" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-8-inicial.png 1967w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-8-inicial-300x143.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-8-inicial-1024x488.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-8-inicial-768x366.png 768w, https://blog.remontti.com.br/wp-content/uploads/2024/04/zabbix-7-debian-12-8-inicial-1536x732.png 1536w" sizes="auto, (max-width: 1967px) 100vw, 1967px" /></p>
<p>Simples né? Gostou e quer me ajudar? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p>Fontes:<br />
<a href="https://www.zabbix.com/documentation/7.0/" rel="noopener" target="_blank">https://www.zabbix.com/documentation/</a></p>
<p>O post <a href="https://blog.remontti.com.br/7870">Guia completo para instalar e configurar Zabbix 7 LTS no Debian 12 Bookworm com NGINX e PostgreSQL</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7870/feed</wfw:commentRss>
			<slash:comments>30</slash:comments>
		
		
			</item>
		<item>
		<title>Instalação e Configuração do NetBox no Debian 12: Guia Completo</title>
		<link>https://blog.remontti.com.br/7851</link>
					<comments>https://blog.remontti.com.br/7851#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Fri, 05 Apr 2024 15:16:39 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Administração de Sistemas]]></category>
		<category><![CDATA[Configuração do servidor]]></category>
		<category><![CDATA[Configuração NetBox]]></category>
		<category><![CDATA[Debian 12]]></category>
		<category><![CDATA[Debian 12 Bookworm]]></category>
		<category><![CDATA[Debian Bookworm]]></category>
		<category><![CDATA[documentação de rede]]></category>
		<category><![CDATA[gerenciamento de racks]]></category>
		<category><![CDATA[gerenciamento de rede]]></category>
		<category><![CDATA[gestão de rede]]></category>
		<category><![CDATA[Infraestrutura de Rede]]></category>
		<category><![CDATA[infraestrutura de TI]]></category>
		<category><![CDATA[instalação do NetBox]]></category>
		<category><![CDATA[Instalação NetBox]]></category>
		<category><![CDATA[IPAM]]></category>
		<category><![CDATA[IPAM (Gerenciamento de Endereço IP)]]></category>
		<category><![CDATA[netbox]]></category>
		<category><![CDATA[NetBox Debian]]></category>
		<category><![CDATA[NetBox Plugin]]></category>
		<category><![CDATA[NetBox Setup]]></category>
		<category><![CDATA[NetBox Topology Views]]></category>
		<category><![CDATA[Open Source Networking]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Redis]]></category>
		<category><![CDATA[Segurança de Rede]]></category>
		<category><![CDATA[tutorial de TI]]></category>
		<category><![CDATA[Tutorial NetBox]]></category>
		<category><![CDATA[virtualização]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7851</guid>

					<description><![CDATA[<p>Netbox é um aplicativo web de código aberto desenvolvido para auxiliar na gestão e documentação de redes de computadores. Originalmente criado pela equipe de engenharia de rede da DigitalOcean, o NetBox foi desenhado para&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7851">Instalação e Configuração do NetBox no Debian 12: Guia Completo</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-remontti-com-br.png" alt="" width="1792" height="1024" class="alignnone size-full wp-image-7868" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-remontti-com-br.png 1792w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-remontti-com-br-300x171.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-remontti-com-br-1024x585.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-remontti-com-br-768x439.png 768w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-remontti-com-br-1536x878.png 1536w" sizes="auto, (max-width: 1792px) 100vw, 1792px" /><br />
<a href="https://docs.netbox.dev/en/stable/" rel="noopener" target="_blank">Netbox</a> é um aplicativo web de código aberto desenvolvido para auxiliar na gestão e documentação de redes de computadores. Originalmente criado pela equipe de engenharia de rede da DigitalOcean, o NetBox foi desenhado para satisfazer as necessidades de engenheiros de rede e infraestrutura, cobrindo aspectos como:</p>
<ul>
<li><strong>Gerenciamento de endereço IP (IPAM)</strong> &#8211; Redes e endereços IP, VRFs e VLANs</li>
<li><strong>Racks de equipamentos</strong> &#8211; Organizados por grupo e local</li>
<li><strong>Dispositivos</strong> &#8211; Tipos de dispositivos e suas instalações</li>
<li><strong>Conexões</strong> &#8211; Rede, console e conexões de energia entre dispositivos</li>
<li><strong>Virtualização</strong> &#8211; Máquinas virtuais e clusters</li>
<li><strong>Circuitos de dados</strong> &#8211; Circuitos e fornecedores de comunicações de longa distância</li>
<li><strong>Segredos</strong> &#8211; Armazenamento criptografado de credenciais sensíveis</li>
</ul>
<p><strong>Requisitos:</strong><br />
<a href="https://blog.remontti.com.br/2966" rel="noopener" target="_blank">Instalação do Debian 12 Bookworm</a></p>
<p>Para tornar-se root corretamente, utilize o comando abaixo com o sinal de hífen.</p>
<pre class="remontti-code">su -</pre>
<p>Instale os pacotes necessários que são pré-requisitos para a instalação do NetBox.</p>
<pre class="remontti-code"># apt install gcc vim net-tools wget redis-server supervisor\
  postgresql-contrib postgresql libpq-dev \
  python3 python3-pip python3-venv python3-dev\
  build-essential libxml2-dev libxslt1-dev\
  libffi-dev libssl-dev zlib1g-dev graphviz\
  nginx redis python3-setuptools python3-gunicorn</pre>
<p>Faça login como usuário postgres para criar o banco de dados necessário.</p>
<pre class="remontti-code"># su - postgres</pre>
<p>Acesse o terminal do postgres com o comando a seguir:</p>
<pre class="remontti-code">$ psql</pre>
<p>Altere a <strong>senha</strong> conforme necessário.</p>
<pre class="remontti-code">postgres=# CREATE DATABASE netboxdb;
postgres=# CREATE USER netboxuser WITH PASSWORD &#039;sua_senha&#039;;
postgres=# GRANT ALL PRIVILEGES ON DATABASE netboxdb TO netboxuser;
postgres=# ALTER USER netboxuser WITH SUPERUSER;
postgres=# \q</pre>
<p>Verifique se o serviço redis está funcionando corretamente.</p>
<pre class="remontti-code">$ redis-cli ping</pre>
<p>Deverá retornar: <strong>PONG</strong></p>
<p>Volte ao usuário root.</p>
<pre class="remontti-code">exit</pre>
<p>Prossiga com o download do projeto NetBox verificando se há uma nova versão disponível no <a href="https://github.com/netbox-community/netbox/releases" rel="noopener" target="_blank">GitHub</a>. Acesse o diretório temporário, faça o download do NetBox, extraia o arquivo, mova para o diretório correto e ajuste as permissões.</p>
<pre class="remontti-code"># cd /tmp
# wget https://github.com/netbox-community/netbox/archive/refs/tags/v3.7.4.tar.gz
# tar vxf v3.7.4.tar.gz
# mv netbox*/ /opt/netbox
# cd /opt/netbox/
# chown www-data: /opt/netbox/netbox/media/ -R</pre>
<p>Gere a SECRET KEY que será usada posteriormente.</p>
<pre class="remontti-code"># /opt/netbox/netbox/generate_secret_key.py </pre>
<p>Exemplo:</p>
<pre class="remontti-code-plain">T7TE07O$j^Jqf9(*20q8M5kG4%NBIci#gEEn0$wuw*qodT7Lfo</pre>
<p>Copie e ajuste o arquivo de configuração com suas informações.</p>
<pre class="remontti-code"># cp /opt/netbox/netbox/netbox/configuration_example.py /opt/netbox/netbox/netbox/configuration.py
# vim /opt/netbox/netbox/netbox/configuration.py</pre>
<p>Edite o arquivo de configuração como no exemplo a seguir:</p>
<pre class="remontti-code">ALLOWED_HOSTS = [&#039;localhost&#039;,&#039;netbox.remontti.com.br&#039;]

DATABASE = {
    &#039;NAME&#039;: &#039;netboxdb&#039;,
    &#039;USER&#039;: &#039;netboxuser&#039;,
    &#039;PASSWORD&#039;: &#039;sua_senha&#039;,
    &#039;HOST&#039;: &#039;localhost&#039;,
    &#039;PORT&#039;: &#039;&#039;,
    &#039;CONN_MAX_AGE&#039;: 300,
}

SECRET_KEY = &#039;T7TE07O$j^Jqf9(*20q8M5kG4%NBIci#gEEn0$wuw*qodT7Lfo&#039;

LOGIN_REQUIRED = True</pre>
<p>Proceda com a instalação executando:</p>
<pre class="remontti-code"># /opt/netbox/upgrade.sh</pre>
<p>Crie um usuário administrador para o NetBox com o seguinte comando:</p>
<pre class="remontti-code"># source /opt/netbox/venv/bin/activate
(venv) # python3 /opt/netbox/netbox/manage.py createsuperuser
Username: remontti
Email address: noc@remontti.com.br
Password: xxxx
Password (again): xxxxx
Superuser created successfully.
(venv) # deactivate</pre>
<p>Configure o servidor web (nginx) e inicie os serviços do NetBox.</p>
<pre class="remontti-code"># cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py
# cp /opt/netbox/contrib/*.service /etc/systemd/system/
# sed -i &#039;s/User=netbox/User=root/&#039; /etc/systemd/system/netbox*.service
# sed -i &#039;s/Group=netbox/Group=root/&#039; /etc/systemd/system/netbox*.service
# systemctl daemon-reload
# systemctl enable netbox netbox-rq netbox-housekeeping
# systemctl start netbox netbox-rq netbox-housekeeping
# systemctl status netbox netbox-rq</pre>
<p>Configure o nginx removendo o arquivo default e criando um novo arquivo de configuração.</p>
<pre class="remontti-code"># rm /etc/nginx/sites-enabled/default
# vim /etc/nginx/sites-available/netbox.conf</pre>
<p>Insira a configuração necessária no arquivo `netbox.conf` do nginx.</p>
<pre class="remontti-code-plain">
server {
    listen 80;
    listen [::]:80;
 
    server_name netbox.remontti.com.br;

    client_max_body_size 25m;
 
    location /static/ {
        alias /opt/netbox/netbox/static/;
    }
 
    location / {
        proxy_pass http://localhost:8001;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
</pre>
<p>Crie um link simbólico para ativar a configuração do nginx e reinicie o serviço.</p>
<pre class="remontti-code"># ln -s /etc/nginx/sites-available/netbox.conf /etc/nginx/sites-enabled/
# systemctl restart nginx</pre>
<p>Acesse seu NetBox pelo navegador em <em>&#8220;https://netbox.remontti.com.br/&#8221;</em> ou <em>&#8220;https://ip/&#8221;</em> e faça login com a senha criada.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12.png" alt="" width="1268" height="528" class="alignnone size-full wp-image-7865" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12.png 1268w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-300x125.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-1024x426.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-768x320.png 768w" sizes="auto, (max-width: 1268px) 100vw, 1268px" /></p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-ok.png" alt="" width="1268" height="897" class="alignnone size-full wp-image-7866" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-ok.png 1268w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-ok-300x212.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-ok-1024x724.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-ok-768x543.png 768w" sizes="auto, (max-width: 1268px) 100vw, 1268px" /></p>
<p>Instale o plugin <strong><a href="https://github.com/netbox-community/netbox-topology-views" rel="noopener" target="_blank">topology-views</a></strong>.</p>
<pre class="remontti-code"># source /opt/netbox/venv/bin/activate
(venv) # vim /opt/netbox/netbox/netbox/configuration.py</pre>
<p>Configure o plugin `netbox_topology_views` no arquivo de configuração.</p>
<pre class="remontti-code-plain">PLUGINS = [&quot;netbox_topology_views&quot;]

PLUGINS_CONFIG = {
    &#039;netbox_topology_views&#039;: {
        &#039;static_image_directory&#039;: &#039;netbox_topology_views/img&#039;,
        &#039;allow_coordinates_saving&#039;: True,
        &#039;always_save_coordinates&#039;: True
    }
}
</pre>
<p>Conclua a instalação do plugin e atualize as configurações.</p>
<pre class="remontti-code">(venv) # cd /opt/netbox/netbox
(venv) # pip3 install netbox-topology-views
(venv) # python3 manage.py migrate netbox_topology_views
(venv) # python3 manage.py collectstatic --no-input
# deactivate
# systemctl restart netbox netbox-rq netbox-housekeeping</pre>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-netbox_topology_views.png" alt="" width="1276" height="798" class="alignnone size-full wp-image-7860" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-netbox_topology_views.png 1276w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-netbox_topology_views-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-netbox_topology_views-1024x640.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-netbox_topology_views-768x480.png 768w" sizes="auto, (max-width: 1276px) 100vw, 1276px" /></p>
<p>Agradecimentos e convite para doação:<br />
<strong>Se quiser fazer uma doação para o café, ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Participe do canal no <a href="https://t.me/blogremontti" rel="noopener noreferrer" target="_blank">telegram</a> para ficar sempre atualizado. Agradeço por qualquer feedback nos comentários ou <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">contato direto</a>.</p>
<p>Fonte: <a href="https://docs.netbox.dev/" rel="noopener" target="_blank">Documentação Oficial do NetBox</a></p>
<p>O post <a href="https://blog.remontti.com.br/7851">Instalação e Configuração do NetBox no Debian 12: Guia Completo</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7851/feed</wfw:commentRss>
			<slash:comments>18</slash:comments>
		
		
			</item>
		<item>
		<title>Instalação FreeRadius no Debian 12 Bookworm (Extra sqlippool)</title>
		<link>https://blog.remontti.com.br/7784</link>
					<comments>https://blog.remontti.com.br/7784#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Tue, 30 Jan 2024 02:22:57 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Administração de sistema]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[Autenticação PPPoE]]></category>
		<category><![CDATA[Configuração de servidor]]></category>
		<category><![CDATA[Debian 12 Bookworm]]></category>
		<category><![CDATA[freeradius]]></category>
		<category><![CDATA[FreeRadius 3.2.1]]></category>
		<category><![CDATA[LAMP (Linux]]></category>
		<category><![CDATA[MariaDB]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Rede e segurança]]></category>
		<category><![CDATA[sqlippool]]></category>
		<category><![CDATA[Wireless Security]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7784</guid>

					<description><![CDATA[<p>Este tutorial é especialmente útil para provedores de serviços que desejam estabelecer seu próprio sistema de autenticação usando o FreeRADIUS. Ele abrange uma ampla gama de autenticação, incluindo PPPoE, hotspot, e autenticação sem fio&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7784">Instalação FreeRadius no Debian 12 Bookworm (Extra sqlippool)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/01/freeradius-debian-12.png" alt="" width="1792" height="909" class="alignnone size-full wp-image-7787" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/01/freeradius-debian-12.png 1792w, https://blog.remontti.com.br/wp-content/uploads/2024/01/freeradius-debian-12-300x152.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/01/freeradius-debian-12-1024x519.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/01/freeradius-debian-12-768x390.png 768w, https://blog.remontti.com.br/wp-content/uploads/2024/01/freeradius-debian-12-1536x779.png 1536w" sizes="auto, (max-width: 1792px) 100vw, 1792px" /><br />
Este tutorial é especialmente útil para provedores de serviços que desejam estabelecer seu próprio sistema de autenticação usando o FreeRADIUS. Ele abrange uma ampla gama de autenticação, incluindo PPPoE, hotspot, e autenticação sem fio (PSK/EAP), entre outras opções.</p>
<p><strong>REQUISITOS</strong><br />
1 – <a href="https://blog.remontti.com.br/7236" rel="noopener noreferrer" target="_blank">Debian 12 Bookworm &#8211; Instalação limpa</a></p>
<p>Acesse seu bash e vire root com o comando su &#8211; para evitar comandos &#8220;que não existem&#8221;, e antes de mais nada tenha seu repositório atualizado.</p>
<pre class="remontti-code"># su -
# apt update
# apt upgrade</pre>
<p>Se o seu sistema Debian acabou de ser instalado e está em sua configuração inicial, aqui está o meu comando secreto que eu uso em todos os servidores após a instalação. Esse comando tem o objetivo de aprimorar a produtividade do shell (bash) no Debian e instalar alguns pacotes essenciais. É basicamente um script que inclui a maior parte das etapas descritas no tutorial: <a href="https://blog.remontti.com.br/5867" rel="noopener" target="_blank">Como melhorar a produtividade no seu Debian após instalação</a></p>
<pre class="remontti-code"># apt install wget -y; wget remontti.com.br/debian; bash debian
# su - </pre>
<p>O serviço web não é necessário, mas normalmente juntamente do Freeradius acabo instalando um phpmyadmin por exemplo para poder fazer uma administração fácil do banco de dados entre outros. Se desejar pular esta etapa ela é opcional.</p>
<h4>Instalação do Serviço Web+PHP</h4>
<p>Vamos instalar os pacotes necessários</p>
<pre class="remontti-code"># apt install apache2 apache2-utils libapache2-mod-php\
  php php-mysql php-cli php-pear php-gmp php-gd php-bcmath\
  php-mbstring php-curl php-xml php-zip -y</pre>
<p>Ajuste fino, <a href="https://blog.remontti.com.br/7496" rel="noopener" target="_blank">quiser saber mais clique aqui</a>.</p>
<pre class="remontti-code"># a2enmod rewrite ; a2enmod headers
# sed -i &#039;s/ServerTokens OS/ServerTokens Prod/&#039; /etc/apache2/conf-available/security.conf
# sed -i &#039;s/ServerSignature On/ServerSignature Off/&#039; /etc/apache2/conf-available/security.conf
# systemctl restart apache2</pre>
<h4>Instalação do MariaDB &#038; phpMyAdmin</h4>
<pre class="remontti-code"># apt install mariadb-server mariadb-client phpmyadmin</pre>
<p>Por padrão o pacote MaraiDB no Debian usa unix_socket para autenticar o login do usuário, o que basicamente significa que você pode usar o nome de usuário e a senha do sistema operacional para efetuar login no console do MariaDB. Assim, você pode logar diretamente sem fornecer a senha root do MariaDB. Mais a frente vou ensinar como definir uma senha, não farei agora pois se você alterar nesse momento ao instalar o phpMyAdmin terá um erro.</p>
<p>Selecione <strong>Apache2</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_1.png" data-rel="lightbox-gallery-bvSHxpAJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_1.png" alt="" width="1256" height="408" class="alignnone size-full wp-image-7499" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_1.png 1256w, https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_1-300x97.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_1-1024x333.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_1-768x249.png 768w" sizes="auto, (max-width: 1256px) 100vw, 1256px" /></a></p>
<p>Responda <strong>Sim</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_2.png" data-rel="lightbox-gallery-bvSHxpAJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_2.png" alt="" width="1257" height="513" class="alignnone size-full wp-image-7500" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_2.png 1257w, https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_2-300x122.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_2-1024x418.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_2-768x313.png 768w" sizes="auto, (max-width: 1257px) 100vw, 1257px" /></a></p>
<p><strong>Informe a senha</strong> para o banco de dados do phpmyadmin. <a href="http://senhasegura.remontti.com.br/" rel="noopener" target="_blank">http://senhasegura.remontti.com.br/</a><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_3.png" data-rel="lightbox-gallery-bvSHxpAJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_3.png" alt="" width="1261" height="410" class="alignnone size-full wp-image-7501" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_3.png 1261w, https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_3-300x98.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_3-1024x333.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_3-768x250.png 768w" sizes="auto, (max-width: 1261px) 100vw, 1261px" /></a></p>
<p>Repita a senha<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_4.png" data-rel="lightbox-gallery-bvSHxpAJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_4.png" alt="" width="1264" height="437" class="alignnone size-full wp-image-7502" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_4.png 1264w, https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_4-300x104.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_4-1024x354.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian_12_4-768x266.png 768w" sizes="auto, (max-width: 1264px) 100vw, 1264px" /></a></p>
<p>Para acessar o phpmyadmin:<strong>http://[SERVER_IP]/phpmyadmin/</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_login.png" data-rel="lightbox-gallery-bvSHxpAJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_login.png" alt="" width="1523" height="556" class="alignnone size-full wp-image-7471" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_login.png 1523w, https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_login-300x110.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_login-1024x374.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_login-768x280.png 768w" sizes="auto, (max-width: 1523px) 100vw, 1523px" /></a></p>
<p>Para aumentar a seguraça vamos definir uma senha para o usuário root do MariDB, não esqueça de alterar <strong>ALTERE_3ST4_SENHA</strong> pela sua senha.</p>
<pre class="remontti-code"># mariadb -u root</pre>
<pre class="remontti-code">USE mysql;
ALTER USER &#039;root&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;ALTERE_3ST4_SENHA&#039;;
FLUSH PRIVILEGES;
EXIT;</pre>
<p>Apague seus rastros, em /root/.mysql_history temos um histórico com todos os comandos dado no terminal do MariaDB, então não é legal deixar lá em texto puro a senha que setamos!</p>
<pre class="remontti-code"># &gt; /root/.mysql_history</pre>
<h4>Instalação do FreeRadius</h4>
<p>Abra o terminal de comando do MariaDB e crie a base e o usuário chamados de radius e defina a senha para este usuário.</p>
<pre class="remontti-code"># mariadb -u root -p</pre>
<p>Altere <strong>SENHA_USER_RADIUS</strong>. Você pode gerar uma senha forte e segura em <a href="https://senhasegura.remontti.com.br/" rel="noopener noreferrer" target="_blank">https://senhasegura.remontti.com.br</a></p>
<pre class="remontti-code">CREATE DATABASE radius;
GRANT ALL PRIVILEGES ON radius.* TO &#039;radius&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;SENHA_USER_RADIUS&#039;;
FLUSH PRIVILEGES;
quit;</pre>
<p>Instale os pacotes do <strong>freeradius</strong></p>
<pre class="remontti-code"># apt install freeradius freeradius-mysql freeradius-utils</pre>
<p>Com o banco de dados radius criado iremos importar as tabelas padrões do freeradius:</p>
<pre class="remontti-code"># mariadb -u radius -p radius &lt; /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql</pre>
<p>Após comando será solicitado a senha do usuario radius (SENHA_USER_RADIUS).</p>
<p>Vamos fazer backups primeiramente dos arquivos que iremos alterar.</p>
<pre class="remontti-code"># cp /etc/freeradius/3.0/radiusd.conf /etc/freeradius/3.0/radiusd.conf.orig
# cp /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-available/sql.orig
# cp /etc/freeradius/3.0/mods-available/eap /etc/freeradius/3.0/mods-available/eap.orig
# cp /etc/freeradius/3.0/sites-available/default  /etc/freeradius/3.0/sites-available/default.org
# cp /etc/freeradius/3.0/mods-available/sqlippool /etc/freeradius/3.0/mods-available/sqlippool.orig
</pre>
<p>Irei abusar do comando sed de agora em diante com o intuito de entrar nos arquivos para editar, se não souber o que cada comando representa recomendo utilizar o chat GPT, cola lá e pergunta que ele explica rsrs (estou ficando velho)</p>
<pre class="remontti-code"># sed -i &#039;/^\s*stripped_names = no/s/^\(\s*stripped_names =\) no/\1 yes/g&#039; /etc/freeradius/3.0/radiusd.conf
# sed -i &#039;/^\s*auth = no/s/^\(\s*auth =\) no/\1 yes/g&#039; /etc/freeradius/3.0/radiusd.conf
# sed -i &#039;/^\s*auth_badpass = no/s/^\(\s*auth_badpass =\) no/\1 yes/g&#039; /etc/freeradius/3.0/radiusd.conf
# sed -i &#039;/^\s*auth_goodpass = no/s/^\(\s*auth_goodpass =\) no/\1 yes/g&#039; /etc/freeradius/3.0/radiusd.conf</pre>
<p>Ajustaremos o <a href="https://wiki.freeradius.org/guide/SQL-HOWTO-for-freeradius-3.x-on-Debian-Ubuntu" rel="noopener noreferrer" target="_blank">mod SQL</a> para trabalhar com conexão do tipo mysql, e informamos os dados para conexão com o banco de dados. Arquivo /etc/freeradius/3.0/mods-available/sql.orig</p>
<pre class="remontti-code"># sed -i &#039;s/driver = &quot;rlm_sql_null&quot;/driver = &quot;rlm_sql_mysql&quot;/&#039; /etc/freeradius/3.0/mods-available/sql
# sed -i &#039;s/dialect = &quot;sqlite&quot;/dialect = &quot;mysql&quot;/&#039; /etc/freeradius/3.0/mods-available/sql
# sed -i &#039;/server = &quot;localhost&quot;/s/^#//g&#039; /etc/freeradius/3.0/mods-available/sql
# sed -i &#039;/port = 3306/s/^#//g&#039; /etc/freeradius/3.0/mods-available/sql
# sed -i &#039;/login = &quot;radius&quot;/s/^#//g&#039; /etc/freeradius/3.0/mods-available/sql
# sed -i &#039;/password = &quot;radpass&quot;/s/^#//g&#039; /etc/freeradius/3.0/mods-available/sql
# sed -i &#039;/read_clients = yes/s/^#//g&#039; /etc/freeradius/3.0/mods-available/sql</pre>
<p>No próximo comando altere <strong>SENHA_USER_RADIUS</strong> para a senha de conexão do usuário radius.</p>
<pre class="remontti-code"># sed -i &#039;s/radpass/SENHA_USER_RADIUS/&#039; /etc/freeradius/3.0/mods-available/sql</pre>
<p>Habilite os mods sql e sqlippool:</p>
<pre class="remontti-code"># ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/sql
# ln -s /etc/freeradius/3.0/mods-available/sqlippool /etc/freeradius/3.0/mods-enabled/sqlippool</pre>
<p>Desativando o TLS do Mysql</p>
<pre class="remontti-code"># sed -i &#039;84,102 {s/^/##/}&#039; /etc/freeradius/3.0/mods-available/sql
# sed -i &#039;s/disable_tlsv1_2 = yes/disable_tlsv1_2 = no/&#039; /etc/freeradius/3.0/mods-available/eap 
# sed -i &#039;s/disable_tlsv1_1 = yes/disable_tlsv1_1 = no/&#039; /etc/freeradius/3.0/mods-available/eap 
# sed -i &#039;s/disable_tlsv1 = yes/disable_tlsv1 = no/&#039; /etc/freeradius/3.0/mods-available/eap
# sed -i &#039;/disable_tlsv1/s/^#//g&#039; /etc/freeradius/3.0/mods-available/eap
# sed -i &#039;s/tls_min_version = &quot;1.2&quot;/tls_min_version = &quot;1.0&quot;/&#039; /etc/freeradius/3.0/mods-available/eap</pre>
<p>Agora no arquivo /etc/freeradius/3.0/sites-enabled/default vamos comentar alguns componentes que não nos interessa (Se você entrar no arquivo e editar manualmente ele está todo comentado, auto explicativo.) e incluir alguns componentes como o SQL.</p>
<pre class="remontti-code"># sed -i &#039;/^[[:space:]]*digest/s/^/## /&#039; /etc/freeradius/3.0/sites-available/default
# sed -i &#039;/^[[:space:]]*suffix/s/^/## /&#039; /etc/freeradius/3.0/sites-available/default
# sed -i &#039;/^[[:space:]]*files/s/^/## /&#039; /etc/freeradius/3.0/sites-available/default
# sed -i &#039;/^[[:space:]]*-ldap/s/^/## /&#039; /etc/freeradius/3.0/sites-available/default
# sed -i &#039;/^[[:space:]]*exec/s/^/## /&#039; /etc/freeradius/3.0/sites-available/default
# sed -i &#039;/^[[:space:]]*detail/s/^/## /&#039; /etc/freeradius/3.0/sites-available/default
# sed -i &#039;/^[[:space:]]*unix/s/^/## /&#039; /etc/freeradius/3.0/sites-available/default
# sed -i &#039;/^[[:space:]]*attr_filter.accounting_response/s/^/## /&#039; /etc/freeradius/3.0/sites-available/default
# sed -i &#039;/^[[:space:]]*-ldap/s/^/## /&#039; /etc/freeradius/3.0/sites-available/default
# sed -i &#039;s/-sql/sql/&#039; /etc/freeradius/3.0/sites-available/default
# sed -i &#039;741 s/# *//&#039; /etc/freeradius/3.0/sites-available/default
# sed -i &#039;958,970 {s/^/##/}&#039; /etc/freeradius/3.0/sites-available/default
# sed -i &#039;76 {s/^/#/}&#039; /etc/freeradius/3.0/mods-available/sqlippool
# sed -i &#039;77 s/# *//&#039; /etc/freeradius/3.0/mods-available/sqlippool
# sed -i &#039;66 s/# *//&#039; /etc/freeradius/3.0/mods-available/sqlippool
# sed -i &#039;/^[[:space:]]*#.*sqlippool/s/^#//&#039; /etc/freeradius/3.0/sites-available/default
</pre>
<p>Faremos os ajustes no arquivo <strong>inner-tunnel</strong></p>
<pre class="remontti-code"># cp /etc/freeradius/3.0/sites-available/inner-tunnel /etc/freeradius/3.0/sites-available/inner-tunnel.org</pre>
<pre class="remontti-code"># sed -i &#039;/^[[:space:]]*suffix/s/^/## /&#039; /etc/freeradius/3.0/sites-available/inner-tunnel
# sed -i &#039;/^[[:space:]]*files/s/^/## /&#039; /etc/freeradius/3.0/sites-available/inner-tunnel
# sed -i &#039;/^[[:space:]]*-ldap/s/^/## /&#039; /etc/freeradius/3.0/sites-available/inner-tunnel
# sed -i &#039;s/-sql/sql/&#039; /etc/freeradius/3.0/sites-available/inner-tunnel
# sed -i &#039;/^[[:space:]]*radutmp/s/^/## /&#039; /etc/freeradius/3.0/sites-available/inner-tunnel
# sed -i &#039;266 s/# *//&#039; /etc/freeradius/3.0/sites-available/inner-tunnel
# sed -i &#039;336,361 {s/^/##/}&#039; /etc/freeradius/3.0/sites-available/inner-tunnel
# sed -i &#039;370,381 {s/^/##/}&#039; /etc/freeradius/3.0/sites-available/inner-tunnel</pre>
<p>Verifique com o comando abaixo se a saída dos seus arquivos ficou assim:</p>
<pre class="remontti-code"># cat /etc/freeradius/3.0/sites-enabled/default |grep -v &quot;#&quot; |awk &#039;NF&gt;0&#039;</pre>
<pre class="remontti-code-plain">server default {
listen {
	type = auth
	ipaddr = *
	port = 0
	limit {
	      max_connections = 16
	      lifetime = 0
	      idle_timeout = 30
	}
}
listen {
	ipaddr = *
	port = 0
	type = acct
	limit {
	}
}
listen {
	type = auth
	port = 0
	limit {
	      max_connections = 16
	      lifetime = 0
	      idle_timeout = 30
	}
}
listen {
	ipv6addr = ::
	port = 0
	type = acct
	limit {
	}
}
authorize {
	filter_username
	preprocess
	chap
	mschap
	eap {
		ok = return
	}
	sql
	expiration
	logintime
	pap
	Autz-Type New-TLS-Connection {
		  ok
	}
}
authenticate {
	Auth-Type PAP {
		pap
	}
	Auth-Type CHAP {
		chap
	}
	Auth-Type MS-CHAP {
		mschap
	}
	mschap
	eap
}
preacct {
	preprocess
	acct_unique
}
accounting {
	sqlippool
	sql
}
session {
	sql
}
post-auth {
	if (session-state:User-Name &amp;&amp; reply:User-Name &amp;&amp; request:User-Name &amp;&amp; (reply:User-Name == request:User-Name)) {
		update reply {
			&amp;User-Name !* ANY
		}
	}
	update {
		&amp;reply: += &amp;session-state:
	}
	sqlippool
	sql
	remove_reply_message_if_eap
	Post-Auth-Type Challenge {
	}
	Post-Auth-Type Client-Lost {
	}
	if (EAP-Key-Name &amp;&amp; &amp;reply:EAP-Session-Id) {
		update reply {
			&amp;EAP-Key-Name := &amp;reply:EAP-Session-Id
		}
	}
}
pre-proxy {
}
post-proxy {
	eap
}
}
</pre>
<pre class="remontti-code"># cat /etc/freeradius/3.0/sites-enabled/inner-tunnel |grep -v &quot;#&quot; |awk &#039;NF&gt;0&#039;</pre>
<pre class="remontti-code-plain">server inner-tunnel {
listen {
       ipaddr = 127.0.0.1
       port = 18120
       type = auth
}
authorize {
	filter_username
	chap
	mschap
	update control {
		&amp;Proxy-To-Realm := LOCAL
	}
	eap {
		ok = return
	}
	sql
	expiration
	logintime
	pap
}
authenticate {
	Auth-Type PAP {
		pap
	}
	Auth-Type CHAP {
		chap
	}
	Auth-Type MS-CHAP {
		mschap
	}
	mschap
	eap
}
session {
	sql
}
post-auth {
	sql
}
pre-proxy {
}
post-proxy {
	eap
}
</pre>
<h3>SQLIPPOOL</h3>
<p>Para muitos o o maior pesadelo <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f47b.png" alt="👻" class="wp-smiley" style="height: 1em; max-height: 1em;" /> DUPLICIDADE DE IPs <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f47b.png" alt="👻" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br />
No Debian 12 temos a versão 3.2.1 do freeradius sendo rodada, nessa versão alguma melhorias já foram aplicadas, mas eu ainda acho falha para maioria dos IPs, então vou deixar aqui algumas alterações que tenho aplicado para uma realidade provedores que acredito que irá atender sem dores de cabeça.</p>
<p>Importe o banco de dados e aplique as regras de procedure.</p>
<pre class="remontti-code"># mariadb -u radius -p radius &lt; /etc/freeradius/3.0/mods-config/sql/ippool/mysql/schema.sql
# mariadb -u radius -p radius &lt; /etc/freeradius/3.0/mods-config/sql/ippool/mysql/procedure.sql </pre>
<p>Crie uma cópia do arquivo original, nunca se saber quando iremos precisar.</p>
<pre class="remontti-code"># cp /etc/freeradius/3.0/mods-config/sql/ippool/mysql/queries.conf /etc/freeradius/3.0/mods-config/sql/ippool/mysql/queries.conf.orig</pre>
<p>Para debugs e até mesmo algum script que visa buscar por falhas ou entendimento irei criar a coluna <strong>action</strong> na tabela radippool, nela estarei gravando qual a ação/query que ele executou do queries.conf.</p>
<pre class="remontti-code"># mysql -u radius -p -D radius -e &#039;ALTER TABLE radippool ADD COLUMN \`action\` VARCHAR(20) NULL AFTER pool_key;&#039;</pre>
<p>Vamos pagar tudo que tem em queries.conf e criar todas as entradas.</p>
<pre class="remontti-code"># &gt; /etc/freeradius/3.0/mods-config/sql/ippool/mysql/queries.conf
# vim /etc/freeradius/3.0/mods-config/sql/ippool/mysql/queries.conf</pre>
<p>Deixei nos comentários o macimo de explicação</p>
<pre class="remontti-code">
#
# TODOS OS IPS NA RADIPPOOL. AS POLÍTICAS SERÃO AS SEGUINTES:
# 
#  1 - Quando um novo login tentar selecionar um endereço IP pela primeira vez na &quot;radippool&quot;, o sistema verificará 
#      se esse login já utilizou um endereço com Pool-Name que esta solicitado.
#  2 - Se o login não tiver usado nenhum endereço da Pool-Name solicitada, será atribuído aleatoriamente um novo endereço, 
#      desde que o &quot;expiry_time&quot; seja menor que a data e hora atual.
#  3 - Se todos os endereços IPs dentro da Pool-Name solicitada já sendo utilizado ou estiverem em estado aguardando (&quot;waiting&quot;), 
#      a query &quot;allocate_find&quot; irá verificando se o &quot;expiry_time&quot; é menor que a data e hora atual e assim utilizando um dos IPs 
#      em &quot;waiting&quot; com o &quot;expiry_time&quot; mais antigo. Isso é comum por exemplo quando um cliente cancela sua assinatura.
#  3 - Se todos os endereços IPs dentro da Pool-Name solicitada já estiverem sendo utilizados ou estiverem em estado de espera (&quot;waiting&quot;), 
#      nossa query &quot;allocate_find&quot; irá verificar se o &quot;expiry_time&quot; é menor que a data e hora atual e, assim, utilizará um dos IPs
#      em estado de espera com o &quot;expiry_time&quot; mais antigo. Isso é comum, por exemplo, quando um cliente cancela sua assinatura.
#  4 - Se todos os IPs da Pool-Name estiverem em uso e o &quot;expiry_time&quot; for maior que a data atual informada pelo lease_duration, 
#      significa que essa pool-name acabou, nesse a query &quot;allocate_find&quot; buscará na Pool-Name definida na variável &quot;pool_next&quot;. 
#      Por exemplo, ao esgotar os IPs da Pool-Name &quot;publicos&quot;, serão entregues IPs da Pool-Name &quot;cgant&quot;.
#  5 - Se a Pool-Name solicitada e a Pool-Name definida em &quot;pool_next&quot; não tiverem mais endereços disponíveis, 
#      ou não forem encontradas, a responsabilidade de entregar os IPs ficará a cargo do roteador.
#
#  OBS: Escolher um IP randomicamente é mais interessante para balanceamento de carga.
#
#  Autor: Rudimar Remontti 
#


#  Usar SKIP LOCKED acelera as consultas de seleção
#  No entanto, requer MySQL &gt;= 8.0.1 ou MariaDB &gt;= 10.6.
#
#skip_locked = &quot;&quot;
skip_locked = &quot;SKIP LOCKED&quot;


#
#  Por padrão, ao utilizar todos os endereços IPs de uma pool, 
#  o módulo sqlippool do FreeRADIUS permite que seu roteador (NAS) 
#  distribua a pool configurada por ele.
#  Porém estarei aqui fazendo uma alteração na função &quot;allocate_find&quot;
#
pool_next = &quot;cgnat&quot;


#
#  Alocar um endereço IP já utilizado.
#
#  Se um usuário já utilizou um determinado IP, entregue 
#  para ele o mesmo endereco com &quot;expiry_time&quot; mais recente.
#
allocate_existing = &quot;\
	SELECT framedipaddress FROM ${ippool_table} \
	WHERE pool_name = &#039;%{control:${pool_name}}&#039; \
	AND username = &#039;%{User-Name}&#039; \
	ORDER BY expiry_time DESC \
	LIMIT 1 \
	FOR UPDATE ${skip_locked}&quot;


#
# Encontre um endereço IP livre no Pool-Name solicitado 
# ou no Pool-Name especificado na variável pool_next. 
# A explicação está no início deste arquivo.
#
#  Nota: Isso pode se tonar lento se você tiver mais de 30 mil IPs livres, 
#        é rerecomendo fazer um tuning no seu MariaDB/MySQL.
#
allocate_find = &quot;\
	SELECT framedipaddress \
	FROM ${ippool_table} \
	WHERE ( \
	    CASE \
	        WHEN ( \
	            SELECT COUNT(framedipaddress) \
	            FROM radippool \
	            WHERE pool_name = &#039;%{control:Pool-Name}&#039; AND expiry_time &lt; NOW() \
	            LIMIT 1 \
	        ) &gt; 0 THEN \
	            (pool_name = &#039;%{control:Pool-Name}&#039; AND expiry_time &lt; NOW()) \
	        ELSE \
	            CASE \
	                WHEN ( \
	                    SELECT COUNT(framedipaddress) \
	                    FROM radippool \
	                    WHERE pool_name = &#039;${pool_next}&#039; AND username = &#039;%{User-Name}&#039; \
	                    LIMIT 1 \
	                ) &gt; 0 THEN \
	                    (pool_name = &#039;${pool_next}&#039; AND username = &#039;%{User-Name}&#039;) \
	                ELSE \
	                    (pool_name = &#039;${pool_next}&#039; AND expiry_time &lt; NOW()) \
	            END \
	    END \
	) \
	ORDER BY expiry_time ASC, RAND() \
	LIMIT 1 \
	FOR UPDATE ${skip_locked}&quot;

#
#  Se um IP não puder ser alocado, verifique se o pool existe ou não. 
#  Isso permite que o módulo diferencie entre um pool cheio e nenhum pool.
#  Nota: Se você não estiver executando módulos de pool redundantes, esta consulta pode 
#  ser comentada para evitar executar esta consulta toda vez que um IP não for alocado.
#
pool_check = &quot;\
	SELECT id \
	FROM ${ippool_table} \
	WHERE pool_name=&#039;%{control:${pool_name}}&#039; \
	LIMIT 1&quot;

#
#  Atualização dos IPs já alocado.
#
allocate_update = &quot;\
	UPDATE ${ippool_table} \
	SET \
		nasipaddress = &#039;%{NAS-IP-Address}&#039;, pool_key = &#039;${pool_key}&#039;, \
		callingstationid = &#039;%{Calling-Station-Id}&#039;, \
		username = &#039;%{User-Name}&#039;, expiry_time = NOW() + INTERVAL ${lease_duration} SECOND, \
		action = &#039;allocate_update&#039; \
	WHERE framedipaddress = &#039;%I&#039;&quot;

#
#  Esta série de consultas libera um número de IP quando um registro de INÍCIO de contabilidade chega.
#
start_update = &quot;\
	UPDATE ${ippool_table} \
	SET \
		expiry_time = NOW() + INTERVAL ${lease_duration} SECOND, \
		action = &#039;start_update&#039; \
	WHERE nasipaddress = &#039;%{NAS-IP-Address}&#039; \
	AND pool_key = &#039;${pool_key}&#039; \
	AND username = &#039;%{User-Name}&#039; \
	AND callingstationid = &#039;%{Calling-Station-Id}&#039; \
	AND framedipaddress = &#039;%{${attribute_name}}&#039;&quot;

#
#  Essa consulta expira um número de IP quando um registro de PARADA de contabilidade chega.
#
stop_clear = &quot;\
	UPDATE ${ippool_table} \
	SET \
	    nasipaddress = &#039;&#039;, \
	    pool_key = &#039;waiting&#039;, \
	    callingstationid = &#039;&#039;, \
		expiry_time = NOW() - INTERVAL 2 SECOND, \
		action = &#039;stop_clear&#039; \
	WHERE nasipaddress = &#039;%{%{Nas-IP-Address}:-%{Nas-IPv6-Address}}&#039; \
	AND pool_key = &#039;${pool_key}&#039; \
	AND username = &#039;%{User-Name}&#039; \
	AND callingstationid = &#039;%{Calling-Station-Id}&#039; \
	AND framedipaddress = &#039;%{${attribute_name}}&#039;&quot;

#
#  Atualização do IP quando está em utilização, a atualização é feita 
#  a cada x tempo (interim-update/Acct-Interim-Interval) aumenta o tempo definido em &quot;lease_duration&quot;
#
alive_update = &quot;\
	UPDATE ${ippool_table} \
	SET \
		expiry_time = NOW() + INTERVAL ${lease_duration} SECOND, \
		action = &#039;alive_update&#039; \
	WHERE nasipaddress = &#039;%{%{Nas-IP-Address}:-%{Nas-IPv6-Address}}&#039; \
	AND pool_key = &#039;${pool_key}&#039; \
	AND username = &#039;%{User-Name}&#039; \
	AND callingstationid = &#039;%{Calling-Station-Id}&#039; \
	AND framedipaddress = &#039;%{${attribute_name}}&#039;&quot;


#
#  Libera todos os endereços IP alocados a um NAS quando este é ligado ou reiniciado. 
#  Exemplo que uma falha de energia.
#  
on_clear = &quot;\
	UPDATE ${ippool_table} \
	SET \
		expiry_time = NOW() + INTERVAL ${lease_duration} SECOND, \
		action = &#039;on_clear&#039; \
	WHERE nasipaddress = &#039;%{%{Nas-IP-Address}:-%{Nas-IPv6-Address}}&#039;&quot;


#
#  Libera todos os endereços IP alocados a um NAS quando este é desligado ou fica offline.
#
off_clear = &quot;\
	UPDATE ${ippool_table} \
	SET \
		expiry_time = NOW(), \
		action = &#039;off_clear&#039; \
	WHERE nasipaddress = &#039;%{%{Nas-IP-Address}:-%{Nas-IPv6-Address}}&#039;&quot;
</pre>
<p>É interessante você ajustar o tempo <strong>lease_duration = 3600</strong> que por padrão é de 1h no arquivo /etc/freeradius/3.0/mods-available/sqlippool, para mim obtive resultados melhores com 30min, porém sempre respeitando o tempo de <strong>Acct-Interim-Interval</strong> que deve ser um tempo menor, entre 5 a 10 minutos, para evitar duplicidades de IPs.<br />
Falo sobre isso no tutorial <a href="https://blog.remontti.com.br/4085" rel="noopener noreferrer" target="_blank">https://blog.remontti.com.br/4085</a> recomendo a leitura!</p>
<pre class="remontti-code"># sed -i &#039;s/lease_duration = 3600/lease_duration = 1200/&#039; /etc/freeradius/3.0/mods-available/sqlippool
# systemctl  restart freeradius</pre>
<p>Caso você tenha uma alta demanda de requisições você deve fazer algumas alterações no radiusd.conf.<br />
Altere conforme sua necessidade, e hardware de seu servidor. Vale lembrar que fazendo essas alterações pode ser necessário alterar o limite de conexões ao MariaDB. Não abuse nessas configurações recomendo ler a documentação.</p>
<pre class="remontti-code"># vim /etc/freeradius/3.0/radiusd.conf</pre>
<p>Você pode começar dobrando os valores, ex.:</p>
<pre class="remontti-code">[...]
thread pool {
        start_servers = 10
        max_servers = 64
        min_spare_servers = 6
        max_spare_servers = 20
        max_queue_size = 131072
        max_requests_per_server = 0
        auto_limit_acct = no
}
[...]</pre>
<p>Em grande escalas é importante que você também realize um tuning no MariaDB. Recomendo:<br />
- <a href="https://github.com/major/MySQLTuner-perl" rel="noopener" target="_blank">https://github.com/major/MySQLTuner-perl</a><br />
- <a href="https://github.com/BMDan/tuning-primer.sh" rel="noopener" target="_blank">https://github.com/BMDan/tuning-primer.sh</a></p>
<h3>Finalizando</h3>
<p>Habilite o freeradius para começar junto com a inicialização do sistema</p>
<pre class="remontti-code"># systemctl enable freeradius</pre>
<p>Pare o serviço e inicie em modo debug</p>
<pre class="remontti-code"># systemctl stop freeradius
# freeradius -X</pre>
<p>Se nenhum erro acontecer uma mensagem com: <strong>Ready to process requests</strong> aparecer parabéns seu freeradius está funcionando. Através do comando debug você consegue acompanhar as ações que o freeradius irá fazer, ótimo para estudos e entendimento. Para encerrar o modo debig use Crtl+c, e então inicie o serviço de forma normal.</p>
<pre class="remontti-code"># systemctl start freeradius</pre>
<p>Para <strong>integrar</strong> seu servidor freeradius para fazer autenticações PPPoE, Hotspot, Wireless PSK/EAP entre outras, você precisa aprender mais sobre as <strong>tabelas</strong> do <strong>banco de dados</strong> e quais <strong>atributos</strong> usar em cada situação sempre pensando na segurança. Você pode acessar <a href="https://blog.remontti.com.br/4085" rel="noopener noreferrer" target="_blank">https://blog.remontti.com.br/4085</a> onde irá encontra alguns modelos de autenticação que atente praticamente todos os cenários de provedores. </p>
<p>Gostou? Quer me ajudar? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Participe do canal no <a href="https://t.me/blogremontti" rel="noopener noreferrer" target="_blank">telegram</a> para ficar atualizado sempre que publicar um novo tutorial. </p>
<p>Abraço!</p>
<p><strong>Resolução de problema:</strong></p>
<p>Se seu login conter @ no entanto não terminar como domínio padrão exemplo user@dom.xxx.yy user@dom.xxx, e sim apenas user@dom edite:</p>
<pre class="remontti-code"># vim /etc/freeradius/3.0/policy.d/filter</pre>
<p>Altere para accept o seguinte filtro:</p>
<pre class="remontti-code">
        if ((&amp;User-Name =~ /@/) &amp;&amp; (&amp;User-Name !~ /@(.+)\.(.+)$/))  {
            update request {
                &amp;Module-Failure-Message += &#039;Rejected: Realm does not have at least one dot separator&#039;
            }
            #reject
            accept
        }
</pre>
<p>Fonte:<br />
<a href="https://wiki.freeradius.org/guide/SQL-HOWTO" rel="noopener noreferrer" target="_blank">https://wiki.freeradius.org/guide/SQL-HOWTO</a><br />
<a href="https://wiki.freeradius.org/modules/Rlm_sql" rel="noopener noreferrer" target="_blank">https://wiki.freeradius.org/modules/Rlm_sql</a><br />
<a href="https://wiki.freeradius.org/modules/Rlm_sqlippool" rel="noopener noreferrer" target="_blank">https://wiki.freeradius.org/modules/Rlm_sqlippool</a></p>
<p>O post <a href="https://blog.remontti.com.br/7784">Instalação FreeRadius no Debian 12 Bookworm (Extra sqlippool)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7784/feed</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Automatizando o bloqueio de sites no Brasil pelo DNS usando a API da anablock.net.br (BIND9+RPZ)</title>
		<link>https://blog.remontti.com.br/7759</link>
					<comments>https://blog.remontti.com.br/7759#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Mon, 22 Jan 2024 17:58:23 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Anablock]]></category>
		<category><![CDATA[Anatel]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[Bloqueio de Domínios]]></category>
		<category><![CDATA[Certificado SSL]]></category>
		<category><![CDATA[Configuração de DNS]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Domínios Bloqueados]]></category>
		<category><![CDATA[Página de Bloqueio]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[rpz]]></category>
		<category><![CDATA[servidor dns]]></category>
		<category><![CDATA[Servidor WEB]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Zona de Política de Resposta DNS.]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7759</guid>

					<description><![CDATA[<p>Neste tutorial, abordaremos a configuração de uma Zona de Política de Resposta DNS (RPZ) com o objetivo de simplificar a resolução de nomes alterados, especialmente quando lidamos com escalas substanciais. Nosso objetivo é bloquear&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7759">Automatizando o bloqueio de sites no Brasil pelo DNS usando a API da anablock.net.br (BIND9+RPZ)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/01/brasil-anatel-bloquei-site-anablock.png" alt="" width="1787" height="1024" class="alignnone size-full wp-image-7770" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/01/brasil-anatel-bloquei-site-anablock.png 1787w, https://blog.remontti.com.br/wp-content/uploads/2024/01/brasil-anatel-bloquei-site-anablock-300x172.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/01/brasil-anatel-bloquei-site-anablock-1024x587.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/01/brasil-anatel-bloquei-site-anablock-768x440.png 768w, https://blog.remontti.com.br/wp-content/uploads/2024/01/brasil-anatel-bloquei-site-anablock-1536x880.png 1536w" sizes="auto, (max-width: 1787px) 100vw, 1787px" /></p>
<p>Neste tutorial, abordaremos a configuração de uma Zona de Política de Resposta DNS (RPZ) com o objetivo de simplificar a resolução de nomes alterados, especialmente quando lidamos com escalas substanciais. Nosso objetivo é bloquear milhares de domínios de forma eficiente, minimizando o consumo de recursos de hardware em nosso servidor.</p>
<p>Não abordarei a instalação do BIND neste momento, pois já disponibilizamos um tutorial completo em nosso blog, que pode ser acessado através do seguinte link:<br />
<a href="https://blog.remontti.com.br/5958" rel="noopener" target="_blank">Servidor DNS Bind9 (Debian 12)</a>. </p>
<p>Para configurar sempre que um domínio bloqueado for resolvido pelo seu DNS em um IP da sua rede, você precisará criar um subdomínio no seu servidor DNS autoritativo. No arquivo de configuração dos seus hosts irei criar um subdomínio chamado bloqueadonobrasil, vejamos um exemplo: </p>
<pre class="remontti-code"># vim /var/cache/bind/master-aut/remontti.com.br/remontti.com.br.hosts</pre>
<p>Exemplo &#8220;<strong>bloqueadonobrasil</strong>&#8220;, ou então apontando para os IPs de localhost mesmo 127.0.0.1 e ::1 onde neste caso se o usuário acessar o domínio bloqueado simplesmente não irá abrir nada.</p>
<pre class="remontti-code-plain">//...
bloqueadonobrasil       A       x.xx.xxx.x
                        AAAA    xxxx:xxxx:xxxx::y
//...</pre>
<h4>DNS PRIMÁRIO (MASTER)</h4>
<p>Agora crie uma zona chamada <strong>rpz.zone</strong> em seu /etc/bind/named.conf.local. em <strong>allow-transfer</strong> e <strong>also-notify</strong> informe os IPs de seus servidores Slaves.</p>
<pre class="remontti-code"># vim /etc/bind/named.conf.local</pre>
<pre class="remontti-code-plain">zone &quot;rpz.zone&quot; {
        type master;
        file &quot;/var/cache/bind/rpz/db.rpz.zone.hosts&quot;;
        allow-query { none; };
        allow-transfer { 10.51.51.3; };
        also-notify { 10.51.51.3; };
};
</pre>
<p>Vamos criar o diretório &#8220;rpz&#8221; e os arquivos de hosts que serão bloqueados.</p>
<pre class="remontti-code"># mkdir /var/cache/bind/rpz/</pre>
<p>Criarei um atalho em /etc/bind para facilitar o acesso da pastar também.</p>
<pre class="remontti-code"># ln -s /var/cache/bind/rpz/ /etc/bind/rpz</pre>
<p>Entendendo como os domínios são bloqueados. A seguir, apresentamos um exemplo do arquivo que servirá como base para o nosso próximo script a seguir:<br />
Nome do arquivo: <strong>/var/cache/bind/rpz/db.rpz.zone.hosts</strong></p>
<pre class="remontti-code-plain">$TTL 1H
@       IN      SOA LOCALHOST. bloqueadonobrasil.remontti.com.br. (
                2024012201      ; Serial  
                1h              ; Refresh
                15m             ; Retry
                30d             ; Expire 
                2h              ; Negative Cache TTL
        )
        NS  bloqueadonobrasil.remontti.com.br.
;       ou
;       NS  localhost.
 
sitequeprecisabloquear.com     IN CNAME .
*.sitequeprecisabloquear.com   IN CNAME .
elesmandamnosfaz.bo.bo         IN CNAME .
*.elesmandamnosfaz.bo.bo       IN CNAME .</pre>
<p>Sendo que para cada domínio que será bloqueado, o mesmo será adicionado:</p>
<pre class="remontti-code-plain">
sitequeprecisabloquear.com        IN CNAME .
*.sitequeprecisabloquear.com      IN CNAME .</pre>
<p>Assim qualquer subdomínio (*).domino.com seja traduzido sempre irá ser apontado para seu IP ou localhost.</p>
<p>Antes de criar o script, ajuste o response-policy dentro do seu <strong>/etc/bind/named.conf.options</strong></p>
<pre class="remontti-code"># vim /etc/bind/named.conf.options</pre>
<p>Deve ficar dentro de <strong>options { &#8230; }</strong> adcione: </p>
<pre class="remontti-code-plain">options {
//...
    response-policy {
      zone &quot;rpz.zone&quot; policy CNAME bloqueadonobrasil.remontti.com.br;
    };
//...</pre>
<p>Ou se você irá apontar para localhost use:</p>
<pre class="remontti-code-plain">options {
//...
    response-policy {
      zone &quot;rpz.zone&quot; policy CNAME localhost;
    };
//...</pre>
<h4>Script AnaBlock</h4>
<p>Para simplificar nossa tarefa, criaremos um script que utiliza o site <a href="https://anablock.net.br" rel="noopener" target="_blank"><strong>https://anablock.net.br</strong></a>, uma plataforma desenvolvida por <a href="http://www.patrickbrandao.com" rel="noopener" target="_blank"><strong>Patrick Brandão</strong></a> da <a href="https://www.nuva.com.br" rel="noopener" target="_blank"><strong>Nuva</strong></a>. Ele projetou uma página abrangente que oferece todas as informações necessárias para acompanhar os bloqueios de conteúdo regulados pela Anatel e pelas autoridades da República Federativa do Brasil.</p>
<p>Porém ANATEL solicitou a remoção dessa lista:<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/01/ana.png" alt="" width="903" height="528" class="alignnone size-full wp-image-7983" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/01/ana.png 903w, https://blog.remontti.com.br/wp-content/uploads/2024/01/ana-300x175.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/01/ana-768x449.png 768w" sizes="auto, (max-width: 903px) 100vw, 903px" /></p>
<p>Para liberação da lista você deve entrar em contato com <a href="http://www.patrickbrandao.com/?#contact" rel="noopener" target="_blank"><strong>Patrick Brandão</strong></a></p>
<p>Crie um diretório onde iremos salvar nosso script: </p>
<pre class="remontti-code"># mkdir /etc/bind/scripts</pre>
<p>Subi meu script no <a href="https://github.com/remontti/anablock_bind9" rel="noopener" target="_blank">Github</a>, mas iremos entrar na nossa pasta /etc/bind/scripts e baixar ele direto para nosso servidor.</p>
<pre class="remontti-code"># cd /etc/bind/scripts
# wget https://raw.githubusercontent.com/remontti/anablock_bind9/main/anablock_bind9.py</pre>
<p>Esse scrip ira verificar verificar qual sua <strong><a href="https://api.anablock.net.br/api/version" rel="noopener" target="_blank">versão</a></strong> e sempre que existir uma nova ou se for sua primeira vez ele irá baixar a <strong><a href="https://api.anablock.net.br/api/domain/all" rel="noopener" target="_blank">lista de todos os domínios</a></strong> e cria o arquivo <strong>db.rpz.zone.hosts</strong> com a lista completa de siste que serão bloqueados pelo seu DNS.</p>
<p>Script foi feito em python3 instale os pacotes necessários para executa-lo.</p>
<pre class="remontti-code"># apt install python3 python3-requests tree</pre>
<p>Execute o script:</p>
<pre class="remontti-code"># python3 /etc/bind/scripts/anablock_bind9.py bloqueadonobrasil.remontti.com.br</pre>
<pre class="remontti-code-plain">Arquivo de zona RPZ atualizado.
Permissões do diretório alteradas com sucesso.
Serviço Bind9 reiniciado com sucesso.</pre>
<pre class="remontti-code"># tree -h /var/cache/bind/rpz/</pre>
<p>Seu diretório terá os seguintes arquivos</p>
<pre class="remontti-code-plain">/var/cache/bind/rpz/
├── [159K]  db.rpz.zone.hosts
├── [ 46K]  domain_all
└── [  11]  version</pre>
<p>Se você executar o script novamente nada irá acontecer até que uma nova versão seja lancada.</p>
<p>Para que tenhamos nossa lista sempre atualizada, colocamos o script para ser executado todos os dias a meia noite.</p>
<pre class="remontti-code"># echo &#039;00 00   * * *   root    python3 /etc/bind/scripts/anablock_bind9.py bloqueadonobrasil.remontti.com.br&#039;\ &gt;&gt; /etc/crontab
# systemctl restart cron</pre>
<h3>Testes</h3>
<p>Agora faça um teste para ver o que seu servidor ira traduzir corretamente:</p>
<pre class="remontti-code"># dig 2filmestorrent.top @localhost</pre>
<pre class="remontti-code-plain">; &lt;&lt;&gt;&gt; DiG 9.11.5-P4-5.1+deb10u9-Debian &lt;&lt;&gt;&gt; 2filmestorrent.top @localhost
;; global options: +cmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 42124
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: be484fb71dfe219dd9e6544465ae7d4b7e142ef750ed0d80 (good)
;; QUESTION SECTION:
;2filmestorrent.top.		IN	A

;; ANSWER SECTION:
2filmestorrent.top.	5	IN	CNAME	bloqueadonobrasil.remontti.com.br.
bloqueadonobrasil.remontti.com.br. 10800	IN A	x.x.x.x

;; Query time: 479 msec
;; SERVER: ::1#53(::1)
;; WHEN: seg jan 22 11:35:55 -03 2024
;; MSG SIZE  rcvd: 137
</pre>
<h4>DNS SECUNDÁRIO's (SLAVE's)</h4>
<p>Agora crie uma entrada zona chamada <strong>rpz.zone</strong> em seu /etc/bind/named.conf.local. em <strong>masters</strong> e <strong>also-notify</strong> informe os IPs de seus servidores Master.</p>
<pre class="remontti-code"># vim /etc/bind/named.conf.local</pre>
<pre class="remontti-code-plain">zone &quot;rpz.zone&quot; {
    type slave;
    file &quot;/var/cache/bind/rpz/db.rpz.zone.hosts&quot;;
    masters { 10.51.51.2; };
    allow-notify { 10.51.51.2; };
};</pre>
<p>Configure o <strong>response-policy</strong></p>
<pre class="remontti-code"># vim /etc/bind/named.conf.options</pre>
<p>Deve ficar dentro de <strong>options { ... }</strong> adcione: </p>
<pre class="remontti-code-plain">options {
//...
    response-policy {
      zone &quot;rpz.zone&quot; policy CNAME bloqueadonobrasil.remontti.com.br;
      // ou
      // zone &quot;rpz.zone&quot; policy CNAME localhost;
      // 
    };
//...</pre>
<p>Crie o diretório, de permissão, e reinicie o bind.</p>
<pre class="remontti-code"># mkdir /var/cache/bind/rpz/
# chown bind: /var/cache/bind/rpz/ -R
# systemctl restart bind9</pre>
<p>Arquivo db.rpz.zone.hosts será criado dentro de /var/cache/bind/rpz/</p>
<pre class="remontti-code"># tree /var/cache/bind/rpz/</pre>
<pre class="remontti-code-plain">/var/cache/bind/rpz/
└── db.rpz.zone.hosts</pre>
<h3>Configurando uma Página de Bloqueio em Seu Servidor Web</h3>
<p>Vou deixar exemplo com fazer isso em um <strong>Apache</strong>.Crie o diretório onde iremos criar nossa página:</p>
<pre class="remontti-code"># mkdir /var/www/bloqueadonobrasil</pre>
<h4>Apache</h4>
<p>Crie o arquivo de configuração do apache.</p>
<pre class="remontti-code"># vim /etc/apache2/sites-available/bloqueadonobrasil.conf</pre>
<pre class="remontti-code-plain">&lt;virtualhost *:80&gt;
        Protocols h2 http/1.1
        ServerName bloqueadonobrasil.remontti.net.br
        ServerAlias x.xxx.xxx.x
        ServerAlias [xxxx:xxxx:xxxx:xxxx::x]

        ServerAdmin noc@remontti.com.br

        ErrorDocument 404 /index.php
 
        DocumentRoot /var/www/bloqueadonobrasil
 
        &lt;Directory /var/www/bloqueadonobrasil/&gt;
            Options FollowSymLinks
            AllowOverride All
            # Restringe o acesso apenas para os IPs do seu ISP
            Require ip 127.0.0.1 ::1 100.64.0.0/10 x.xx.xxx.x/22 xxxx:xxxx::/32
        &lt;/Directory&gt;
 
        LogLevel warn 
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
&lt;/virtualhost&gt;</pre>
<p>Habilite a configuração e reinicie o Apache</p>
<pre class="remontti-code"># a2ensite bloqueadonobrasil.conf
# systemctl restart apache2</pre>
<p>Instale o certbot para gerar um certificado ssl para o domínio</p>
<pre class="remontti-code"># apt install certbot python3-certbot-apache</pre>
<p>Execute:</p>
<pre class="remontti-code"># certbot</pre>
<p>Selecione seu domínio, e em sguinda reponda com <strong>No redirect</strong></p>
<pre class="remontti-code-plain">Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: remontti.com.br
2: bloqueadonobrasil.remontti.com.br

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter &#039;c&#039; to cancel): 2 &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for bloqueadonobrasil.remontti.com.br
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/bloqueadonobrasil-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/bloqueadonobrasil-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/bloqueadonobrasil-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you&#039;re confident your site works on HTTPS. You can undo this
change by editing your web server&#039;s configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press &#039;c&#039; to cancel): 1 &lt;&lt;&lt;&lt;&lt;</pre>
<p>Agora vou deixar um exemplo de página para ajudar você:</p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/01/anablock-page.png" alt="" width="1513" height="744" class="alignnone size-full wp-image-7765" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/01/anablock-page.png 1513w, https://blog.remontti.com.br/wp-content/uploads/2024/01/anablock-page-300x148.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/01/anablock-page-1024x504.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/01/anablock-page-768x378.png 768w" sizes="auto, (max-width: 1513px) 100vw, 1513px" /></p>
<p>Vamos excluir o diretório que foi criado, já que estou prestes a baixar minha página, que, ao ser descompactada, conterá o mesmo nome.</p>
<pre class="remontti-code"># rm -rf /var/www/bloqueadonobrasil/
# cd /var/www/
# wget https://github.com/remontti/anablock_bind9/raw/main/bloqueadonobrasil.tar.gz
# tar -vxzf bloqueadonobrasil.tar.gz
# rm bloqueadonobrasil.tar.gz</pre>
<p><strong>Gostou? Se quiser apoiar o blog e fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p>O post <a href="https://blog.remontti.com.br/7759">Automatizando o bloqueio de sites no Brasil pelo DNS usando a API da anablock.net.br (BIND9+RPZ)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7759/feed</wfw:commentRss>
			<slash:comments>22</slash:comments>
		
		
			</item>
		<item>
		<title>Guia Passo a Passo para Instalar o Typebot em seu servidor próprio</title>
		<link>https://blog.remontti.com.br/7656</link>
					<comments>https://blog.remontti.com.br/7656#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Fri, 22 Sep 2023 15:32:29 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[automação]]></category>
		<category><![CDATA[banco de dados]]></category>
		<category><![CDATA[bookworm]]></category>
		<category><![CDATA[Certbot]]></category>
		<category><![CDATA[Chatbot]]></category>
		<category><![CDATA[Configuração]]></category>
		<category><![CDATA[Debian 12]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[instalaçao]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[Node.js]]></category>
		<category><![CDATA[passo a passo]]></category>
		<category><![CDATA[PM2]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[Prisma]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Servidor]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Typebot]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7656</guid>

					<description><![CDATA[<p>O Typebot é uma ferramenta de código aberto que permite criar aplicativos ou formulários conversacionais de forma simples e eficaz. Ele oferece uma alternativa robusta a outras plataformas como o Landbot. Com o Typebot,&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7656">Guia Passo a Passo para Instalar o Typebot em seu servidor próprio</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot.jpeg" alt="" width="1024" height="640" class="alignnone size-full wp-image-7666" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot.jpeg 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot-300x188.jpeg 300w, https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot-768x480.jpeg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p>O <a href="https://typebot.io" rel="noopener" target="_blank"><strong>Typebot</strong></a> é uma ferramenta de código aberto que permite criar aplicativos ou formulários conversacionais de forma simples e eficaz. Ele oferece uma alternativa robusta a outras plataformas como o Landbot. Com o Typebot, você pode criar diferentes tipos de aplicativos conversacionais, como:</p>
<p>&#8211; Qualificação de leads<br />
&#8211; Lançamento de produtos<br />
&#8211; Integração de usuários<br />
&#8211; Suporte ao cliente</p>
<p>O Typebot é amado por equipes e criadores em todo o mundo e oferece uma experiência de construção fácil. Você pode arrastar e soltar blocos para criar seu aplicativo e integrá-lo facilmente em qualquer plataforma. Além disso, ele permite coletar resultados em tempo real, o que é uma grande vantagem.</p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/09/builder-screenshot-scaled.webp" alt="" width="2560" height="1465" class="alignnone size-full wp-image-7664" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/09/builder-screenshot-scaled.webp 2560w, https://blog.remontti.com.br/wp-content/uploads/2023/09/builder-screenshot-300x172.webp 300w, https://blog.remontti.com.br/wp-content/uploads/2023/09/builder-screenshot-1024x586.webp 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/09/builder-screenshot-768x439.webp 768w, https://blog.remontti.com.br/wp-content/uploads/2023/09/builder-screenshot-1536x879.webp 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/09/builder-screenshot-2048x1172.webp 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></p>
<h4>Exemplos de Uso</h4>
<p><strong>&#8211; Coleta de Informações de Contato:</strong> Substitua seus formulários tradicionais por um chatbot que pode coletar nomes, e-mails e outros detalhes de forma interativa.<br />
<strong>&#8211; Suporte ao Cliente:</strong> Use o Typebot para responder automaticamente a perguntas frequentes e fornecer suporte em tempo real.<br />
<strong>&#8211; Integração de Usuários:</strong> Facilite o processo de integração, fornecendo aos novos usuários um guia passo a passo interativo.<br />
&#8211; Campanhas de Marketing: Utilize o Typebot em suas landing pages para aumentar as taxas de conversão e engajamento.<br />
<strong>&#8211; Pesquisas e Feedback:</strong> Colete feedback do usuário ou conduza pesquisas de forma mais envolvente e interativa.</p>
<h4>Requesitos</h4>
<p><a href="https://blog.remontti.com.br/7236" rel="noopener" target="_blank">Debian 12 bookworm (Instalação Limpa)</a></p>
<h4>DNS</h4>
<p>Crie duas entradas em seu DNS exemplo:<br />
&#8211; typebot.remontti.cum.br apontando para os IPs do servidor<br />
&#8211; typebotapi.remontti.cum.br apontando para os IPs do servidor</p>
<p>Se você<a href="https://blog.remontti.com.br/5958" rel="noopener" target="_blank"> já é da turma do blog</a> vai entender o que temos a baixo la no amigo bind9:</p>
<pre class="remontti-code-plain">typebot       A       192.168.0.100
              AAAA    2001:db8:bebe:cafe::100

typebotapi    A       192.168.0.100
              AAAA    2001:db8:bebe:cafe::100</pre>
<h4>Atualização e Instalação de Pacotes</h4>
<pre class="remontti-code"># apt update; apt upgrade -y</pre>
<p>Instale os pacotes necessários para o projeto</p>
<pre class="remontti-code"># apt install -y nodejs npm git nginx postgresql postgresql-contrib</pre>
<p>Instala globalmente os pacotes pm2 e pnpm usando npm</p>
<pre class="remontti-code"># npm install -g pm2 pnpm</pre>
<h4>Configuração do PostgreSQL</h4>
<p>Alterne para o usuário postgres</p>
<pre class="remontti-code"># su - postgres</pre>
<p>Crie um novo usuário chamado &#8216;typebot&#8217; em seguida inserira uma senha.</p>
<pre class="remontti-code">$ createuser --pwprompt typebot</pre>
<p>Crie um novo banco de dados &#8216;typebot&#8217; e define &#8216;typebot&#8217; como o proprietário</p>
<pre class="remontti-code">$ createdb -O typebot typebot</pre>
<p>Sai do usuário postgres</p>
<pre class="remontti-code">$ exit</pre>
<h4>Preparando formas de autenticação</h4>
<p>Vou deixar 3 formas que são as mais fáceis, você pode optar em usar apenas uma.</p>
<h4>Email</h4>
<p>A mais fácil de todas, basta você utilizar um email, assim toda vez que você for logar ele ira lhe mandar um e-mail com o link. </p>
<h4>Google</h4>
<p>Crie um novo projeto em <a href="https://console.developers.google.com/apis/credentials" rel="noopener" target="_blank">https://console.developers.google.com/apis/credentials</a></p>
<pre class="remontti-code-plain">
Cria um novo projeto
&gt; OAuth consent screen
	&gt; externo 
	Nome: Typebot
	User support email: seu!
	Developer contact information: seu!
	 SAVE

	 ADD OR REMOVE SCOPES
	   	.../auth/userinfo.email
	   	.../auth/userinfo.profile
	   	 SAVE

	   	 SAVE

	   	 BACK TO DASH
&gt; Credentials 
	+ CREATE CREDENTALS
	  &gt; Create OAuth client ID 
		Application type: Web application
		Name: Typebot

		Authorized redirect URIs
		https://typebot.remontti.cum.br/api/auth/callback/google

	Client ID
	Anote

	Client secret
	Anote</pre>
<p>Será usado em:</p>
<pre class="remontti-code-plain">GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=</pre>
<h4>Github</h4>
<p>Acesse <a href="https://github.com/settings/developers" rel="noopener" target="_blank">https://github.com/settings/developers</a> e clique em <strong>New OAuth Apps</strong></p>
<pre class="remontti-code-plain">Application name: Typebot
Homepage URL: https://typebot.remontti.cum.br
Application description: Typebot Auth
Authorization callback URL: https://typebot.remontti.cum.br/api/auth/callback/github</pre>
<p>Anote o <strong>Client ID</strong> e clique em <strong>Generate a new client secret</strong> anote os dois para ser usado em </p>
<pre class="remontti-code-plain">GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=</pre>
<h4>Configuração do Projeto Typebot no Servidor</h4>
<p>Vamos armazenar o projeto mo diretório /opt. </p>
<pre class="remontti-code"># cd /opt/
# git clone https://github.com/baptisteArno/typebot.io.git</pre>
<p>Entre no diretório do projeto<br />
cd typebot.io</p>
<p>Crie arquivo <strong>.env</strong> onde irá ficar as <a href="https://docs.typebot.io/self-hosting/configuration" rel="noopener" target="_blank">variáveis de ambiente</a>.</p>
<pre class="remontti-code"># vim /opt/typebot.io/.env</pre>
<p>Faça os ajustes:</p>
<pre class="remontti-code-plain"># Define a chave de criptografia (Gere aqui https://senhasegura.remontti.cum.br/)
ENCRYPTION_SECRET=i9eRecwVJQeKENqdcrQeizOXFHzQdwAp

# Define a URL de conexão com o banco de dados PostgreSQL
DATABASE_URL=postgresql://typebot:minhasupersenha@localhost:5432/typebot

# Define as URLs para autenticação e API
NEXTAUTH_URL=https://typebot.remontti.cum.br
NEXT_PUBLIC_VIEWER_URL=https://typebotapi.remontti.cum.br

# Define o e-mail do administrador
ADMIN_EMAIL=typebot@remontti.cum.br

# Define as configurações para o servidor SMTP
SMTP_USERNAME=typebot@remontti.cum.br
SMTP_PASSWORD=minhasenha
SMTP_HOST=mail.remontti.cum.br
SMTP_PORT=25
NEXT_PUBLIC_SMTP_FROM=typebot@remontti.cum.br
SMTP_SECURE=false
SMTP_AUTH_DISABLED=false

# Configurações para autenticação via Google e GitHub (opcional)
# Google
GOOGLE_CLIENT_ID=98916e5d5dd1-e3lfmixxuditlz2egexp0n8bfwf3oie3.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=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

# GitHub
GITHUB_CLIENT_ID=6ewyvfeumndg2ve5kve1
GITHUB_CLIENT_SECRET=7r78f2vpmihgriebkp7p4b0ervd4qc7ufu1uu5nx

# Permite ou desabilita o cadastro de novas contas
DISABLE_SIGNUP=false</pre>
<p>Instale todas as dependências do projeto</p>
<pre class="remontti-code"># cd /opt/typebot.io/
# pnpm install</pre>
<p>Saída:</p>
<pre class="remontti-code-plain">Scope: all 19 workspace projects
Lockfile is up to date, resolution step is skipped
Packages: +2398
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Downloading registry.npmjs.org/next/13.4.3: 12,32 MB/12,32 MB, done
[...]
[...]
[...]
devDependencies:
+ cross-env 7.0.3
+ cz-emoji 1.3.2-canary.2
+ husky 8.0.3
+ prettier 2.8.8
+ turbo 1.10.12

. prepare$ husky install
│ husky - Git hooks installed
└─ Done in 288ms
Done in 2m 12.5s</pre>
<p>Compile os aplicativos</p>
<pre class="remontti-code"># cd /opt/typebot.io/
# pnpm run build:apps</pre>
<p>Saída</p>
<pre class="remontti-code-plain">&gt; typebot-os@2.17.2 build:apps /root/typebot.io
&gt; turbo run build --filter=builder... --filter=viewer...
[...]
[...]
[...]
[...]
builder:build: ○  (Static)  automatically rendered as static HTML (uses no initial props)
builder:build: 

 Tasks:    9 successful, 9 total
Cached:    0 cached, 9 total
  Time:    5m28.928s 

⠋ ...writing to cache...  [1s] 

─────────┴──────────┴──────────┘</pre>
<p>Copie o arquivo .env para os diretórios dos aplicativos</p>
<pre class="remontti-code"># cp /opt/typebot.io/.env /opt/typebot.io/apps/builder/
# cp /opt/typebot.io/.env /opt/typebot.io/apps/viewer/</pre>
<p>Configuração e migrações do banco de dados</p>
<pre class="remontti-code"># cd /opt/typebot.io/
# pnpm prisma generate &amp;&amp; pnpm db:migrate</pre>
<p>Saída:</p>
<pre class="remontti-code-plain">Environment variables loaded from .env
prisma:warn We could not find your Prisma schema at `prisma/schema.prisma`.
If you have a Prisma schema file in a custom path, you will need to run
`prisma generate --schema=./path/to/your/schema.prisma` to generate Prisma Client.
If you do not have a Prisma schema file yet, you can ignore this message.


&gt; typebot-os@2.17.2 db:migrate /opt/typebot.io
&gt; cd packages/prisma &amp;&amp; pnpm run db:migrate


&gt; @typebot.io/prisma@0.1.0 db:migrate /opt/typebot.io/packages/prisma
&gt; pnpm migrate:deploy


&gt; @typebot.io/prisma@0.1.0 migrate:deploy /opt/typebot.io/packages/prisma
&gt; dotenv -e ./.env -e ../../.env -- tsx scripts/migrate-deploy.ts

Executing for PostgreSQL schema
┌─────────────────────────────────────────────────────────┐
│  Update available 5.0.0 -&gt; 5.3.1                        │
│  Run the following to update                            │
│    npm i --save-dev prisma@latest                       │
│    npm i @prisma/client@latest                          │
└─────────────────────────────────────────────────────────┘</pre>
<p>Inicia os aplicativos com o PM2</p>
<pre class="remontti-code"># pm2 start --name=typebotwww --cwd /opt/typebot.io/apps/builder/ &quot;pnpm -- next start -p 54001&quot;
# pm2 start --name=typebotapi --cwd /opt/typebot.io/apps/viewer/ &quot;pnpm -- next start -p 54002&quot;</pre>
<pre class="remontti-code-plain">┌────┬───────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name          │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
├────┼───────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 1  │ typebotapi    │ default     │ N/A     │ fork    │ 819      │ 0s     │ 0    │ online    │ 0%       │ 10.8mb   │ root     │ disabled │
│ 0  │ typebotwww    │ default     │ N/A     │ fork    │ 760      │ 19s    │ 0    │ online    │ 0%       │ 97.2mb   │ root     │ disabled │
└────┴───────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘</pre>
<p>Salva a configuração atual do PM2 e configura para iniciar com o sistema</p>
<pre class="remontti-code"># pm2 save
# pm2 startup</pre>
<h5>Configuração do Nginx</h5>
<p>Cria os arquivos de configuração do Nginx para os subdomínios</p>
<pre class="remontti-code"># vim /etc/nginx/sites-available/typebot.remontti.cum.br.conf</pre>
<pre class="remontti-code-plain">
server {
    listen 80;
    listen [::]:80;
 
    server_name typebot.remontti.cum.br;

    location / {
        proxy_pass http://localhost:54001;
        proxy_set_header Host $host;
    }
}

</pre>
<pre class="remontti-code"># vim /etc/nginx/sites-available/typebotapi.remontti.cum.br.conf</pre>
<pre class="remontti-code-plain">
server {
    listen 80;
    listen [::]:80;
 
    server_name typebotapi.remontti.cum.br;
 
    location / {
        proxy_pass http://localhost:54002;
        proxy_set_header Host $host;
    }
}
</pre>
<p>Ativa os sites no Nginx</p>
<pre class="remontti-code"># ln -s /etc/nginx/sites-available/typebot.remontti.cum.br.conf /etc/nginx/sites-enabled/
# ln -s /etc/nginx/sites-available/typebotapi.remontti.cum.br.conf /etc/nginx/sites-enabled/
# rm /etc/nginx/sites-enabled/default</pre>
<p>Verifica a sintaxe e reinicia o Nginx</p>
<pre class="remontti-code"># nginx -t
# systemctl restart nginx</pre>
<h5>Configuração do Certbot/Let&#8217;s Encrypt para HTTPS</h5>
<p>Instala o Certbot e o plugin do Nginx</p>
<pre class="remontti-code"># apt install certbot python3-certbot-nginx</pre>
<p>Executa o Certbot para obter os certificados SSL</p>
<pre class="remontti-code">certbot</pre>
<p>Responda: </p>
<pre class="remontti-code-plain">Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
 (Enter &#039;c&#039; to cancel): noc@remontti.cum.br

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y &lt;&lt;&lt;&lt;&lt;

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let&#039;s Encrypt project and the non-profit organization that
develops Certbot? We&#039;d like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N &lt;&lt;&lt;&lt;
Account registered.

Which names would you like to activate HTTPS for?
We recommend selecting either all domains, or all domains in a VirtualHost/server block.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: typebotapi.remontti.cum.br
2: typebot.remontti.cum.br
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter &#039;c&#039; to cancel):  &lt;&lt;&lt;&lt;
Requesting a certificate for typebotapi.remontti.cum.br and typebot.remontti.cum.br

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/typebotapi.remontti.cum.br/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/typebotapi.remontti.cum.br/privkey.pem
This certificate expires on 2023-12-20.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for typebotapi.remontti.cum.br to /etc/nginx/sites-enabled/typebotapi.remontti.cum.br.conf
Successfully deployed certificate for typebot.remontti.cum.br to /etc/nginx/sites-enabled/typebot.remontti.cum.br.conf
Congratulations! You have successfully enabled HTTPS on https://typebotapi.remontti.cum.br and https://typebot.remontti.cum.br

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let&#039;s Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</pre>
<h5>Configuração do Cron para Renovação Automática do Certificado SSL.</h5>
<p>Adicione uma tarefa cron para renovar automaticamente o certificado SSL todo dia 1 de cada mês à meia-noite, e reinicie o cron.</p>
<pre class="remontti-code"># echo &#039;00 00   1 * *   root    /usr/bin/certbot renew -q&#039; &gt;&gt; /etc/crontab
# systemctl restart cron.service</pre>
<h5>Acessando a aplicação</h5>
<p>Abra seu navegador e acesse: https://typebot.remontti.cum.br<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.cum.br/wp-content/uploads/2023/09/typebot-remontti.png" alt="" width="900" height="403" class="alignnone size-full wp-image-7661" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot-remontti.png 900w, https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot-remontti-300x134.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot-remontti-768x344.png 768w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<p>Clique em <strong>Registre-se gratuitamente</strong><br />
Escolha a forma desejada.</p>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2757.png" alt="❗" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2757.png" alt="❗" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2757.png" alt="❗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </h4>
<p>Os registros <strong>ficam aberto</strong>, então registre toda sua equipe e em seguida desativa a possibilidade de novos registros nos arquivos .env (<strong>DISABLE_SIGNUP=true</strong>)<br />
Com o comando sed</p>
<pre class="remontti-code"># sed -i &#039;s/DISABLE_SIGNUP=false/DISABLE_SIGNUP=true/&#039; /opt/typebot.io/.env
# sed -i &#039;s/DISABLE_SIGNUP=false/DISABLE_SIGNUP=true/&#039; /opt/typebot.io/apps/viewer/.env
# sed -i &#039;s/DISABLE_SIGNUP=false/DISABLE_SIGNUP=true/&#039; /opt/typebot.io/apps/builder/.env</pre>
<p>Reinicie o pm2 </p>
<pre class="remontti-code"># systemctl restart pm2-root.service</pre>
<p>Se deseja realizar novos cadastros basta alterar <strong>DISABLE_SIGNUP=true</strong> para <strong>DISABLE_SIGNUP=false</strong> e reiniciar novamente.</p>
<pre class="remontti-code"># sed -i &#039;s/DISABLE_SIGNUP=true/DISABLE_SIGNUP=false/&#039; /opt/typebot.io/.env
# sed -i &#039;s/DISABLE_SIGNUP=true/DISABLE_SIGNUP=false/&#039; /opt/typebot.io/apps/viewer/.env
# sed -i &#039;s/DISABLE_SIGNUP=true/DISABLE_SIGNUP=false/&#039; /opt/typebot.io/apps/builder/.env</pre>
<p>Reinicie o pm2 </p>
<pre class="remontti-code"># systemctl restart pm2-root.service</pre>
<p>Se desejar fazer alterações faça os arquivos:</p>
<pre class="remontti-code-plain">/opt/typebot.io/.env
/opt/typebot.io/apps/viewer/.env
/opt/typebot.io/apps/builder/.env</pre>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.cum.br/wp-content/uploads/2023/09/typebot-remontti-1.png" alt="" width="1050" height="411" class="alignnone size-full wp-image-7662" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot-remontti-1.png 1050w, https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot-remontti-1-300x117.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot-remontti-1-1024x401.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot-remontti-1-768x301.png 768w" sizes="auto, (max-width: 1050px) 100vw, 1050px" /></p>
<p>A parte mais complicada está feita!<br />
Existe vários videos no <a href="https://www.youtube.com/results?search_query=typebot" rel="noopener" target="_blank">YouTube</a> sobre como mexer nessa criança. Inclusive no <a href="https://www.youtube.com/@typebot4666" rel="noopener" target="_blank">canal oficial </a>dos desenvolvedores. <em>Dica ative a legenda e selecione traduzir!</em></p>
<p><iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/jp3ggg_42-M?si=xPi09hAm6AqyZfcU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></p>
<p>Gostou e quer me ajudar manter o blog sem a inconveniência de anúncios intrusivos ou a imposição de taxas? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.cum.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.cum.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p><strong>Fonte:</strong><br />
<a href="https://docs.typebot.io/" rel="noopener" target="_blank">https://docs.typebot.io/</a></p>
<p>O post <a href="https://blog.remontti.com.br/7656">Guia Passo a Passo para Instalar o Typebot em seu servidor próprio</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7656/feed</wfw:commentRss>
			<slash:comments>17</slash:comments>
		
		
			</item>
		<item>
		<title>Guia passo a passo: Instalando NFDUMP, NFSEN e NFSEN-NG para Análise de Fluxo de Rede no Debian 12 Bookworm</title>
		<link>https://blog.remontti.com.br/7610</link>
					<comments>https://blog.remontti.com.br/7610#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Tue, 11 Jul 2023 22:13:53 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Administração de Rede]]></category>
		<category><![CDATA[Análise]]></category>
		<category><![CDATA[Análise de Segurança]]></category>
		<category><![CDATA[Análise de Tráfego]]></category>
		<category><![CDATA[bookworm]]></category>
		<category><![CDATA[Debian 12]]></category>
		<category><![CDATA[Debian 12 Bookworm]]></category>
		<category><![CDATA[Debian12]]></category>
		<category><![CDATA[Ferramentas de Análise]]></category>
		<category><![CDATA[Ferramentas de Rede]]></category>
		<category><![CDATA[Fluxo de Rede]]></category>
		<category><![CDATA[Gerenciamento de Tráfego]]></category>
		<category><![CDATA[GuiaPassoAPasso]]></category>
		<category><![CDATA[instalaçao]]></category>
		<category><![CDATA[monitoramento]]></category>
		<category><![CDATA[Monitoramento de Tráfego]]></category>
		<category><![CDATA[NFDUMP]]></category>
		<category><![CDATA[NFSEN]]></category>
		<category><![CDATA[NFSEN-NG]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[software livre]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7610</guid>

					<description><![CDATA[<p>Neste tutorial você adquirirá conhecimentos e habilidades relacionadas à análise de fluxo de rede bem como a área de segurança. Você poderá examinar os dados de fluxo de rede capturados e identificar padrões, tendências&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7610">Guia passo a passo: Instalando NFDUMP, NFSEN e NFSEN-NG para Análise de Fluxo de Rede no Debian 12 Bookworm</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-nfsen-nfsen-ng-nfcap-debian-12-bokworm.jpg" alt="" width="720" height="340" class="alignnone size-full wp-image-7619" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-nfsen-nfsen-ng-nfcap-debian-12-bokworm.jpg 720w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-nfsen-nfsen-ng-nfcap-debian-12-bokworm-300x142.jpg 300w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-nfsen-nfsen-ng-nfcap-debian-12-bokworm-520x245.jpg 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /></p>
<p>Neste tutorial você adquirirá conhecimentos e habilidades relacionadas à análise de fluxo de rede bem como a área de segurança. Você poderá examinar os dados de fluxo de rede capturados e identificar padrões, tendências e anomalias no tráfego de rede. Isso pode ajudar a detectar atividades suspeitas, como ataques cibernéticos, tráfego malicioso ou congestionamentos.</p>
<h4>Distribuição Utilizada</h4>
<p><strong><a href="https://blog.remontti.com.br/7236" rel="noopener" target="_blank">Debian 12 bookworm (Instalação Limpa)</a></strong></p>
<h4>Requisitos de hardware</h4>
<p>Para o que vamos utilizar aqui não precisamos nada tão agressivo, porém o armazenamento vai depender muito de quanto tempo você for deixar salvo, em média você pode colocar 2GB a 4GB (por source) de dados por dias (mas isso é bem relativo), em questão de CPU e memoria 2 CPU e 2GB de memória já da conta, mas se puder coloca mais melhor para processar os dados.</p>
<h4>Pacotes Requeridos</h4>
<pre class="remontti-code"># apt install \
 curl wget unzip man-db tcpdump htop tree dialog git \
 build-essential autoconf pkg-config flex byacc bison \
 php php-dev apache2 libapache2-mod-php autogen \
 libtool librrd-dev libbz2-dev libpcap-dev rrdtool \
 libcurl4-openssl-dev librrds-perl libsocket6-perl \
 librrdp-perl libio-socket-inet6-perl libmailtools-perl \
 libnet-telnet-perl libnet-whois-ip-perl libnet-snmp-perl \
 libio-socket-ssl-perl libgd-perl git -y</pre>
<p>Crie o diretório onde iremos baixar nossos arquivos extras</p>
<pre class="remontti-code"># mkdir /root/nf</pre>
<h3>NFDUMP</h3>
<p><strong><a href="https://github.com/phaag/nfdump" rel="noopener" target="_blank">NFDUMP</a></strong> é um conjunto de ferramentas para coletar e processar dados netflow/ipfix e sflow, enviados de dispositivos compatíveis com netflow/sflow.</p>
<p>O conjunto de ferramentas contém vários coletores para coletar dados de fluxo:</p>
<ul>
<li>nfcapd suporta netflow v1, v5/v7, v9 e IPFIX</li>
<li>sfcapd suporta sflow.</li>
<li>nfpcapd converte dados pcap lidos de uma interface de host ou de arquivos pcap.</li>
</ul>
<p>O nfdump possui um filtro de fluxo muito poderoso para processar fluxos. A sintaxe do filtro é muito semelhante ao tcpdump, mas adaptada e estendida para filtragem de fluxo. Um filtro de fluxo também pode conter matrizes de muitos milhares de endereços IP, etc., para pesquisar registros específicos.</p>
<p>O nfdump pode agregar fluxos de acordo com um número de elementos definido pelo usuário. Isso mascara certos elementos e permite somar registros de fluxo correspondentes aos mesmos valores.</p>
<p>A combinação de filtragem e agregação de fluxo como entrada para qualquer estatística de fluxo permite processamento de fluxo complexo. Os dados de fluxo pré-filtrados e agregados também podem ser gravados de volta em um arquivo de fluxo binário, que novamente pode ser processado com nfdump</p>
<p>O nfdump pode enriquecer a listagem de fluxos com informações de localização geográfica e informações de AS, a menos que as informações de AS já estejam disponíveis nos registros de fluxo. Os endereços IP podem ser marcados com um código de país de duas letras ou com uma etiqueta de localização mais longa contendo a região geográfica, o país e a cidade. A localização geográfica e as informações AS são recuperadas do banco de dados geoDB opcional, criado pelo programa geolookup das ferramentas nfdump. geolookup usa o banco de dados Maxmind GeoDB ou GeoLite2 para criar um banco de dados de pesquisa binária para nfdump.</p>
<p><strong>Instalação:</strong><br />
O nfdump até se encontra no repositório do Debian 12 (na versão 1.7.1) como um serviço de coleta, como a ideia é mais voltada a depois utilizar o nfsen, irei baixar a ultima versão que inclusive tem alguns recursos interessantes que você pode se aprofundar posteriormente.  </p>
<pre class="remontti-code"># mkdir /root/nf
# cd /root/nf
# git clone https://github.com/phaag/nfdump.git
# cd nfdump
# ./autogen.sh</pre>
<p>Na compilação podemos ativar algumas features adicionais, para ver mais sobre use o comando:</p>
<pre class="remontti-code"># ./configure --help</pre>
<p>Estarei instalando as seguintes: (&#8211;enable-influxdb &#8211;enable-maxmind opcional)</p>
<pre class="remontti-code"># ./configure --enable-nfprofile --enable-nftrack --enable-jnat --enable-influxdb --enable-maxmind 
# make ; make install</pre>
<p>Atualize o cache das bibliotecas dinâmicas.</p>
<pre class="remontti-code"># ldconfig</pre>
<p>Iremos ter uma lista de novos binários em /usr/local/bin/</p>
<pre class="remontti-code-plain">├── geolookup
├── nfanon
├── nfcapd
├── nfdump
├── nfexpire
├── nfprofile
├── nfreplay
├── nftrack
└── updateGeoDB.sh</pre>
<p>Configure seu roteador para enviar dados de netflow para porta 2055, e com o comando a baixo vamos analisar se os mesmo estão chegando em nosso servidor e capturados pelo nfcap.</p>
<pre class="remontti-code"># nfcapd -E -p 2055 -w /tmp/</pre>
<pre class="remontti-code-plain">
Verbose log level: 3
Add flow source: ident: none, IP: any IP, flowdir: /tmp
Bound to IPv4 host/IP: any, Port: 2055
Init v1
Init v5/v7: Default sampling: 1
Init v9: Max number of v9 tags enabled: 105, default sampling: 1
Init IPFIX: Max number of ipfix tags enabled: 88, default sampling: 1
Startup nfcapd.
Process_v9: New v9 exporter: SysID: 1, Domain: 2166325505, IP: 10.10.10.255
Process_v9: New v9 exporter: SysID: 2, Domain: 18841857, IP: 10.10.10.255
^CFile Block Header: type: 3, size: 64, NumRecords: 2
Ident: &#039;none&#039; Flows: 0, Packets: 0, Bytes: 0, Sequence Errors: 0, Bad Packets: 0
Terminating nfcapd.
</pre>
<p><strong>Ctrl+C</strong> Para cancelar (Não precisa deixar em execução, deixe apenas alguns segundos para ver se esta chegando os flows)</p>
<pre class="remontti-code"># ls -lh /tmp/nfcapd.*</pre>
<p>Se tudo ocorreu bem você ira ter uma arquivo da captura com o nome nfcapd.AAAAMMDDHHMM [ANO MÊS DIA HORA MINUTO]</p>
<pre class="remontti-code-plain">-rw-r--r-- 1 root root 149K jul 11 14:54 /tmp/nfcapd.202307111450</pre>
<p>Nfdump é muito poderoso, para dar apenas uma provinha do que estamos falando testes os comandos a baixo para visualizar as saídas. O ultimo comando você vai gostar!</p>
<pre class="remontti-code"># nfdump -r /tmp/nfcapd.202307111450
# nfdump -r /tmp/nfcapd.202307111450 dst ip 8.8.8.8
# nfdump -r /tmp/nfcapd.202307111450 dst ip 8.8.8.8 and dst port 53
# nfdump -r /tmp/nfcapd.202307111500 dst port 80 or dst port 443 -s srcip/bytes
# nfdump -r /tmp/nfcapd.202307111450 -s record/bytes
# nfdump -r /tmp/nfcapd.202307111450 -s dstip/bytes
# nfdump -r /tmp/nfcapd.202307111450 -s dstas/bytes
# nfdump -r /tmp/nfcapd.202307111450 -s dstas/bytes
# nfdump -r /tmp/nfcapd.202307111450 &#039;net 200.200.200.0/22 and (dst port 80 or dst port 443)&#039; -s dstas/bytes -n 20</pre>
<p>Para mais informações de como utiliza-lo use comando <strong>man</strong> para ver o manual do nfdump.</p>
<pre class="remontti-code"># man nfdump</pre>
<p>Mas não se preocupe ainda em aprender todas as possibilidades, para isso vamos aprender agora utilizar duas ferramentar que poderão ser uteis para você. Mas ler <a href="https://blog.remontti.com.br/wp-content/uploads/2023/07/NFDUMP.txt" rel="noopener" target="_blank">esse manual</a> não vai cair o braço. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f602.png" alt="😂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<h3>NFSEN</h3>
<p>O <a href="https://github.com/phaag/nfsen" rel="noopener" target="_blank">NfSen</a> é uma ferramenta de código aberto para análise e visualização de dados de fluxo de rede. Com uma interface web intuitiva (estilo anos 90 <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f602.png" alt="😂" class="wp-smiley" style="height: 1em; max-height: 1em;" />), ele coleta registros de fluxo de diferentes dispositivos e os apresenta de forma compreensível. Além disso, oferece recursos avançados, como detecção de ataques e armazenamento de dados de fluxo histórico, tornando-o uma opção popular para monitoramento e solução de problemas em redes de grande porte.</p>
<pre class="remontti-code"># cd /root/nf
# wget https://github.com/phaag/nfsen/archive/v1.3.9.tar.gz
# tar -vxzf v1.3.9.tar.gz
# cd nfsen-1.3.9
# sed -i &#039;s/\$USER\s*=\s*&quot;netflow&quot;;/\$USER    = &quot;www-data&quot;;/&#039; etc/nfsen-dist.conf
# sed -i &#039;s/\$WWWUSER\s*=\s*&quot;www&quot;;/\$WWWUSER  = &quot;www-data&quot;;/&#039; etc/nfsen-dist.conf
# sed -i &#039;s/\$WWWGROUP\s*=\s*&quot;www&quot;;/\$WWWGROUP = &quot;www-data&quot;;/&#039; etc/nfsen-dist.conf
# sed -i &#039;s/\$HTMLDIR\s*=\s*&quot;\/var\/www\/nfsen\/&quot;;/\$HTMLDIR    = &quot;\/var\/www\/html\/nfsen\/&quot;;/&#039; etc/nfsen-dist.conf
# sed -i &#039;s/\$BUFFLEN = 200000;/\$BUFFLEN = 1073741824;/&#039; etc/nfsen-dist.conf</pre>
<p>Vamos definir nosso enviadores de fluxos (sim você pode enviar de vários locais)</p>
<pre class="remontti-code"># vim etc/nfsen-dist.conf</pre>
<p>Procure pela seguintes linhas:</p>
<pre class="remontti-code-plain">
%sources = (
    &#039;Borda&#039;        =&gt; { &#039;port&#039; =&gt; &#039;2055&#039;, &#039;col&#039; =&gt; &#039;#0D47A1&#039;, &#039;type&#039; =&gt; &#039;netflow&#039; },
    &#039;Cgnat&#039;        =&gt; { &#039;port&#039; =&gt; &#039;3055&#039;, &#039;col&#039; =&gt; &#039;#B71C1C&#039;, &#039;type&#039; =&gt; &#039;netflow&#039; },
);
</pre>
<p>No exemplo acima estarei incluindo analise do meu <strong>Cgnat</strong> para fins de investigação de problemas <strong>(Mas se prepare que os arquivos capturados serão gigantes</strong>). Vale lembrar que para <strong>cada source a porta não pode ser a mesma</strong>!</p>
<p>Caso você queira adicionar ou remover um novo source edite o arquivo <strong>/data/nfsen/etc/nfsen.conf</strong> e rode o comando <strong>/data/nfsen/bin/nfsen reconfig</strong></p>
<p>Vamos criar o diretório /data/nfsen onde ficarão nossos dados do sistema.</p>
<pre class="remontti-code"># mkdir -p /data/nfsen
# ./install.pl etc/nfsen-dist.conf</pre>
<p>De um ENTER ao perguntar:  Perl to use: [/usr/bin/perl]</p>
<pre class="remontti-code-plain">
  Check for required Perl modules: All modules found.
  Setup NfSen:
  Version: 1.3.9: install.pl 2022-12-19

  Perl to use: [/usr/bin/perl]  [ENTER]
  Setup php and html files.
  mkdir /var/www/html/nfsen/

  Copy NfSen dirs etc bin libexec plugins doc ...
  Copy config file &#039;/etc/nfsen.conf&#039;

  In directory: /data/nfsen/bin ...
  Update script: nfsen
...
...</pre>
<p>Vamos ajustar o <a href="https://www.php.net/manual/pt_BR/timezones.america.php" rel="noopener" target="_blank">timezone</a> do PHP</p>
<pre class="remontti-code"># vim /etc/php/8.2/apache2/php.ini</pre>
<p>Localize e altere: (remova &#8220;;&#8221; do início para descomentar)</p>
<pre class="remontti-code-plain">date.timezone = &#039;America/Sao_Paulo&#039;</pre>
<pre class="remontti-code"># vim /etc/php/8.2/cli/php.ini</pre>
<p>Localize e altere:</p>
<pre class="remontti-code-plain">date.timezone = &#039;America/Sao_Paulo&#039;</pre>
<p>Reinicie p apache</p>
<pre class="remontti-code"># systemctl restart apache2</pre>
<p>Agora vamos criar um serviço no systemd para nosso amigo nfsen </p>
<pre class="remontti-code"># ln -s /data/nfsen/bin/nfsen /etc/init.d/nfsen</pre>
<p>Crie o arquivo:</p>
<pre class="remontti-code"># vim /lib/systemd/system/nfsen.service</pre>
<p>Adicione:</p>
<pre class="remontti-code-plain">[Unit]
Description=nfsen
After=network-online.target

[Service]
Type=simple
#Type=oneshot
RemainAfterExit=yes
ExecStart=/data/nfsen/bin/nfsen start
ExecStop=/data/nfsen/bin/nfsen stop
ExecReload=/data/nfsen/bin/nfsen restart
 
[Install]
WantedBy=multi-user.target</pre>
<p>Recarregue o daemon e vamos por para rodar </p>
<pre class="remontti-code"># systemctl daemon-reload
# systemctl enable nfsen
# systemctl start nfsen
# systemctl status nfsen</pre>
<p>Verificar logs</p>
<pre class="remontti-code"># journalctl -u nfsen 
# journalctl -u nfsen -p err</pre>
<p>Vamos ver se as portas estão na escuta</p>
<pre class="remontti-code"># ss -putan | grep nfcapd</pre>
<pre class="remontti-code-plain">
udp   UNCONN 0      0     0.0.0.0:2055     0.0.0.0:*     users:((&quot;nfcapd&quot;,pid=20756,fd=3))
udp   UNCONN 0      0     0.0.0.0:3055     0.0.0.0:*     users:((&quot;nfcapd&quot;,pid=20752,fd=3))</pre>
<p>Se quiser testar se algo esta chegando o tcpdump pode ser uma boa escolha também.</p>
<pre class="remontti-code"># tcpdump -i enp0s3 -n udp port 2055 -T cnfp -c 10
# tcpdump -i enp0s3 -n udp port 3055 -T cnfp -c 10
</pre>
<p><strong>Vamos entender como os dados vão ser armazenados</strong><br />
Em /data/nfsen/profiles-data/live/ todos nossos sources terão uma pasta, outra pasta com ano, mes, dia. Cada arquivos criado tem um intervalo de 5 minutos. Aguarde uns 15min e rode o seguinte comando:</p>
<pre class="remontti-code"># tree /data/nfsen/profiles-data/live/</pre>
<p>Iremos ver que alguns arquivos e diretórios já foram criados. </p>
<pre class="remontti-code-plain">
├── Borda
│   ├── 2023
│   │   └── 07
│   │       └── 11
│   │           ├── nfcapd.202307111600
│   │           ├── nfcapd.202307111605
│   │           ├── nfcapd.202307111610
│   │           ├── nfcapd.202307111615
│   │           └── nfcapd.202307111620
│   └── nfcapd.current.29124
└── Cgnat
    ├── 2023
    │   └── 07
    │       └── 11
    │           ├── nfcapd.202307111600
    │           ├── nfcapd.202307111605
    │           ├── nfcapd.202307111610
    │           ├── nfcapd.202307111615
    │           └── nfcapd.202307111620
    └── nfcapd.current.29128

9 directories, 12 files
</pre>
<p>Projeto não tem uma index então para não precisar informar na url nfsen.php crie um atalho apontando para index.php</p>
<pre class="remontti-code"># ln -s /var/www/html/nfsen/nfsen.php /var/www/html/nfsen/index.php</pre>
<p>Agora acesse: <strong>http://__endereco_servidor/nfsen/</strong><br />
E temos nossa bela interface anos 90! Não me preocupo com isso, a ferramenta é o que importa. Recomendo você dar uma olha na <a href="https://nfsen.sourceforge.net/#mozTocId391879" rel="noopener" target="_blank">documentação</a>.</p>
<h3>NFSEN-NG</h3>
<p>O projeto <a href="https://github.com/mbolli/nfsen-ng" rel="noopener" target="_blank">NfSen-NG</a> é uma implementação melhorada do NfSen, que oferece recursos avançados para coleta, análise e visualização de dados de tráfego de rede. Com sua interface web intuitiva e poderosa, o &#8220;nfsen-ng&#8221; permite aos usuários monitorar e analisar o tráfego em tempo real, realizar pesquisas detalhadas em dados históricos e criar relatórios personalizados, facilitando a detecção de problemas, a análise de desempenho e a tomada de decisões relacionadas à rede.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12.png" alt="" width="1199" height="778" class="alignnone size-full wp-image-7613" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12.png 1199w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-300x195.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-1024x664.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-768x498.png 768w" sizes="auto, (max-width: 1199px) 100vw, 1199px" /></p>
<pre class="remontti-code"># cd /var/www/html
# git clone https://github.com/mbolli/nfsen-ng /var/www/html/nfsen-ng
# cd /var/www/html/nfsen-ng/
# chmod +x backend/cli.php
# cp backend/settings/settings.php.dist backend/settings/settings.php
# mkdir /var/www/html/nfsen-ng/backend/datasources/data/
# chown -R www-data: /var/www/html/nfsen-ng/</pre>
<p>Vamos fazer alguns ajustes para ler nossa mesma base de dados do nfsen.</p>
<pre class="remontti-code"># vim backend/settings/settings.php</pre>
<p>Localize os sources.</p>
<pre class="remontti-code-plain">        &#039;sources&#039; =&gt; array(
            &#039;source1&#039;, &#039;source2&#039;,
        ),</pre>
<p>Informe os seus:</p>
<pre class="remontti-code-plain">        &#039;sources&#039; =&gt; array(
            &#039;Borda&#039;, &#039;Cgnat&#039;,
        ),</pre>
<p>Se desejar incluir algumas porta para analisar os gráficos.</p>
<pre class="remontti-code-plain">
        &#039;ports&#039; =&gt; array(
            80, 22, 53,
        ),</pre>
<p>No meu vou alterar para:</p>
<pre class="remontti-code-plain">        &#039;ports&#039; =&gt; array(
            0, 22, 53, 80, 443,
        ),</pre>
<p>Localize e altere:</p>
<pre class="remontti-code-plain">        &#039;binary&#039; =&gt; &#039;/usr/bin/nfdump&#039;,
        &#039;profiles-data&#039; =&gt; &#039;/var/nfdump/profiles-data&#039;,</pre>
<p>Por</p>
<pre class="remontti-code-plain">        &#039;binary&#039; =&gt; &#039;/usr/local/bin/nfdump&#039;,
        &#039;profiles-data&#039; =&gt; &#039;/data/nfsen/profiles-data&#039;,</pre>
<p>Enable apache modules</p>
<pre class="remontti-code"># a2enmod rewrite expires</pre>
<p>Configure a biblioteca RRD para o PHP</p>
<pre class="remontti-code"># pecl install rrd
# echo &quot;extension=rrd.so&quot; &gt; /etc/php/8.2/mods-available/rrd.ini
# phpenmod rrd</pre>
<p>Configure virtual host para ler o .htaccess</p>
<pre class="remontti-code"># vim /etc/apache2/sites-available/000-default.conf</pre>
<p>Deve ficar assim:</p>
<pre class="remontti-code-plain">&lt;VirtualHost *:80&gt;
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    &lt;Directory /var/www/html/&gt;
        Options FollowSymLinks Indexes
        AllowOverride All
    &lt;/Directory&gt;

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
&lt;/VirtualHost&gt;</pre>
<p>Reinicie o serviço web</p>
<pre class="remontti-code"># systemctl restart apache2</pre>
<p>Vamos criar um &#8220;serviço&#8221; no systemd para iniciar o /var/www/html/nfsen-ng/backend/cli.php. </p>
<pre class="remontti-code"># vim /lib/systemd/system/nfsen-ng.service</pre>
<p>Adicione?</p>
<pre class="remontti-code-plain">[Unit]
Description=nfsen-ng
After=network-online.target
 
[Service]
Type=simple
RemainAfterExit=yes
ExecStart=su - www-data --shell=/bin/bash -c &#039;/var/www/html/nfsen-ng/backend/cli.php start&#039;
ExecStop=su - www-data --shell=/bin/bash -c &#039;/var/www/html/nfsen-ng/backend/cli.php stop&#039;
 
[Install]
WantedBy=multi-user.target</pre>
<p>Recarregue o daemon e vamos por para rodar</p>
<pre class="remontti-code"># systemctl daemon-reload
# systemctl enable nfsen-ng
# systemctl start nfsen-ng
# systemctl status nfsen-ng</pre>
<p>Acesse agora: <strong>http://__endereco__/nfsen-ng/</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-graph.png" data-rel="lightbox-gallery-Vzy7cELg" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-graph.png" alt="" width="2560" height="967" class="alignnone size-full wp-image-7614" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-graph.png 2560w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-graph-300x113.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-graph-1024x387.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-graph-768x290.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-graph-1536x580.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-graph-2048x774.png 2048w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-graph-1320x500.png 1320w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat.png" data-rel="lightbox-gallery-Vzy7cELg" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat.png" alt="" width="1920" height="1059" class="alignnone size-full wp-image-7615" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat.png 1920w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat-300x165.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat-1024x565.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat-768x424.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat-1536x847.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>Utilizando um filtro Ex: &#8220;dst as 15169 OR dst as 2906 OR dst as 32934&#8221; obtém um informações com destino aos 3 AS.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat2.png" data-rel="lightbox-gallery-Vzy7cELg" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat2.png" alt="" width="1920" height="992" class="alignnone size-full wp-image-7616" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat2.png 1920w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat2-300x155.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat2-1024x529.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat2-768x397.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat2-1536x794.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a><br />
Se notar na parte verde temos o comando executado no terminal</p>
<pre class="remontti-code"># nfdump -M &#039;/data/nfsen/profiles-data/live/Borda&#039; -R &#039;2023/07/11/nfcapd.202307111605:2023/07/11/nfcapd.202307111730&#039; -s &#039;dstas/pps&#039; &#039;dst as 15169 OR dst as 2906 OR dst as 32934&#039;</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-google-facebook-netflix.png" data-rel="lightbox-gallery-Vzy7cELg" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-google-facebook-netflix.png" alt="" width="2292" height="316" class="alignnone size-full wp-image-7617" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-google-facebook-netflix.png 2292w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-google-facebook-netflix-300x41.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-google-facebook-netflix-1024x141.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-google-facebook-netflix-768x106.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-google-facebook-netflix-1536x212.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-google-facebook-netflix-2048x282.png 2048w" sizes="auto, (max-width: 2292px) 100vw, 2292px" /></a><br />
Pode ser um bom &#8220;meio de você aprender os comandos&#8221;. </p>
<p>Algo legal do NfSen-Ng é que ele tem uma API: <strong>http://__endereco__//nfsen-ng/api/config</strong> de uma lida em <a href="https://github.com/mbolli/nfsen-ng/blob/master/README.md" rel="noopener" target="_blank">https://github.com/mbolli/nfsen-ng/blob/master/README.md</a> como utiliza, com um pouco de imaginação você pode fazer algumas coisas bem legais.</p>
<h4>Script para ir apagando arquivos mais antigos</h4>
<pre class="remontti-code"># mkdir /root/scripts/
# vim /root/scripts/faxina_nf.sh</pre>
<p>Adicione (ajuste os dias para realidade do seu disco)</p>
<pre class="remontti-code-plain">#!/bin/bash
  
# Defina o diretório do NFSen
nf_dir=&quot;/data/nfsen/profiles-data/live/&quot;

#Define o número de dias a ser removido
ref_date=$(date -d &#039;60 days ago&#039; +%Y%m%d)

# Ativar o modo de depuração
debug=false

# Percorre os diretórios e exclui os arquivos antigos
find &quot;$nf_dir&quot; -type f -name &#039;nfcapd.*&#039; | while read -r file; do
    # Obtém a data do arquivo em vez do diretório
    file_date=$(date -r &quot;$file&quot; +%Y%m%d)
    if [[ &quot;$file_date&quot; -lt &quot;$ref_date&quot; ]]; then
        if [[ &quot;$debug&quot; = true ]]; then
            echo &quot;$(date -r &quot;$file&quot;) - $file excluído&quot;
        fi
        rm &quot;$file&quot;
    fi
done</pre>
<p>Agende o script para roda todos os dias as 4h da manhã</p>
<pre class="remontti-code"># crontab -e</pre>
<p>Adcione</p>
<pre class="remontti-code-plain">
# m h  dom mon dow   command
# Apaga coletas
00 04  *   *   *     /root/scripts/faxina_nf.sh</pre>
<p>Reinicie o cron</p>
<pre class="remontti-code"># systemctl  restart cron</pre>
<p>Para verificar o tamanho do diretório use o comando</p>
<pre class="remontti-code"># du -sh /data/nfsen/profiles-data/live/</pre>
<p>E para ver o disco use:</p>
<pre class="remontti-code"># df -h</pre>
<p>Gostou e quer me ajudar manter o blog? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p><strong>Fonte:</strong><br />
<a href="https://github.com/phaag/nfdump" rel="noopener" target="_blank">https://github.com/phaag/nfdump</a><br />
<a href="https://github.com/phaag/nfsen" rel="noopener" target="_blank">https://github.com/phaag/nfsen</a><br />
<a href="https://nfsen.sourceforge.net/#mozTocId391879" rel="noopener" target="_blank">https://nfsen.sourceforge.net/</a><br />
<a href="https://github.com/mbolli/nfsen-ng" rel="noopener" target="_blank">https://github.com/mbolli/nfsen-ng</a><br />
<a href="https://github.com/phaag/nfinflux" rel="noopener" target="_blank">https://github.com/phaag/nfinflux</a><br />
<a href="https://github.com/phaag/nfexporter" rel="noopener" target="_blank">https://github.com/phaag/nfexporter</a><br />
<a href="https://github.com/phaag/go-nfdump" rel="noopener" target="_blank">https://github.com/phaag/go-nfdump</a></p>
<p>O post <a href="https://blog.remontti.com.br/7610">Guia passo a passo: Instalando NFDUMP, NFSEN e NFSEN-NG para Análise de Fluxo de Rede no Debian 12 Bookworm</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7610/feed</wfw:commentRss>
			<slash:comments>29</slash:comments>
		
		
			</item>
		<item>
		<title>Guia de Instalação do Greenbone OpenVAS: Um Scanner de Vulnerabilidades Poderoso</title>
		<link>https://blog.remontti.com.br/7555</link>
					<comments>https://blog.remontti.com.br/7555#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Fri, 23 Jun 2023 21:27:19 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Vírus]]></category>
		<category><![CDATA[Ajuste de desempenho]]></category>
		<category><![CDATA[Atualizações diárias]]></category>
		<category><![CDATA[bookworm]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[Debian 12]]></category>
		<category><![CDATA[Feed de testes.]]></category>
		<category><![CDATA[Greenbone OpenVAS]]></category>
		<category><![CDATA[instalaçao]]></category>
		<category><![CDATA[Linguagem de programação interna]]></category>
		<category><![CDATA[Protocolos de alto nível da Internet]]></category>
		<category><![CDATA[Protocolos industriais]]></category>
		<category><![CDATA[Scanner de Vulnerabilidades]]></category>
		<category><![CDATA[Testes autenticados]]></category>
		<category><![CDATA[Testes não autenticados]]></category>
		<category><![CDATA[Varreduras em larga escala]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7555</guid>

					<description><![CDATA[<p>Greenbone OpenVAS é um scanner de vulnerabilidade completo. Seus recursos incluem testes não autenticados e autenticados, vários protocolos industriais e de alto nível da Internet, ajuste de desempenho para varreduras em larga escala e&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7555">Guia de Instalação do Greenbone OpenVAS: Um Scanner de Vulnerabilidades Poderoso</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Greenbone-OpenVAS-Debian-12-bookworm.jpg" alt="" width="720" height="340" class="alignnone size-full wp-image-7579" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Greenbone-OpenVAS-Debian-12-bookworm.jpg 720w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Greenbone-OpenVAS-Debian-12-bookworm-300x142.jpg 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Greenbone-OpenVAS-Debian-12-bookworm-520x245.jpg 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /></p>
<p><strong><a href="https://openvas.org/" rel="noopener" target="_blank">Greenbone OpenVAS</a></strong> é um scanner de vulnerabilidade completo. Seus recursos incluem testes não autenticados e autenticados, vários protocolos industriais e de alto nível da Internet, ajuste de desempenho para varreduras em larga escala e uma poderosa linguagem de programação interna para implementar qualquer tipo de teste de vulnerabilidade.<br />
O scanner obtém os testes para detectar vulnerabilidades de um feed que possui um longo histórico e atualizações diárias.</p>
<p>O OpenVAS foi desenvolvido e impulsionado pela empresa Greenbone desde 2006. Como parte da família de produtos de gerenciamento de vulnerabilidade comercial Greenbone Enterprise Appliance, o scanner forma o Greenbone Community Edition junto com outros módulos de código aberto (Open Source).<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Greenbone-OpenVAS.png" alt="" width="520" height="97" class="aligncenter size-full wp-image-7561" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Greenbone-OpenVAS.png 520w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Greenbone-OpenVAS-300x56.png 300w" sizes="auto, (max-width: 520px) 100vw, 520px" /><br />
Leia mais sobre a <a href="https://greenbone.github.io/docs/latest/background.html#history-of-the-openvas-project" rel="noopener" target="_blank">história do OpenVAS aqui</a>.</p>
<p>A figura a seguir mostra uma visão geral da arquitetura da versão 22.4.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/greenbone-community-22.4-architecture.png" data-rel="lightbox-gallery-lyMlnSap" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/greenbone-community-22.4-architecture.png" alt="" width="3249" height="1913" class="alignnone size-full wp-image-7556" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/greenbone-community-22.4-architecture.png 3249w, https://blog.remontti.com.br/wp-content/uploads/2023/06/greenbone-community-22.4-architecture-300x177.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/greenbone-community-22.4-architecture-1024x603.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/greenbone-community-22.4-architecture-768x452.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/06/greenbone-community-22.4-architecture-1536x904.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/06/greenbone-community-22.4-architecture-2048x1206.png 2048w" sizes="auto, (max-width: 3249px) 100vw, 3249px" /></a></p>
<p>A arquitetura do Greenbone Community Edition é agrupada em três partes principais:<br />
 &#8211; Aplicativos de scanner executáveis que executam testes de vulnerabilidade (VT) em sistemas de destino<br />
 &#8211; Daemon do gerenciador de vulnerabilidade Greenbone (gvmd)<br />
 &#8211; Greenbone Security Assistant (GSA) com o Greenbone Security Assistant Daemon (gsad)</p>
<h4>Distribuição Utilizada</h4>
<p><strong> <a href="https://blog.remontti.com.br/7236" rel="noopener" target="_blank">Debian 12 bookworm (Instalação Limpa)</a></strong></p>
<h4>Requisitos de hardware</h4>
<p><strong><em>Mínimo</em></strong><br />
 &#8211; 2 CPU<br />
 &#8211; 4 GB Memória<br />
 &#8211; 20 GB de disco livres</p>
<p><strong><em>Recomendado:</em></strong><br />
 &#8211; 4 CPU<br />
 &#8211; 8 GB Memória<br />
 &#8211; 60 GB de disco livres</p>
<h2>Instalação</h2>
<p>Irei fazer a instalação através de containes pois ser mais pratico e fácil, mas se você quiser compilar e instala-lo siga <a href="https://greenbone.github.io/docs/latest/22.4/source-build/index.html" rel="noopener" target="_blank">esses passos</a>.</p>
<p>Vamos a instalação dos pacotes necessários:</p>
<pre class="remontti-code"># apt install curl docker.io python3 python3-pip docker-compose
# mkdir -p /usr/local/lib/docker/cli-plugins
# curl -SL https://github.com/docker/compose/releases/download/v2.40.0/docker-compose-linux-x86_64 \
  -o /usr/local/lib/docker/cli-plugins/docker-compose
</pre>
<p>Vamos adicionar o docker ao grupo root.</p>
<pre class="remontti-code"># usermod -aG docker root</pre>
<p>Crie um diretório onde iremos criar a composição do docker, em seguinta entre no diretório.</p>
<pre class="remontti-code"># mkdir -p /opt/greenbone-community-container
# cd /opt/greenbone-community-container</pre>
<p>Baixe o arquivo de composição do docker.</p>
<pre class="remontti-code"># curl -f -L \
 https://greenbone.github.io/docs/latest/_static/docker-compose.yml \
 -o docker-compose.yml</pre>
<p>Puxe os contêiners.</p>
<pre class="remontti-code"># docker-compose -f \
 /opt/greenbone-community-container/docker-compose.yml \
 -p greenbone-community-edition pull</pre>
<p>Inicie os contêiner.</p>
<pre class="remontti-code"># docker-compose -f \
 /opt/greenbone-community-container/docker-compose.yml \
 -p greenbone-community-edition up -d</pre>
<p>Acesse em seu navegador com usuário e senha <strong>admin</strong>.<br />
<strong>http://IP_SERVIDOR:9392</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/greenbone-community-debian-12.png" data-rel="lightbox-gallery-lyMlnSap" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/greenbone-community-debian-12.png" alt="" width="1406" height="928" class="alignnone size-full wp-image-7559" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/greenbone-community-debian-12.png 1406w, https://blog.remontti.com.br/wp-content/uploads/2023/06/greenbone-community-debian-12-300x198.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/greenbone-community-debian-12-1024x676.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/greenbone-community-debian-12-768x507.png 768w" sizes="auto, (max-width: 1406px) 100vw, 1406px" /></a></p>
<p>Se achar melhor pode fazer um proxy<a href="https://blog.remontti.com.br/7413" rel="noopener" target="_blank">utilizando o Nginx</a> para acessar via domínio (Http/Http)</p>
<pre class="remontti-code"># apt install nginx
# sed -i &#039;s/# server_tokens/server_tokens/&#039; /etc/nginx/nginx.conf
# vim /etc/nginx/sites-available/greenbone.conf</pre>
<p>Ajuste</p>
<pre class="remontti-code">
server {
    listen 80;
    listen [::]:80;
 
    server_name greenbone.remontti.com.br;
 
    # Descomente para restringir o acesso apenas aos IPs Listados
    # allow 127.0.0.1;
    # allow ::1;
    # allow 192.168.0.0/16;
    # allow 2801:db8::/32;
    # deny  all;
    # error_page  403   http://www.remontti.com.br;
 
    location / {
        proxy_pass http://localhost:9392;
        proxy_set_header   Host $host;
    }
}</pre>
<p>Crie o link para sites-enabled, e reinicie o serviços.</p>
<pre class="remontti-code"># ln -s /etc/nginx/sites-available/greenbone.conf /etc/nginx/sites-enabled/
# systemctl restart nginx</pre>
<p>Agora você pode acessar via Domínio (removendo a criação de um firewall com nftables)</p>
<h4>Primeiros passos</h4>
<p>A ferramenta tem uma ótima documentação, <a href="https://docs.greenbone.net/GSM-Manual/gos-22.04/en/index.html" rel="noopener" target="_blank">basta acessar aqui</a>. Mas vou deixar aqui uns passo básicos para você realizar ao menos um primeiro scan.</p>
<p>Alterando as <a href="https://docs.greenbone.net/GSM-Manual/gos-22.04/en/web-interface.html#changing-the-user-settings" rel="noopener" target="_blank">configurações do usuário</a> (provavelmente vai querer trocar a senha admin)<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/user_settings.png" alt="" width="317" height="162" class="alignnone size-full wp-image-7563" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/user_settings.png 317w, https://blog.remontti.com.br/wp-content/uploads/2023/06/user_settings-300x153.png 300w" sizes="auto, (max-width: 317px) 100vw, 317px" /></p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/user_settings_3.png" alt="" width="499" height="426" class="alignnone size-full wp-image-7565" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/user_settings_3.png 499w, https://blog.remontti.com.br/wp-content/uploads/2023/06/user_settings_3-300x256.png 300w" sizes="auto, (max-width: 499px) 100vw, 499px" /></p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/user_settings_2.png" alt="" width="813" height="658" class="alignnone size-full wp-image-7564" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/user_settings_2.png 813w, https://blog.remontti.com.br/wp-content/uploads/2023/06/user_settings_2-300x243.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/user_settings_2-768x622.png 768w" sizes="auto, (max-width: 813px) 100vw, 813px" /></p>
<p><strong>Administration >>  Feed Status</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/feed.png" alt="" width="967" height="411" class="alignnone size-full wp-image-7566" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/feed.png 967w, https://blog.remontti.com.br/wp-content/uploads/2023/06/feed-300x128.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/feed-768x326.png 768w" sizes="auto, (max-width: 967px) 100vw, 967px" /><br />
Em todo lugar você irá encontrar esse <strong>(?)</strong> que irá te jogar direto para a explicação na documentação.</p>
<p><strong>Configuration >> Portlists</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/ports.png" alt="" width="1106" height="392" class="alignnone size-full wp-image-7567" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/ports.png 1106w, https://blog.remontti.com.br/wp-content/uploads/2023/06/ports-300x106.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/ports-1024x363.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/ports-768x272.png 768w" sizes="auto, (max-width: 1106px) 100vw, 1106px" /><br />
Você ira encontrar já 3 padrões exemplo o All IANA assigned TCP and UDP, que contem um total de 11.318 portas sendo 5.836/TCP e 5482/UDP.</p>
<p>Para criar clique no ícone de &#8220;<em>New Port List</em>&#8221;<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/ports_add.png" alt="" width="375" height="151" class="alignnone size-full wp-image-7568" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/ports_add.png 375w, https://blog.remontti.com.br/wp-content/uploads/2023/06/ports_add-300x121.png 300w" sizes="auto, (max-width: 375px) 100vw, 375px" /></p>
<p>Exemplo:<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/ports_add_web_tcp.png" alt="" width="573" height="266" class="alignnone size-full wp-image-7570" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/ports_add_web_tcp.png 573w, https://blog.remontti.com.br/wp-content/uploads/2023/06/ports_add_web_tcp-300x139.png 300w" sizes="auto, (max-width: 573px) 100vw, 573px" /></p>
<p>Outro exemplo de TCP e UDP:<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/ports_tcp_udp.png" alt="" width="567" height="266" class="alignnone size-full wp-image-7571" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/ports_tcp_udp.png 567w, https://blog.remontti.com.br/wp-content/uploads/2023/06/ports_tcp_udp-300x141.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/ports_tcp_udp-520x245.png 520w" sizes="auto, (max-width: 567px) 100vw, 567px" /></p>
<p>Para iniciar um scan, menu: <strong>Scans >> Tasks</strong>, em seguida <em>New Task</em><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/task.png" alt="" width="362" height="149" class="alignnone size-full wp-image-7572" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/task.png 362w, https://blog.remontti.com.br/wp-content/uploads/2023/06/task-300x123.png 300w" sizes="auto, (max-width: 362px) 100vw, 362px" /></p>
<p>Defina um nome (pelo menos)<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/task-1.png" alt="" width="831" height="561" class="alignnone size-full wp-image-7576" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/task-1.png 831w, https://blog.remontti.com.br/wp-content/uploads/2023/06/task-1-300x203.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/task-1-768x518.png 768w" sizes="auto, (max-width: 831px) 100vw, 831px" /></p>
<p>Vamos informar nossos hosts (Prefixos) e informar qual portas vamos varrer, clique em save.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/task-2.png" alt="" width="834" height="716" class="alignnone size-full wp-image-7575" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/task-2.png 834w, https://blog.remontti.com.br/wp-content/uploads/2023/06/task-2-300x258.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/task-2-768x659.png 768w" sizes="auto, (max-width: 834px) 100vw, 834px" /></p>
<p>Voltamos par atela anterior, é so clicar em save. Poré perceba que temos varias outras <a href="https://docs.greenbone.net/GSM-Manual/gos-22.04/en/scanning.html#managing-tasks" rel="noopener" target="_blank">possibilidades</a>.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/task-3.png" alt="" width="826" height="660" class="alignnone size-full wp-image-7574" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/task-3.png 826w, https://blog.remontti.com.br/wp-content/uploads/2023/06/task-3-300x240.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/task-3-768x614.png 768w" sizes="auto, (max-width: 826px) 100vw, 826px" /></p>
<p>Agora de um start e aguarde!<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/task-4.png" alt="" width="1109" height="549" class="alignnone size-full wp-image-7573" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/task-4.png 1109w, https://blog.remontti.com.br/wp-content/uploads/2023/06/task-4-300x149.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/task-4-1024x507.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/task-4-768x380.png 768w" sizes="auto, (max-width: 1109px) 100vw, 1109px" /></p>
<p>Agora é só &#8220;chorrar&#8221;&#8230;<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/scan.png" alt="" width="1505" height="816" class="alignnone size-full wp-image-7577" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/scan.png 1505w, https://blog.remontti.com.br/wp-content/uploads/2023/06/scan-300x163.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/scan-1024x555.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/scan-768x416.png 768w" sizes="auto, (max-width: 1505px) 100vw, 1505px" /></p>
<p>Vou deixar um vídeo do <a href="https://t.me/raphaelisp" rel="noopener" target="_blank">Raphael</a> explicando como utilizar também a ferramenta.<br />
<iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/gA-J16tqHyE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></p>
<p>Gostou e quer me ajudar manter o blog? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p><strong>Fonte:</strong><br />
<a href="https://greenbone.github.io/docs/latest/" rel="noopener" target="_blank">https://greenbone.github.io/docs/latest/</a></p>
<p>O post <a href="https://blog.remontti.com.br/7555">Guia de Instalação do Greenbone OpenVAS: Um Scanner de Vulnerabilidades Poderoso</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7555/feed</wfw:commentRss>
			<slash:comments>16</slash:comments>
		
		
			</item>
		<item>
		<title>Um pouco do meu ambiente de trabalho com Debian 12 Bookworm e Gnome 43</title>
		<link>https://blog.remontti.com.br/7512</link>
					<comments>https://blog.remontti.com.br/7512#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Mon, 19 Jun 2023 23:13:31 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[AmbienteDeTrabalho]]></category>
		<category><![CDATA[Aplicativos]]></category>
		<category><![CDATA[Artigo]]></category>
		<category><![CDATA[bookworm]]></category>
		<category><![CDATA[Comunidade.]]></category>
		<category><![CDATA[Configuração]]></category>
		<category><![CDATA[ConfiguraçõesAvançadas]]></category>
		<category><![CDATA[Customização]]></category>
		<category><![CDATA[Debian12]]></category>
		<category><![CDATA[Desempenho]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[Estabilidade]]></category>
		<category><![CDATA[Experiência]]></category>
		<category><![CDATA[Extensões]]></category>
		<category><![CDATA[GerenciadorDeArquivos]]></category>
		<category><![CDATA[Gnome43]]></category>
		<category><![CDATA[Inovação]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[Multitarefa]]></category>
		<category><![CDATA[NavegadorWeb]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Personalização]]></category>
		<category><![CDATA[produtividade]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[SistemaOperacional]]></category>
		<category><![CDATA[SoftwareLivre]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[tema]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[Usabilidade]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7512</guid>

					<description><![CDATA[<p>Voltando ao Debian ❤️ Desde o tempo que a distribuição Kurumin era &#8220;gente&#8221; (minha primeira experiência com linux) tenho um grande apreço por este mundo. Acabei de sair do Ubuntu 22, que não deixa&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7512">Um pouco do meu ambiente de trabalho com Debian 12 Bookworm e Gnome 43</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/remontti_debian_12.jpg" alt="" width="720" height="340" class="alignnone size-full wp-image-7529" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/remontti_debian_12.jpg 720w, https://blog.remontti.com.br/wp-content/uploads/2023/06/remontti_debian_12-300x142.jpg 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/remontti_debian_12-520x245.jpg 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /></p>
<p>Voltando ao Debian <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2764.png" alt="❤" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </p>
<p>Desde o tempo que a distribuição Kurumin era &#8220;gente&#8221; (minha primeira experiência com linux) tenho um grande apreço por este mundo. Acabei de <a href="https://blog.remontti.com.br/6853" rel="noopener" target="_blank">sair do Ubuntu 22</a>, que não deixa de ser um &#8220;Debian 12&#8221;, pois ele é totalmente baseado nele. Já comentei sobre os motivos que acabei utilizando ubuntu no artigo <em><a href="https://blog.remontti.com.br/6853" rel="noopener" target="_blank">Como é meu desktop de trabalho com Ubuntu</a></em>. </p>
<p>Eu não utilizo o PC para jogar e o intuito aqui é para meus amigos e colegas da área mais de telecom que utilizam mais para trabalho. Como tenho acesso a muitos servidores e roteador eu me sinto inseguro em realizar um acesso a partir de um Windows, e me sinto em paz ao usar Linux. Mas se você gosta de jogos instalar em dual boot pode ser uma boa alternativa. Vai jogar entra no windows, vai trabalhar da uma chance pro Linux:-) além do mais o GNOME te deixa com uma pegada mais produtiva!</p>
<p>Faça download neste link: <strong> <a href="https://cdimage.debian.org/mirror/cdimage/archive/12.0.0-live/amd64/iso-hybrid/" rel="noopener" target="_blank">Debian 12 Live Desktop (amd64) Gnome</a></strong> localize por <strong>debian-live-12.x.x-amd64-gnome.iso</strong>, você irá baixar a ISO com o Gnome, mas se deseja outra interface fica a seu critério, mas estarei utilizando o Gnome.</p>
<p><strong>INICIANDO LIVE CD</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live.png" alt="" width="640" height="480" class="alignnone size-full wp-image-7513" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live.png 640w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-300x225.png 300w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p>Ao entrar no live, ao clicar em instalar irá solicitar uma <strong>senha</strong>, é <strong>live</strong>. Prossiga com a instalação ao seu gosto.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-password-installer.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-password-installer.png" alt="" width="1364" height="765" class="alignnone size-full wp-image-7514" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-password-installer.png 1364w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-password-installer-300x168.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-password-installer-1024x574.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-password-installer-768x431.png 768w" sizes="auto, (max-width: 1364px) 100vw, 1364px" /></a></p>
<p><strong>APÓS INSTALAÇÃO</strong><br />
Ao logar pela primeira vez (ou não) ao clicar no campo para digita a senha, clique sobre a engrenagem no canto direito inferior e selecione: <strong>GNOME sobre Xorg</strong> (você só precisa fazer 1x), o padrão utiliza o Wayland, no entanto alguma aplicações como Anydesk, TeamViewer entre outras e uso de cabo HDMI, infelizmente o Wayland não está preparado para tudo ainda, então vamos de motor gráfico Xorg!<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/debian_xorg.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/debian_xorg.png" alt="" width="1334" height="786" class="alignnone size-full wp-image-7540" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/debian_xorg.png 1334w, https://blog.remontti.com.br/wp-content/uploads/2023/06/debian_xorg-300x177.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/debian_xorg-1024x603.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/debian_xorg-768x453.png 768w" sizes="auto, (max-width: 1334px) 100vw, 1334px" /></a></p>
<p>Como a pegada Debian é mais hardcore já sabe, vamos começar abrindo o terminal, de cara vamos remover toda a cacetada de idiomas que o firefox vem instalado e deixar só pt-br.</p>
<pre class="remontti-code">$ sudo apt purge firefox-esr-l10n-* -y 
$ sudo apt install firefox-esr-l10n-pt-br -y </pre>
<p>certifique-se de estar tudo atualizado, antes de começar</p>
<pre class="remontti-code">$ sudo apt update; sudo apt upgrade -y</pre>
<p><strong>REPOSITÓRIO</strong><br />
Por mais que agora contamos também com non-free-firmware, vamos adicionar o <strong>contrib e o non-free </strong>, </p>
<pre class="remontti-code">$ sudo nano /etc/apt/sources.list</pre>
<p>Ficando assim:</p>
<pre class="remontti-code-plain"># See https://wiki.debian.org/SourcesList for more information.
deb http://deb.debian.org/debian bookworm main non-free-firmware contrib non-free
deb-src http://deb.debian.org/debian bookworm main non-free-firmware contrib non-free

deb http://deb.debian.org/debian bookworm-updates main non-free-firmware contrib non-free
deb-src http://deb.debian.org/debian bookworm-updates main non-free-firmware contrib non-free

deb http://security.debian.org/debian-security/ bookworm-security main non-free-firmware contrib non-free
deb-src http://security.debian.org/debian-security/ bookworm-security main non-free-firmware contrib non-free

# Backports allow you to install newer versions of software made available for this release
deb http://deb.debian.org/debian bookworm-backports main non-free-firmware contrib non-free
deb-src http://deb.debian.org/debian bookworm-backports main non-free-firmware contrib non-free

</pre>
<p>Agora instale o firmware-linux</p>
<pre class="remontti-code">$ sudo apt update
$ sudo apt install firmware-linux</pre>
<p><strong>PLACA DE VÍDEO</strong><br />
O terror da maioria das pessoas!<br />
<strong><a href="https://wiki.debian.org/NvidiaGraphicsDrivers#Debian_12_.22Bookworm.22" rel="noopener" target="_blank">Nvidia</a></strong></p>
<pre class="remontti-code">$ apt install nvidia-driver firmware-misc-nonfree</pre>
<p>Dificuldades? <a href="https://wiki.debian.org/NVIDIA%20Optimus" rel="noopener" target="_blank">Esse link</a> pode lhe ajudar.</p>
<p><strong><a href="https://wiki.debian.org/AtiHowTo" rel="noopener" target="_blank">AMD/ATI</a></strong></p>
<pre class="remontti-code">$ apt installfirmware-amd-graphics</pre>
<p><strong>GRUB + KERNEL</strong><br />
Eu desativo algumas proteções do kernel (Nuca faça essa M** em um servidor) pois se tratando de desktop sei que não terei exemplo um serviço web rodando para o mundo, então para ganhar performance vou colocar <strong>mitigations</strong> em <strong>off</strong>, se você gosta do nome das interfaces de rede como eth0 wlan0 use o <strong>net.ifnames</strong> e <strong>biosdevname</strong> em <strong>0</strong>, se você quiser <strong>ver tudo </strong>que esta sendo carregado no sistema também<strong> pode remover quiet splash</strong> se desejar. Se não sabe o que ta fazendo pule essa parte! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<pre class="remontti-code">$ sudo nano /etc/default/grub</pre>
<p>Adicione ao <strong>GRUB_CMDLINE_LINUX_DEFAULT</strong> , vai ficar assim, porem resume= é sei UID!</p>
<pre class="remontti-code-plain">GRUB_CMDLINE_LINUX_DEFAULT=&quot;mitigations=off net.ifnames=0 biosdevname=0 quiet splash resume=UUID=7c3fc737-...&quot;
</pre>
<pre class="remontti-code">$ sudo update-grub</pre>
<p>Mais ajustes</p>
<pre class="remontti-code">$ sudo su -</pre>
<p>Se você tem SSD/NVME e execute os 2 comandos</p>
<pre class="remontti-code"># echo &quot;vm.vfs_cache_pressure=50&quot; &gt;&gt; /etc/sysctl.conf
# echo &quot;vm.dirty_background_ratio = 5&quot; &gt;&gt; /etc/sysctl.conf</pre>
<p>Se tiver mais que 4GB de memória ram.</p>
<pre class="remontti-code"># echo &quot;vm.swappiness=10&quot; &gt;&gt; /etc/sysctl.conf</pre>
<p>Carregue e reinicie</p>
<pre class="remontti-code"># sysctl -p
# exit
$ sudo reboot</pre>
<p><strong>ZSH + POWERLEVEL10K</strong><br />
Já que nosso &#8220;negócio&#8221; é terminal que tal dar uma tunada com ZSH, primeiramente baixa as fontes MesloLGS</p>
<pre class="remontti-code">$ sudo apt install wget -y
$ cd /usr/local/share/fonts
$ sudo wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf
$ sudo wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf
$ sudo wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf
$ sudo wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf</pre>
<p>Configure o terminal com a fonte MesloLGS NF<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-1.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-1.png" alt="" width="867" height="470" class="alignnone size-full wp-image-7516" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-1.png 867w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-1-300x163.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-1-768x416.png 768w" sizes="auto, (max-width: 867px) 100vw, 867px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-2.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-2.png" alt="" width="896" height="591" class="alignnone size-full wp-image-7517" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-2.png 896w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-2-300x198.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-2-768x507.png 768w" sizes="auto, (max-width: 896px) 100vw, 896px" /></a></p>
<p>Se deseja alter a cor do terminal:<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-3.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-3.png" alt="" width="1267" height="709" class="alignnone size-full wp-image-7518" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-3.png 1267w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-3-300x168.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-3-1024x573.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-3-768x430.png 768w" sizes="auto, (max-width: 1267px) 100vw, 1267px" /></a></p>
<p>Instale os pacotes necessários:</p>
<pre class="remontti-code">$ sudo apt install git zsh zsh-autosuggestions zsh-syntax-highlighting fzf -y
$ git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.powerlevel10k
$ echo &#039;source ~/.powerlevel10k/powerlevel10k.zsh-theme&#039; &gt;&gt;~/.zshrc
$ zsh</pre>
<p>Várias perguntas serão feitas, para chegar ao resultado a baixo respondi com:<br />
<strong>y y y y 3 1 n 1 1 1 1 2 2 2 n 1 y</strong>, mas ajuste ao seu gosto.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-4.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-4.png" alt="" width="933" height="187" class="alignnone size-full wp-image-7519" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-4.png 933w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-4-300x60.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-4-768x154.png 768w" sizes="auto, (max-width: 933px) 100vw, 933px" /></a></p>
<p>Para reconfigurar novamente execute:</p>
<pre class="remontti-code">$ p10k configure</pre>
<p>Vai ser necessário colocar algumas entradas em nosso ~/.zshrc</p>
<pre class="remontti-code">$ nano ~/.zshrc</pre>
<p>Deixe assim:</p>
<pre class="remontti-code-plain">
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r &quot;${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh&quot; ]]; then
  source &quot;${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh&quot;
fi

source ~/.powerlevel10k/powerlevel10k.zsh-theme

# share history across multiple zsh sessions
setopt SHARE_HISTORY
# append to history
setopt APPEND_HISTORY
# adds commands as they are typed, not at shell exit
setopt INC_APPEND_HISTORY
# do not store duplications
setopt HIST_IGNORE_DUPS
# ignore duplicates when searching
setopt HIST_FIND_NO_DUPS
# removes blank lines from history
setopt HIST_REDUCE_BLANKS

# setup autocompletion
autoload -Uz compinit &amp;&amp; compinit
zstyle &#039;:completion:*&#039; matcher-list &#039;m:{a-z}={A-Za-z}&#039;
# autocompletion using arrow keys (based on history)
bindkey &#039;\e[A&#039; history-search-backward
bindkey &#039;\e[B&#039; history-search-forward

setopt prompt_subst
autoload -U colors &amp;&amp; colors
local resetColor=&quot;%{$reset_color%}&quot;
PS1=&quot;&quot;
PS1=&quot;%F{cyan}&quot;&#039;($(basename &quot;$CONDA_DEFAULT_ENV&quot;)) &#039;&quot;$resetColor&quot;
PS1+=&#039;%n%{$reset_color%}@$(scutil --get ComputerName):&#039;&quot;$resetColor&quot;
PS1+=$&#039;\e[38;5;211m$(short_cwd) &#039;;
PS1+=$&#039;\e[38;5;48m[$(git_repo):$(git_branch)] &#039;;
PS1+=&#039;$resetColor$ &#039;;

bindkey &quot;^[[1;5D&quot; backward-word
bindkey &quot;^[[1;5C&quot; forward-word

source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/doc/fzf/examples/key-bindings.zsh

export LS_OPTIONS=&#039;--color=auto&#039;
eval &quot;`dircolors`&quot;
alias ls=&#039;ls $LS_OPTIONS&#039;
alias ll=&#039;ls $LS_OPTIONS -l&#039;
alias l=&#039;ls $LS_OPTIONS -lha&#039;

alias grep=&#039;grep --color&#039;
alias egrep=&#039;egrep --color&#039;
alias ip=&#039;ip -c&#039;
alias diff=&#039;diff --color&#039;
alias meuip=&#039;curl ifconfig.me; echo;&#039;
alias tail=&#039;grc tail&#039;
alias ping=&#039;grc ping&#039;
alias ps=&#039;grc ps&#039;
alias netstat=&#039;grc netstat&#039;
alias dig=&#039;grc dig&#039;
alias traceroute=&#039;grc traceroute&#039;
alias apt=&#039;sudo apt&#039;
alias l=&#039;ls -lh&#039;
alias la=&#039;ls -lha&#039;

HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt appendhistory

# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh

</pre>
<p>Adicione comando personalizado em preferencias para sempre que abrir o terminal carregar o zsh<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh_terminal.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh_terminal.png" alt="" width="1132" height="709" class="alignnone size-full wp-image-6940" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh_terminal.png 1132w, https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh_terminal-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh_terminal-1024x641.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh_terminal-768x481.png 768w" sizes="auto, (max-width: 1132px) 100vw, 1132px" /></a></p>
<p><strong>FERRAMENTAS &#038; UTILITÁRIO</strong><br />
Como utilizo muito o vim no meu dia a dia faço alguns ajustes.</p>
<pre class="remontti-code">$ apt install vim
$ cat &lt;&lt;EOF &gt;~/.vimrc
set showmatch &quot; Mostrar colchetes correspondentes
set ts=4 &quot; Ajuste tab
set sts=4 &quot; Ajuste tab
set sw=4 &quot; Ajuste tab
set autoindent &quot; Ajuste tab
set smartindent &quot; Ajuste tab
set smarttab &quot; Ajuste tab
set expandtab &quot; Ajuste tab
&quot;set number &quot; Mostra numero da linhas
EOF
$ sudo sed -i &#039;s/&quot;syntax on/syntax on/&#039; /etc/vim/vimrc
$ sudo sed -i &#039;s/&quot;set background=dark/set background=dark/&#039; /etc/vim/vimrc
</pre>
<p>Sou amante do terminal e muitas da ferramentas de terminal ajudam a debugar problemas, recomendo uma leitura do artigo: <a href="https://blog.remontti.com.br/5867" rel="noopener" target="_blank">Como melhorar a produtividade</a>. Tem alguns aplicações extras ai no meio também como filezilla, mas garanto tudo é útil!</p>
<pre class="remontti-code">$ sudo apt install htop iotop iftop hdparm locate traceroute tree \
  ipcalc sipcalc mtr-tiny whois dnsutils net-tools ncdu apt-transport-https \
  neofetch breeze bash-completion fzf curl grc bgpq4 nmap lm-sensors ncal \
  rtorrent links arping bmon tcpdump ethtool iptraf-ng mutter qbittorrent \
  filezilla vinagre rdesktop icedtea-netx default-jre kolourpaint -y
</pre>
<p>Provavelmente você utiliza VPNs então os pacotes a baixo não podem falar:</p>
<pre class="remontti-code">$ sudo apt install network-manager-gnome \
 network-manager-pptp-gnome \
 network-manager-vpnc-gnome \
 network-manager-ssh-gnome \
 network-manager-openvpn-gnome \
 network-manager-l2tp-gnome 
</pre>
<p>Eu gosto de dar uma personalizada no GNOME, vou deixar aqui algumas extensões que curto. (Use se te agradar).</p>
<pre class="remontti-code">$ sudo apt install gnome-shell-extension-manager gnome-tweaks  -y</pre>
<p>Abra a aplicação: <strong>Gereciador de Extensões</strong> e clique em <strong>Navegar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao1.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao1.png" alt="" width="862" height="654" class="alignnone size-full wp-image-7520" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao1.png 862w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao1-300x228.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao1-768x583.png 768w" sizes="auto, (max-width: 862px) 100vw, 862px" /></a></p>
<p>Na buscar pesquise por:<br />
<a href="https://extensions.gnome.org/extension/3193/blur-my-shell/" rel="noopener" target="_blank"><strong>Blur my Shell</strong></a> ela vai deixar acompanhado o papel de parede.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao2.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao2.png" alt="" width="1280" height="800" class="alignnone size-full wp-image-7521" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao2.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao2-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao2-1024x640.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao2-768x480.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a></p>
<p><a href="https://extensions.gnome.org/extension/4158/gnome-40-ui-improvements/" rel="noopener" target="_blank"><strong>Gnome 4x UI Improvements</strong></a> irá exibir as áreas de trabalho, inclusive você pode arrastar uma aplicação para dentro dela.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao3.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao3.png" alt="" width="1280" height="800" class="alignnone size-full wp-image-7522" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao3.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao3-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao3-1024x640.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao3-768x480.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a></p>
<p><a href="https://extensions.gnome.org/extension/2890/tray-icons-reloaded/" rel="noopener" target="_blank"><strong>Tray Icons: Reloaded</strong></a> caso você tem problema com algum ícones que não é exibido na barra, pode tentar usa-lo.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/tray-icon.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/tray-icon.png" alt="" width="400" height="200" class="alignnone size-full wp-image-6887" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/tray-icon.png 400w, https://blog.remontti.com.br/wp-content/uploads/2022/11/tray-icon-300x150.png 300w" sizes="auto, (max-width: 400px) 100vw, 400px" /></a></p>
<p><a href="https://extensions.gnome.org/extension/4679/burn-my-windows/" rel="noopener" target="_blank"><strong>Burn My Windows</strong></a> se você é das antigas e lembra do compiz vai gostar desse, janelinha explodindo, pegando fogo, e muitas animações. Nas configurações dessa extensão você encontra muita frescura rsrsrs<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/firulagem.gif" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/firulagem.gif" alt="" width="320" height="200" class="alignnone size-full wp-image-6888" /></a></p>
<p><a href="https://extensions.gnome.org/extension/4648/desktop-cube/" rel="noopener" target="_blank"><strong>Desktop Cube</strong></a> vai tornar suas áreas de trabalho em um cubo.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/cube.gif" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/cube.gif" alt="" width="320" height="180" class="alignnone size-full wp-image-6889" /></a></p>
<p><a href="https://extensions.gnome.org/extension/3724/net-speed-simplified/" rel="noopener" target="_blank"><strong>Net speed Simplified</strong></a> se você quiser acompanhar o trafego da sua interface de rede.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/trafego.gif" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/trafego.gif" alt="" width="356" height="64" class="alignnone size-full wp-image-6891" /></a></p>
<p><a href="https://extensions.gnome.org/extension/3396/color-picker/" rel="noopener" target="_blank"><strong>Color Picker</strong></a> se você precisa descobrir uma cor de qualquer objeto do seu desktop essa é uma ótima extensão.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/colorpicker.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/colorpicker.png" alt="" width="454" height="345" class="alignnone size-full wp-image-6892" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/colorpicker.png 454w, https://blog.remontti.com.br/wp-content/uploads/2022/11/colorpicker-300x228.png 300w" sizes="auto, (max-width: 454px) 100vw, 454px" /></a></p>
<p><a href="https://extensions.gnome.org/extension/750/openweather/" rel="noopener" target="_blank"><strong>OpenWeather</strong></a> informações de clima.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/clima.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/clima.png" alt="" width="606" height="302" class="alignnone size-full wp-image-6894" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/clima.png 606w, https://blog.remontti.com.br/wp-content/uploads/2022/11/clima-300x150.png 300w" sizes="auto, (max-width: 606px) 100vw, 606px" /></a></p>
<p><a href="https://extensions.gnome.org/extension/2458/bubblemail/" rel="noopener" target="_blank">Bubblemail</a> se você precisa acompanhar seus e-mails esse cara pode lhe ajudar bastante. é necessário a instalação do <a href="http://bubblemail.free.fr/downloads" rel="noopener" target="_blank">bubblemail</a>.</p>
<pre class="remontti-code">$ cd /tmp; wget http://bubblemail.free.fr/releases/debian/bubblemail_1.8-1_all.deb 
sudo apt install ./bubblemail_1.8-1_all.deb</pre>
<p>Agora basta configurar sua conta na extensão.</p>
<p>Existe muita personalização possíveis, para icones novos e themas crie dois diretórios. </p>
<pre class="remontti-code">$ mkdir ~/.themes
$ mkdir ~/.icons</pre>
<p>Vamos supor que queira alterar o cursor para um novo, vou baixar o <a href="https://www.gnome-look.org/p/999927/" rel="noopener" target="_blank">Cursor Breeze</a> que eu gosto (herança do KDE) faça download do mesmo. <em>(Ignore meus prints do ubuntu, reaproveitei)</em><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/breeze.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/breeze.png" alt="" width="625" height="71" class="alignnone size-full wp-image-6896" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/breeze.png 625w, https://blog.remontti.com.br/wp-content/uploads/2022/11/breeze-300x34.png 300w" sizes="auto, (max-width: 625px) 100vw, 625px" /></a><br />
<strong>Extraia</strong> o mesmo e mova para a pasta breeze para dentro de <strong>.icons</strong> que esta dentro da sua<strong> Pasta Pessoal</strong>, no linux tudo que começa com ponto é oculto, para exibi-los pressione <strong>CRTL+H</strong>.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor.png" alt="" width="1281" height="799" class="alignnone size-full wp-image-6897" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor.png 1281w, https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor-300x187.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor-1024x639.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor-768x479.png 768w" sizes="auto, (max-width: 1281px) 100vw, 1281px" /></a><br />
Em seguida abra <strong>Ajustes</strong>, em <strong>Aparência</strong>, <strong>Cursor</strong> selecione <strong>Breeze</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor2.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor2.png" alt="" width="1281" height="791" class="alignnone size-full wp-image-6898" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor2.png 1281w, https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor2-300x185.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor2-1024x632.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor2-768x474.png 768w" sizes="auto, (max-width: 1281px) 100vw, 1281px" /></a></p>
<p>Alguns pacotes de icones/themas você encontra no repositório também. Um bem bonito é o Papirus.</p>
<pre class="remontti-code">$ sudo apt install papirus-icon-theme</pre>
<p>Vou deixar alguns Icones/Temas que acho bonito para os temas basta colocar eles na pasta  ~/.themes<br />
<a href="https://www.gnome-look.org/p/1477945" rel="noopener" target="_blank">https://www.gnome-look.org/p/1477945</a><br />
<a href="https://www.gnome-look.org/p/1201366" rel="noopener" target="_blank">https://www.gnome-look.org/p/1201366</a><br />
<a href="https://www.gnome-look.org/p/1357889" rel="noopener" target="_blank">https://www.gnome-look.org/p/1357889</a><br />
<a href="https://www.gnome-look.org/p/1013030" rel="noopener" target="_blank">https://www.gnome-look.org/p/1013030</a><br />
<a href="https://www.gnome-look.org/p/1661983" rel="noopener" target="_blank">https://www.gnome-look.org/p/1661983</a><br />
<a href="https://www.gnome-look.org/p/1678986" rel="noopener" target="_blank">https://www.gnome-look.org/p/1678986</a><br />
<a href="https://www.gnome-look.org/p/1348081" rel="noopener" target="_blank">https://www.gnome-look.org/p/1348081</a><br />
<a href="https://www.pling.com/p/1280977" rel="noopener" target="_blank">https://www.pling.com/p/1280977</a></p>
<p><strong>GOOGLE CHROME</strong><br />
Você pode manipular as extensões pelo Google Chrome também. Primeiramente vamos instala-lo.</p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$ sudo apt install ./google-chrome-stable_current_amd64.deb chrome-gnome-shell -y</pre>
<p>Acesse no Google Chrome: <a href="https://chrome.google.com/webstore/detail/gnome-shell-integration/gphhapmejobijbbhgpjhcjognlahblep" rel="noopener" target="_blank">Integração com GNOME Shell</a> Clique em Usar no Chrome. Agora com a extensão instalada você pode administrar acessando: <a href="https://extensions.gnome.org/local/" rel="noopener" target="_blank">https://extensions.gnome.org/local/</a></p>
<p><strong>TELEGRAM</strong><br />
Telegram até esta no repositório porem recebe atualizações sempre atrasadas, etão vamos fazer a instalação manual, abra seu terminal:</p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://telegram.org/dl/desktop/linux -O tsetup.tar.xz
$ tar xvf tsetup.tar.xz
$ sudo mv Telegram/ /opt/
$ sudo chown $USER: /opt/Telegram/ -R
$ sudo ln -sf /opt/Telegram/Telegram /usr/bin/telegram
$ telegram &amp;</pre>
<p><strong>VIRTUALBOX 7</strong><br />
Vamos atualizar o repositório oficial do <a href="https://www.virtualbox.org/wiki/Linux_Downloads" rel="noopener" target="_blank">Vbox</a>.</p>
<pre class="remontti-code">$ wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo \
   gpg --dearmor --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg</pre>
<pre class="remontti-code">$ sudo nano /etc/apt/sources.list.d/virtualbox.list </pre>
<pre class="remontti-code-plain">deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg]  https://download.virtualbox.org/virtualbox/debian bookworm contrib</pre>
<p>Salve e feche.</p>
<pre class="remontti-code">$ sudo apt update
$ sudo apt install virtualbox-7.0 -y
$ sudo usermod -a -G vboxusers $USER
$ cd /tmp
$ wget https://download.virtualbox.org/virtualbox/7.0.12/Oracle_VM_VirtualBox_Extension_Pack-7.0.12.vbox-extpack
$ VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-7.0.12.vbox-extpack</pre>
<p>Uma extensão do GNOME que você pode gostar é a <a href="https://extensions.gnome.org/extension/1415/virtualbox-applet/" rel="noopener" target="_blank"><strong>Virtualbox Applet</strong></a></p>
<p><strong>DROPBOX</strong></p>
<pre class="remontti-code">$ cd /tmp/
$ sudo apt install python3-gpg -y
$ wget &quot;https://www.dropbox.com/download?dl=packages/ubuntu/dropbox_2022.12.05_amd64.deb&quot; \
  -O dropbox.deb
$ sudo apt install ./dropbox.deb -y
$ apt update
$ apt upgrade
</pre>
<p>Não achei solução ainda para o erro apt-key, então comenti a linha do repositorio.</p>
<pre class="remontti-code">$ sudo nano /etc/apt/sources.list.d/dropbox.list</pre>
<p><strong>SUBLIME-TEXT</strong></p>
<pre class="remontti-code">$ wget -O- https://download.sublimetext.com/sublimehq-pub.gpg \
  | gpg --dearmor | sudo tee /usr/share/keyrings/sublimehq-archive-keyring.gpg &amp;&gt;/dev/null
$ echo &quot;deb [signed-by=/usr/share/keyrings/sublimehq-archive-keyring.gpg] \
  https://download.sublimetext.com/ apt/stable/&quot; | \
  sudo tee /etc/apt/sources.list.d/sublime-text.list
$ sudo apt update ; sudo apt install sublime-text -y</pre>
<p><strong>VSCODE</strong></p>
<pre class="remontti-code">$ cd /tmp
$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor &gt; packages.microsoft.gpg
$ sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
$ sudo sh -c &#039;echo &quot;deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main&quot; &gt; /etc/apt/sources.list.d/vscode.list&#039;
$ sudo apt update ; sudo apt install code -y</pre>
<p><strong>TEAMVIEWER</strong></p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
$ sudo apt install ./teamviewer_amd64.deb -y</pre>
<p><strong>ANYDESK</strong></p>
<pre class="remontti-code">$ wget -qO - https://keys.anydesk.com/repos/DEB-GPG-KEY \
  | sudo tee /usr/share/keyrings/anydesk.asc
$ echo &quot;deb [signed-by=/usr/share/keyrings/anydesk.asc] \
  http://deb.anydesk.com/ all main&quot; \
  |sudo tee /etc/apt/sources.list.d/anydesk-stable.list
$ sudo apt update
$ cd /tmp 
$ wget http://ftp.br.debian.org/debian/pool/main/p/pangox-compat/libpangox-1.0-0_0.0.2-5+b2_amd64.deb
$ sudo apt install ./libpangox-1.0-0_0.0.2-5+b2_amd64.deb -y
$ sudo apt install anydesk -y
$ sudo systemctl disable anydesk</pre>
<p><strong>SKYPE</strong><br />
Para os mais idosos (e olha que eu já abandonei ele :-D)</p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://repo.skype.com/latest/skypeforlinux-64.deb
$ sudo apt install ./skypeforlinux-64.deb -y</pre>
<p>Vai precisar ajustar o repositório para nao ter erro, como não uso não pesquisei. Mas remove do repositório que esta resolvido, se precisar atualizar baixe e instale novamente.</p>
<pre class="remontti-code">$ sudo rm /etc/apt/sources.list.d/skype-stable.list</pre>
<p><strong>ONLYOFFICE</strong><br />
Melhor pacote office na minha opnião.</p>
<pre class="remontti-code">$ cd /tmp
$ wget https://download.onlyoffice.com/install/desktop/editors/linux/onlyoffice-desktopeditors_amd64.deb 
$ sudo apt install ./onlyoffice-desktopeditors_amd64.deb -y</pre>
<p><strong>GOOGLE EARTH</strong></p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://dl.google.com/dl/earth/client/current/google-earth-pro-stable_current_amd64.deb
$ sudo apt install ./google-earth-pro-stable_current_amd64.deb -y</pre>
<p><strong>CALCULADORA IPV6</strong></p>
<pre class="remontti-code">$ sudo apt install python3-pip
$ pip install --break-system-packages ipaddr
$ sudo wget https://blog.remontti.com.br/arquivos/ip6calc_py3 -O /bin/ip6calc
$ sudo chmod a+x /bin/ip6calc
$ ip6calc 2804:f123::/32</pre>
<p><strong>AJUSTES INICIALIZAÇÃO</strong><br />
Você pode estranhar o NumLock não vir ativado na inicialização para resolver isso:</p>
<pre class="remontti-code">$ sudo apt install numlockx -y
$ mkdir ~/.config/autostart/ &amp;&gt;/dev/null
$ nano ~/.config/autostart/numlockx.desktop</pre>
<p>Adicione:</p>
<pre class="remontti-code">[Desktop Entry]
Type=Application
Exec=/usr/bin/numlockx on
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[pt_BR]=Inicia NumLock Ativo
Name=Inicia NumLock Ativo
Comment[pt_BR]=Inicia NumLock Ativo
Comment=Inicia NumLock Ativo
</pre>
<p>Outro problema que você pode encontrar dependendo do seu teclado, é que o ponto no teclado numérico ao usar algum aplicativo que esteja sendo executado pelo wine/playonlinux saia uma virgula. Abra seu winbox ai e teste. Se for seu caso abra o terminal e execute:</p>
<pre class="remontti-code">$ /usr/bin/xmodmap -e &#039;keycode 129 = period</pre>
<p>Resolveu, crie uma entrada na inicialização!<br />
$ nano ~/.config/autostart/pontowine.desktop<br />
Adicione:</p>
<pre class="remontti-code">[Desktop Entry]
Type=Application
Exec=/usr/bin/xmodmap -e &#039;keycode 129 = period&#039;
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[pt_BR]=Ponto Wine
Name=Ponto Wine
Comment[pt_BR]=Ponto Wine
Comment=Ponto Wine
</pre>
<p><strong>PRINT COM FLAMESHOT</strong><br />
Gnome melhorou bastante o print nas ultimas versões mais ainda gosto mais do flameshot</p>
<pre class="remontti-code">$ sudo apt install flameshot -y</pre>
<p>Para criar um atalho abra <strong>Configurações</strong> &#8211; <strong>Teclado</strong> > <strong>Atalhos de teclado</strong> > <strong>Veja e personalize atalhos</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho.png" alt="" width="1033" height="785" class="alignnone size-full wp-image-6930" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho.png 1033w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho-300x228.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho-1024x778.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho-768x584.png 768w" sizes="auto, (max-width: 1033px) 100vw, 1033px" /></a></p>
<p>Clique em <strong>Atalhos personalizados</strong> e Adicione um novo<br />
Nome: <strong>Print Flame</strong><br />
Comando: <strong>/usr/bin/flameshot gui</strong><br />
Associar a tecla Print (Meu exemplo vou usar CTRL+Print)<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2.png" alt="" width="997" height="636" class="alignnone size-full wp-image-6931" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2.png 997w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2-300x191.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2-768x490.png 768w" sizes="auto, (max-width: 997px) 100vw, 997px" /></a></p>
<pre class="remontti-code">$ flameshot config </pre>
<p>Faça os ajustes de configurações com as suas necessidades, eu desativo as notificações e uso Enter para copiar para área de transferência. </p>
<p><strong>GIMP</strong><br />
Se você precisa editar algumas imagens (É o concorrente do photoshop)</p>
<pre class="remontti-code"> sudo apt install gimp</pre>
<p><strong>SPOTIFY</strong></p>
<pre class="remontti-code">$ curl -sS https://download.spotify.com/debian/pubkey_7A3A762FAFD4A51F.gpg \
 | sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/spotify.gpg
$ echo &quot;deb http://repository.spotify.com stable non-free&quot; | sudo \
 tee /etc/apt/sources.list.d/spotify.list
$ sudo apt update; sudo apt install spotify-client -y</pre>
<p><strong>PLAYONLINUX</strong><br />
Para executar algumas aplicações <strong>.exe</strong> Exemplo um Winbox, The Dude (Os que mais me perguntam)&#8230; </p>
<pre class="remontti-code">$ sudo dpkg --add-architecture i386 ; sudo apt update ; sudo apt upgrade
$ sudo apt install playonlinux msttcorefonts</pre>
<p>Vou demonstrar como instalar o Dude e Winbox com o playonlinux, faça download dos mesmo, vamos te terminal né!</p>
<pre class="remontti-code">$ $ cd ~/Downloads
$ wget https://download.mikrotik.com/routeros/6.48.7/dude-install-6.48.7.exe
$ wget https://download.mikrotik.com/winbox/3.38/winbox.exe</pre>
<p>Abra o Playonlinux e clique em <strong>Instalar um program</strong> e em seguida <strong>Instalar um programa não listado</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_1.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_1.png" alt="" width="946" height="619" class="alignnone size-full wp-image-6901" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_1.png 946w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_1-300x196.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_1-768x503.png 768w" sizes="auto, (max-width: 946px) 100vw, 946px" /></a></p>
<p><strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_2.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_2.png" alt="" width="847" height="566" class="alignnone size-full wp-image-6902" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_2.png 847w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_2-300x200.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_2-768x513.png 768w" sizes="auto, (max-width: 847px) 100vw, 847px" /></a></p>
<p><strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_3.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_3.png" alt="" width="857" height="570" class="alignnone size-full wp-image-6903" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_3.png 857w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_3-300x200.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_3-768x511.png 768w" sizes="auto, (max-width: 857px) 100vw, 857px" /></a></p>
<p><strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_4.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_4.png" alt="" width="850" height="563" class="alignnone size-full wp-image-6904" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_4.png 850w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_4-300x199.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_4-768x509.png 768w" sizes="auto, (max-width: 850px) 100vw, 850px" /></a><br />
Selecione <strong>Editar ou atualizar um aplicativo existente </strong>e <strong>Avançar</strong></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_5.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_5.png" alt="" width="869" height="567" class="alignnone size-full wp-image-6905" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_5.png 869w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_5-300x196.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_5-768x501.png 768w" sizes="auto, (max-width: 869px) 100vw, 869px" /></a></p>
<p>Marque <strong>Exibir unidade virtuais</strong> selecione <strong>default</strong> e <strong>Avançar</strong>.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_6.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_6.png" alt="" width="862" height="561" class="alignnone size-full wp-image-6906" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_6.png 862w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_6-300x195.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_6-768x500.png 768w" sizes="auto, (max-width: 862px) 100vw, 862px" /></a></p>
<p><strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_7.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_7.png" alt="" width="838" height="550" class="alignnone size-full wp-image-6907" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_7.png 838w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_7-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_7-768x504.png 768w" sizes="auto, (max-width: 838px) 100vw, 838px" /></a></p>
<p>Selecione <strong>32bits </strong>e <strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_8.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_8.png" alt="" width="847" height="556" class="alignnone size-full wp-image-6908" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_8.png 847w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_8-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_8-768x504.png 768w" sizes="auto, (max-width: 847px) 100vw, 847px" /></a></p>
<p>Clique em <strong>Navegar</strong>, e procure o <em>dude-install-6.xx.x.exe</em> em Downloads e clique em <strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_9.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_9.png" alt="" width="848" height="553" class="alignnone size-full wp-image-6909" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_9.png 848w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_9-300x196.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_9-768x501.png 768w" sizes="auto, (max-width: 848px) 100vw, 848px" /></a></p>
<p>Instalador será iniciado, então clique em <strong>I Agree, Next, Next</strong>, mas <font color="red">não em <strong>Close</strong></font><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_10.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_10.png" alt="" width="867" height="569" class="alignnone size-full wp-image-6912" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_10.png 867w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_10-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_10-768x504.png 768w" sizes="auto, (max-width: 867px) 100vw, 867px" /></a></p>
<p><font color="red">Não clique em <strong>Close</strong></font> ainda!<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_13.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_13.png" alt="" width="887" height="577" class="alignnone size-full wp-image-6910" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_13.png 887w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_13-300x195.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_13-768x500.png 768w" sizes="auto, (max-width: 887px) 100vw, 887px" /></a></p>
<p>Abra o explore entre na pasta Download e copie o <strong>winbox.exe </strong>para<strong> PlayOnLinux&#8217;s virtual drives/default/drive_c/Program Files/Dude</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_14.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_14.png" alt="" width="1280" height="778" class="alignnone size-full wp-image-6913" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_14.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_14-300x182.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_14-1024x622.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_14-768x467.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a><br />
Se preferir pelo terminal:</p>
<pre class="remontti-code">$ cp ~/Downloads/winbox.exe \
   ~/PlayOnLinux\&#039;s\ virtual\ drives/default/drive_c/Program\ Files/Dude/</pre>
<p>Feito isso agora sim pode clicar em <strong>Close</strong>, desta forma todos os .exe do diretório da instalação irão aparecer para criar um atalho.</p>
<p>Selecione <strong>winbox.exe</strong> e clique em <strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_15.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_15.png" alt="" width="847" height="554" class="alignnone size-full wp-image-6914" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_15.png 847w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_15-300x196.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_15-768x502.png 768w" sizes="auto, (max-width: 847px) 100vw, 847px" /></a></p>
<p>De o nome <strong>Winbox </strong>para aplicação, e clique em <strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_16.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_16.png" alt="" width="847" height="547" class="alignnone size-full wp-image-6915" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_16.png 847w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_16-300x194.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_16-768x496.png 768w" sizes="auto, (max-width: 847px) 100vw, 847px" /></a></p>
<p>Faça o mesmo para o dude.exe<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_17.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_17.png" alt="" width="855" height="562" class="alignnone size-full wp-image-6917" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_17.png 855w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_17-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_17-768x505.png 768w" sizes="auto, (max-width: 855px) 100vw, 855px" /></a></p>
<p>Agora para finalizar escolha:<strong> Eu não quero criar outro atalho</strong>, e clique em <strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_18.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_18.png" alt="" width="842" height="554" class="alignnone size-full wp-image-6918" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_18.png 842w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_18-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_18-768x505.png 768w" sizes="auto, (max-width: 842px) 100vw, 842px" /></a></p>
<p>Pode fechar o PlayOnLinux<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_19.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_19.png" alt="" width="841" height="552" class="alignnone size-full wp-image-6919" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_19.png 841w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_19-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_19-768x504.png 768w" sizes="auto, (max-width: 841px) 100vw, 841px" /></a></p>
<p>Dois atalhos/arquivos [Dude.desktop Winbox.desktop] foram criado na Área de trabalho, porém você não irá ver nada nela, pois por ao logarmos no sistema com Gnome, a extensão Desktop con NG foi desativada (Caso queira ativar) eu não gosto ehehehe. Eu irei mover eles para o menu de aplicações do sistema, para isso basta mover esses atalhos para ~/.local/share/applications, vou fazer por comando que é menos print para esse tutorial hehehe.</p>
<pre class="remontti-code">$ mv ~/Área\ de\ trabalho/*.desktop ~/.local/share/applications</pre>
<p>Pronto você pode clicar com o direito e Fixar aos favoritos.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_20.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_20.png" alt="" width="1274" height="796" class="alignnone size-full wp-image-6920" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_20.png 1274w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_20-300x187.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_20-1024x640.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_20-768x480.png 768w" sizes="auto, (max-width: 1274px) 100vw, 1274px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_21.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_21.png" alt="" width="1266" height="790" class="alignnone size-full wp-image-6921" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_21.png 1266w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_21-300x187.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_21-1024x639.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_21-768x479.png 768w" sizes="auto, (max-width: 1266px) 100vw, 1266px" /></a></p>
<p>Um dia também interessante é copiar as fontes da MS para a unidade virtal, assim as aplicações não ficam bugadas.</p>
<pre class="remontti-code">$ cp /usr/share/fonts/truetype/msttcorefonts/* \
   ~/PlayOnLinux\&#039;s\ virtual\ drives/default/drive_c/windows/Fonts/</pre>
<p><strong>CLIENTE SSH</strong><br />
Meu cliente SSH é o próprio terminal, porém você deve usar um desses programinhas de fresco que tem salvo joão, josé e maria&#8230; <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Como sou das antigas acabei que criando um Shell Script (usando dialog) para ir &#8220;catalogando&#8221; todos os servidores/roteadores que tenho acesso. Veja um exemplo simples:</p>
<pre class="remontti-code">$ sudo apt install dialog</pre>
<p>Crie um arquivo com:</p>
<pre class="remontti-code">$ nano vaiplaneta</pre>
<pre class="remontti-code-plain">#!/bin/bash
# Requer dialog
while : ; do
    resposta=$(
      dialog --stdout               \
             --title &#039;Acesso SSH&#039;  \
             --menu &#039;Selecione o Servidor:&#039; \
            0 0 0                   \
            1 &#039;IDENTIFICA - LALALA&#039; \
            2 &#039;IDENTIFICA - LALALA&#039; \
            3 &#039;IDENTIFICA - LALALA&#039; \
            4 &#039;IDENTIFICA - LALALA&#039; \
            5 &#039;IDENTIFICA - LALALA&#039; \
            6 &#039;IDENTIFICA - LALALA&#039; \
            7 &#039;IDENTIFICA - LALALA&#039; \
            8 &#039;IDENTIFICA - LALALA&#039; \
            9 &#039;IDENTIFICA - LALALA&#039; \
            0 &#039;Sair&#039; )

    [ $? -ne 0 ] &amp;&amp; break

    case &quot;$resposta&quot; in
         1) ssh -p 12345 usuario@10.10.10.10 ;;
         2) ssh -p 12345 usuario@10.10.10.10 ;;
         3) ssh -p 12345 usuario@10.10.10.10 ;;
         4) ssh -p 12345 usuario@10.10.10.10 ;;
         5) ssh -p 12345 usuario@10.10.10.10 ;;
         6) ssh -p 12345 usuario@10.10.10.10 ;;
         7) ssh -p 12345 usuario@10.10.10.10 ;;
         8) ssh -p 12345 usuario@10.10.10.10 ;;
         9) ssh -p 12345 usuario@10.10.10.10 ;;
         0) break ;;
    esac
done</pre>
<pre class="remontti-code">$ chmod +x vaiplaneta
$ ./vaiplaneta
</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/dialog.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/dialog.png" alt="" width="845" height="569" class="alignnone size-full wp-image-6943" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/dialog.png 845w, https://blog.remontti.com.br/wp-content/uploads/2022/11/dialog-300x202.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/dialog-768x517.png 768w" sizes="auto, (max-width: 845px) 100vw, 845px" /></a></p>
<p>Outro modelinho mais elaborado sub seleção&#8230;</p>
<pre class="remontti-code">$ nano gogo</pre>
<pre class="remontti-code-plain">#!/bin/bash
# Requer dialog

janela=inicial

while : ; do

    case &quot;$janela&quot; in
        inicial)
            grupo=$(
                dialog --stdout \
                    --backtitle &#039;Acessos Remoto&#039; \
                    --title &#039;ACESSO&#039; \
                    --menu &#039;Selecione o Grupo:&#039;\
                    0 0 0 \
                    1 &#039;Selecionou 1&#039; \
                    2 &#039;Selecionou 2&#039; \
            )
            [ $? -ne 0 ] &amp;&amp; break
            case &quot;$grupo&quot; in
                1) janela=selecionou_1 ;;
                2) janela=selecionou_2 ;;
            esac
        ;;

        #####

        selecionou_1)
            anterior=inicial
            selecionou_1=$(
              dialog --stdout               \
                     --title &#039;Acesso SSH&#039;  \
                     --menu &#039;Selecione o Servidor:&#039; \
                    0 0 0                   \
                    1 &#039;IDENTIFICA 1a - LALALA&#039; \
                    2 &#039;IDENTIFICA 1b - LALALA&#039; \
                    3 &#039;IDENTIFICA 1c - LALALA&#039; \
                    0 &#039;Sair&#039; )

            [ $? -ne 0 ] &amp;&amp; janela=$anterio

            case &quot;$selecionou_1&quot; in
                 1) clear; echo &quot;IDENTIFICA 1a&quot;; ssh -p 12345 usuario@10.10.10.10 ;;
                 2) clear; echo &quot;IDENTIFICA 1b&quot;; ssh -p 12345 usuario@10.10.10.10 ;;
                 3) clear; echo &quot;IDENTIFICA 1c&quot;; ssh -p 12345 usuario@10.10.10.10 ;;
                 0) break ;;
            esac
        ;;

       #####

        selecionou_2)
            anterior=inicial
            selecionou_2=$(
              dialog --stdout               \
                     --title &#039;Acesso SSH&#039;  \
                     --menu &#039;Selecione o Servidor:&#039; \
                    0 0 0                   \
                    1 &#039;IDENTIFICA 2a - LALALA&#039; \
                    2 &#039;IDENTIFICA 2b - LALALA&#039; \
                    3 &#039;IDENTIFICA 2c - LALALA&#039; \
                    0 &#039;Sair&#039; )

            [ $? -ne 0 ] &amp;&amp; janela=$anterio

            case &quot;$selecionou_2&quot; in
                 1) clear; echo &quot;IDENTIFICA 2a&quot;; ssh -p 12345 usuario@10.10.10.10 ;;
                 2) clear; echo &quot;IDENTIFICA 2b&quot;;ssh -p 12345 usuario@10.10.10.10 ;;
                 3) clear; echo &quot;IDENTIFICA 2c&quot;;ssh -p 12345 usuario@10.10.10.10 ;;
                 0) break ;;
            esac
        ;;

        #####

        *)
            echo Abortado...
            exit

        #####

    esac

    retorno=$?
    [ $retorno -eq 1   ] &amp;&amp; janela=$anterior   # cancelar
    [ $retorno -eq 255 ] &amp;&amp; break              # Esc

done</pre>
<pre class="remontti-code">$ chmod +x gogo
$ ./gogo
</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo1.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo1-300x161.png" alt="" width="300" height="161" class="alignnone size-medium wp-image-7585" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo1-300x161.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo1-768x411.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo1.png 848w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo2.png" data-rel="lightbox-gallery-6M55ig4Q" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo2-300x166.png" alt="" width="300" height="166" class="alignnone size-medium wp-image-7584" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo2-300x166.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo2-768x426.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo2.png 856w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>No meu caso utilizo Dropbox como nuvem, salvo meus script lá, então crio uma alias, assim em todos meus desktops ficam sincronizados os mesmo atalhos.<br />
No ZSH</p>
<pre class="remontti-code">$ nano ~/.zshrc</pre>
<p>No Bash</p>
<pre class="remontti-code">$ nano ~/.bashrc</pre>
<p>Adicione </p>
<pre class="remontti-code-plain">alias vaiplaneta=&#039;~/Dropbox/scripts/vaiplaneta&#039;
alias gogo=&#039;~/Dropbox/scripts/gogo&#039;</pre>
<p>Vou deixar aqui um manual para manualzinho do <a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/Dialog.manual.zip">Dialog para download</a>.</p>
<p>Um outro problema que tive foi com alguns equipamentos antigos (KexAlgorithms) algumas OLTs por exemplo, nete caso editei /etc/ssh/ssh_config e fiz as entradas de acordos com os prefixos, como no meu caso todas estão na classe 172.18.0.0/24</p>
<pre class="remontti-code">$ sudo nano /etc/ssh/ssh_config</pre>
<p>Adicionei ao final do arquivo:</p>
<pre class="remontti-code-plain">Host 172.18.0.*
    HostKeyAlgorithms ssh-dss
    KexAlgorithms diffie-hellman-group1-sha1</pre>
<p><strong>CHAVES SSH </strong><br />
Gerando as chaves</p>
<pre class="remontti-code">$ ssh-keygen -t rsa
$ nautilus ~/.ssh</pre>
<p>Salve suas chaves: id_rsa  id_rsa.pub<br />
Para instalar a chave em um servidor use o comando:</p>
<pre class="remontti-code">$ ssh-copy-id -p 22 remontti@xxx.xxx.xxx.xxx</pre>
<p>Se um dia precisar recuperando chaves do backup</p>
<pre class="remontti-code">$ cd /onde/vc/salvou/as/chaves/
$ cp id_rsa* /home/$USER/.ssh
$ chmod 600 /home/$USER/.ssh/id_rsa
$ chmod 644 /home/$USER/.ssh/id_rsa.pub</pre>
<p>Se quiser remover os jogos que vem nele (Gosto só do gnome-chess)</p>
<pre class="remontti-code">$ sudo apt purge \
 gnome-2048 \
 aisleriot \
 atomix \
 gnome-chess \
 five-or-more \
 hitori \
 iagno \
 gnome-klotski \
 lightsoff \
 gnome-mahjongg \
 gnome-mines \
 gnome-nibbles \
 quadrapassel \
 four-in-a-row \
 gnome-robots \
 gnome-sudoku \
 swell-foop \
 tali \
 gnome-taquin \
 gnome-tetravex
$ sudo apt autoremove
</pre>
<p>Uma coisa que estava acostumado era usar o botão Backspace para voltar um diretório, que atualmente é Alt + seta para esqueda. Para contornar isso:</p>
<pre class="remontti-code">$ sudo apt install python3-nautilus
$ nano ~/.local/share/nautilus-python/extensions/BackspaceBack.py</pre>
<p>Adicione:</p>
<pre class="remontti-code-plain"># Nautilus Backspace Back Extension
#
# Place me in ~/.local/share/nautilus-python/extensions/,
# ensure you have python-nautilus package, restrart Nautilus, and enjoy :)
#
# This script was written by molaeiali and is released to the public domain

import os, gi
gi.require_version(&#039;Nautilus&#039;, &#039;4.0&#039;)
from gi.repository import GObject, Nautilus, Gtk, Gio, GLib

def back():
                app = Gtk.Application.get_default()
                if not app.get_actions_for_accel(&quot;BackSpace&quot;):
                        app.set_accels_for_action( &quot;win.up&quot;, [&quot;BackSpace&quot;] )


class BackspaceBack(GObject.GObject, Nautilus.InfoProvider):
                def __init__(self):
                        pass

                def update_file_info(self, file):
                        back()
                        return None

</pre>
<p><strong>Cliente PPPoE</strong><br />
Crie o arquivo de configuração do PPPoE</p>
<pre class="remontti-code">$ sudo vim /etc/ppp/peers/meu-pppoe</pre>
<p>Adicione as linhas alterando eth0 pelo nome da sua interface de rede e user e password</p>
<pre class="remontti-code-plain">
# Interface de rede para a conexão PPPoE
plugin rp-pppoe.so eth0

# Nome de usuário e senha
user &quot;usuario&quot;
password &quot;senha&quot;

# Use o protocolo PAP para autenticação
noauth

# Persiste tentando a conexão em caso de falha
persist

# Use as opções padrão do pppd
usepeerdns
defaultroute

# Configurações para IPv6
+ipv6
ipv6cp-use-ipaddr
ipv6cp-accept-local
ipv6cp-accept-remote
</pre>
<p>Conectar PPPoE (Não esqueça de desativar a conexão cabeada pois ela vence o pppoe)</p>
<pre class="remontti-code">$ sudo pon meu-pppoe</pre>
<p>Para desativar a conexão PPPoE</p>
<pre class="remontti-code">$ sudo poff meu-pppoe</pre>
<h4>Firewall</h4>
<p>Para quem sai com seu computador por ai, que tal deixar um firewall de verdade!</p>
<pre class="remontti-code">$ sudo vim /etc/nftables.conf</pre>
<p>Ajuste para:</p>
<pre class="remontti-code-plain">
#!/usr/sbin/nft -f
flush ruleset

table inet filter {

    set ALLOWED_MACS {
        type ether_addr
        elements = {
            00:11:22:33:44:AA,
            00:11:22:33:44:BB,
        }
    }
    chain input {
        type filter hook input priority 0; policy drop;
        iif lo accept
        ct state established,related accept

        # Mikrotik Neigbor
        udp dport 5678 ct state new accept
        # Mikrotik permite os MAC
        meta l4proto udp meta pkttype { unicast } ether saddr @ALLOWED_MACS accept
    }
    chain forward {
        type filter hook forward priority 0;
    }
    chain output {
        type filter hook output priority 0;
    }
}</pre>
<p>Se você utiliza mikrotik, para que o Neigbor funcione precisa liberar a porta 5678 udp, e cadastrar os MAC do dispositivo que ira acessar (eu falei firewall de verdade!)</p>
<pre class="remontti-code">$ sudo systemctl enable nftables
$ sudo systemctl restart nftables</pre>
<p>Formata esse Windows ai p***** <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br />
Abraço!</p>
<p><strong>Gostou? Se quiser apoiar o blog e fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>O post <a href="https://blog.remontti.com.br/7512">Um pouco do meu ambiente de trabalho com Debian 12 Bookworm e Gnome 43</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7512/feed</wfw:commentRss>
			<slash:comments>20</slash:comments>
		
		
			</item>
		<item>
		<title>Instalação do Grafana 11&gt;  com integração com Zabbix &#8211; (Debian 11 Bullseye/12 Bookworm)</title>
		<link>https://blog.remontti.com.br/6370</link>
					<comments>https://blog.remontti.com.br/6370#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Wed, 14 Jun 2023 19:00:02 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[administração]]></category>
		<category><![CDATA[Configuração]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[Debian 11 Bullseye]]></category>
		<category><![CDATA[Debian 12 Bookworm]]></category>
		<category><![CDATA[ferramenta]]></category>
		<category><![CDATA[fontes de dados]]></category>
		<category><![CDATA[grafana]]></category>
		<category><![CDATA[graficos]]></category>
		<category><![CDATA[instalaçao]]></category>
		<category><![CDATA[instalação do Grafana]]></category>
		<category><![CDATA[integração]]></category>
		<category><![CDATA[integração com o Zabbix]]></category>
		<category><![CDATA[métricas]]></category>
		<category><![CDATA[monitoramento]]></category>
		<category><![CDATA[monitoramento de redes]]></category>
		<category><![CDATA[painéis]]></category>
		<category><![CDATA[software livre]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[tutorial Debian 11 Bullseye]]></category>
		<category><![CDATA[tutorial Debian 12 Bookworm]]></category>
		<category><![CDATA[tutorial Grafana]]></category>
		<category><![CDATA[tutorial passo a passo]]></category>
		<category><![CDATA[tutorial Zabbix.]]></category>
		<category><![CDATA[visualização de dados]]></category>
		<category><![CDATA[visualização de métricas]]></category>
		<category><![CDATA[zabbix]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=6370</guid>

					<description><![CDATA[<p>O Grafana é um software livre que permite a visualização de formato de dados métricos. Ele permite criar painéis e gráficos a partir de várias fontes, e neste tutorial vamos aprender a instala-lo e&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/6370">Instalação do Grafana 11&gt;  com integração com Zabbix &#8211; (Debian 11 Bullseye/12 Bookworm)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><center><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/grafana_debian.jpg" alt="" width="720" height="340" class="alignnone size-full wp-image-7454" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/grafana_debian.jpg 720w, https://blog.remontti.com.br/wp-content/uploads/2023/06/grafana_debian-300x142.jpg 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/grafana_debian-520x245.jpg 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /></center></p>
<p>O Grafana é um software livre que permite a visualização de formato de dados métricos. Ele permite criar painéis e gráficos a partir de várias fontes, e neste tutorial vamos aprender a instala-lo e integrar com o Zabbix.</p>
<h3>Requisitos:</h3>
<p>Debian<br />
<strong><a href="https://blog.remontti.com.br/7236" rel="noopener" target="_blank">Instalação Debian 12 Bookworm</a></strong><br />
<strong><a href="https://blog.remontti.com.br/5792" rel="noopener" target="_blank">Instalação Debian 11 Bullseye</a></strong><br />
Zabbix:<br />
<strong><a href="https://blog.remontti.com.br/7870" rel="noopener" target="_blank">Instalação do Zabbix 7 LTS + NGINX + PostgreSQL + Debian 12 Bookworm</a></strong><br />
<strong><a href="https://blog.remontti.com.br/7411" rel="noopener" target="_blank">Instalação do Zabbix 6 LTS + NGINX + PostgreSQL + Debian 12 Bookworm</a></strong><br />
<strong><a href="https://blog.remontti.com.br/6350" rel="noopener" target="_blank">Instalação do Zabbix 6 LTS + NGINX + PostgreSQL + Debian 11 Bullseye</a></strong></p>
<p>Vamos baixar a key do repositório e adiciona-lo </p>
<pre class="remontti-code"># apt install gnupg2 apt-transport-https software-properties-common wget
# wget -q -O - https://apt.grafana.com/gpg.key | \
 gpg --dearmor | tee /etc/apt/keyrings/grafana.gpg &gt; /dev/null
# echo &quot;deb [signed-by=/etc/apt/keyrings/grafana.gpg]\
 https://apt.grafana.com stable main&quot; &gt; /etc/apt/sources.list.d/grafana.list
</pre>
<p>Atualize o repositório e instale o grafana</p>
<pre class="remontti-code"># apt update; apt install grafana -y </pre>
<p>Já aconteu dos desenvolvedores remover do repositório o pacote grafana, nesse caso acesse:<br />
<a href="https://grafana.com/grafana/download?edition=oss" rel="noopener" target="_blank">https://grafana.com/grafana/download?edition=oss</a> e faça a instalação de forma manual.</p>
<h3>Proxy com Nginx grafana</h3>
<p>Se você esta usando como servidor web o Nginx para acessar o grafana através de um domínio faça: (se o seu for apache pule)</p>
<pre class="remontti-code"># vim /etc/nginx/sites-available/grafana.conf</pre>
<p>Adicione:</p>
<pre class="remontti-code">server {
    listen 80;
    listen [::]:80;

    server_name grafana.remontti.com.br;

    # Descomente para restringir o acesso apenas aos IPs Listados
    # allow 127.0.0.1;
    # allow ::1;
    # allow 192.168.0.0/16;
    # allow 2801:db8::/32;
    # deny  all;
    # error_page  403   http://www.remontti.com.br;
 
    location / {
        proxy_pass http://127.0.0.1:3000;  # Porta padrão do Grafana
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 90;

        # Suporte a WebSocket
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection &quot;upgrade&quot;;
        proxy_cache_bypass $http_upgrade;
    }
}</pre>
<p>Cria o link para sites-enabled em seguida verifique as configurações e reinicie o serviço.</p>
<pre class="remontti-code"># ln -s /etc/nginx/sites-available/grafana.conf /etc/nginx/sites-enabled/
# nginx -t
# systemctl restart nginx</pre>
<h3>Proxy com Apache grafana</h3>
<p>Se você esta usando como servidor web o Apache para acessar o grafana através de um domínio faça:</p>
<pre class="remontti-code"># a2enmod rewrite; a2enmod headers; a2enmod proxy ; a2enmod proxy_http ; 
mkdir /var/www/grafana
</pre>
<pre class="remontti-code"># vim /etc/apache2/sites-available/grafana.conf</pre>
<p>Adicione:</p>
<pre class="remontti-code">&lt;VirtualHost *:80&gt;
	Protocols h2 http/1.1
	ServerName grafana.remontti.com.br
	ServerAdmin noc@remontti.com.br
	DocumentRoot /var/www/grafana

	ErrorDocument 403 http://www.remontti.com.br

	&lt;Directory /var/www/grafana/&gt;
		Options Indexes FollowSymLinks
		AllowOverride all
		# Descomente para restringir o acesso apenas aos IPs Listados
		# Require ip 127.0.0.1 ::1 200.200.200.0/26 2001:db8:cafe::/48
	&lt;/Directory&gt;

	LogLevel warn

	ProxyPreserveHost On
	ProxyPass / http://127.0.0.1:3000/
	ProxyPassReverse / http://127.0.0.1:3000/

	ErrorLog ${APACHE_LOG_DIR}/grafana_error.log
	CustomLog ${APACHE_LOG_DIR}/grafana_access.log combined
	TransferLog ${APACHE_LOG_DIR}/grafana_access.log

&lt;/VirtualHost&gt;</pre>
<p>Ative a nova configuração e reinicie o Apache:</p>
<pre class="remontti-code"># a2ensite grafana
# systemctl restart apache2</pre>
<p>Vamos fazer alguns ajustes:</p>
<pre class="remontti-code"># vim /etc/grafana/grafana.ini</pre>
<p>Como utilizei um proxy irei executar o grafana apenas em modo localhost para que a porta 3000 fique aberta apenas para ele mesmo. Localize <strong>;http_addr = </strong> e deixe assim: </p>
<pre class="remontti-code">http_addr = 127.0.0.1</pre>
<p>Em <strong>;domain =</strong> ajuste para seu domínio.</p>
<pre class="remontti-code">domain = grafana.remontti.com.br</pre>
<p>E ajuste a <strong>;root_url = %(protocol)s://%(domain)s:%(http_port)s/</strong> para:</p>
<pre class="remontti-code">root_url = %(protocol)s://%(domain)s/</pre>
<p>Instale o <strong>Plugin Zabbix</strong></p>
<pre class="remontti-code"># grafana-cli plugins install alexanderzobnin-zabbix-app</pre>
<p>É recomendado que mensalmente você faça atualizações dos plugins instalados, com o comando:</p>
<pre class="remontti-code"># grafana-cli plugins update-all</pre>
<p>Depois da versão 11.1 existe um bug que acaba nao dando permissão para o usuário grafana ler/gravar em /var/lib/grafana/plugins, então corrija utilizando o comando: </p>
<pre class="remontti-code"># chown -R grafana: /var/lib/grafana/plugins</pre>
<p>Agora sim colocamos o Grafana para iniciar junto com a inicialização, ativamos e inicializamos o serviço:</p>
<pre class="remontti-code"># systemctl daemon-reload
# systemctl enable grafana-server
# systemctl start grafana-server</pre>
<p>Acesse em seu navegador seu <strong>&#8220;http://grafana._______.___.__&#8221;</strong> ou então <strong>http://IP_URL:3000</strong> ou pela porta que você alterou. O nome de usuário padrão é <strong>admin</strong> e a senha padrão é <strong>admin</strong>.</p>
<p>Se caso perder a senha de admin pode resetar ela com o comando:</p>
<pre class="remontti-code">grafana-cli admin reset-admin-password admin</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12.png" data-rel="lightbox-gallery-BmzOAcN8" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12.png" alt="" width="1920" height="974" class="alignnone size-full wp-image-7430" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12.png 1920w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12-300x152.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12-1024x519.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12-768x390.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12-1536x779.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a><br />
Ao fazer login pela primeira vez, você será solicitado a <strong>alterar sua senha</strong>.</p>
<h4>Integração com a base de dados Zabbix</h4>
<p>Acesse o Menu (1) Administration (2) Plugins(3) Localize o Zabbix e clique no mesmo.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_3.png" data-rel="lightbox-gallery-BmzOAcN8" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_3.png" alt="" width="794" height="626" class="alignnone size-full wp-image-7433" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_3.png 794w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_3-300x237.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_3-768x606.png 768w" sizes="auto, (max-width: 794px) 100vw, 794px" /></a></p>
<p>Escreva na pesquisa (1) Zabbix e em seguida clique sobre (2)<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_4.png" data-rel="lightbox-gallery-BmzOAcN8" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_4.png" alt="" width="1064" height="607" class="alignnone size-full wp-image-7435" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_4.png 1064w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_4-300x171.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_4-1024x584.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_4-768x438.png 768w" sizes="auto, (max-width: 1064px) 100vw, 1064px" /></a></p>
<p>Clique em Enable (1)<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_5.png" data-rel="lightbox-gallery-BmzOAcN8" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_5.png" alt="" width="1654" height="722" class="alignnone size-full wp-image-7436" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_5.png 1654w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_5-300x131.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_5-1024x447.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_5-768x335.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_5-1536x670.png 1536w" sizes="auto, (max-width: 1654px) 100vw, 1654px" /></a></p>
<p>Volte ao Menu (1) abra Connections (2) Clique em Data sources (3)<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_6.png" data-rel="lightbox-gallery-BmzOAcN8" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_6.png" alt="" width="801" height="558" class="alignnone size-full wp-image-7437" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_6.png 801w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_6-300x209.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_6-768x535.png 768w" sizes="auto, (max-width: 801px) 100vw, 801px" /></a></p>
<p>Clique em Add data sourece<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_7.png" data-rel="lightbox-gallery-BmzOAcN8" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_7.png" alt="" width="1659" height="573" class="alignnone size-full wp-image-7438" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_7.png 1659w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_7-300x104.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_7-1024x354.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_7-768x265.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_7-1536x531.png 1536w" sizes="auto, (max-width: 1659px) 100vw, 1659px" /></a></p>
<p>Escreve na busca (1) Zabbix e clique nele (2)<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_8.png" data-rel="lightbox-gallery-BmzOAcN8" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_8.png" alt="" width="1648" height="432" class="alignnone size-full wp-image-7439" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_8.png 1648w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_8-300x79.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_8-1024x268.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_8-768x201.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_8-1536x403.png 1536w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></a></p>
<p>Agora em URL<strong> http://localhost/api_jsonrpc.php</strong> se você seguiu o tutorial do bloque para instalação do zabbix com domínio deve ter visto uma alias também para localhost, caso contrário informe os dados correto da URL do seu Zabbix.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_9.png" data-rel="lightbox-gallery-BmzOAcN8" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_9.png" alt="" width="1657" height="907" class="alignnone size-full wp-image-7440" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_9.png 1657w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_9-300x164.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_9-1024x561.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_9-768x420.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_9-1536x841.png 1536w" sizes="auto, (max-width: 1657px) 100vw, 1657px" /></a></p>
<p>Role mais um pouco e informe o usuário e senha do zabbix (eu gosto de criar um usuário só para isso)<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_10.png" data-rel="lightbox-gallery-BmzOAcN8" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_10.png" alt="" width="1646" height="971" class="alignnone size-full wp-image-7441" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_10.png 1646w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_10-300x177.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_10-1024x604.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_10-768x453.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_10-1536x906.png 1536w" sizes="auto, (max-width: 1646px) 100vw, 1646px" /></a></p>
<p>Clique em Save &#038; test (1) Se tudo ocorrer bem você receberá uma mensagem de sucesso (2)<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_11.png" data-rel="lightbox-gallery-BmzOAcN8" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_11.png" alt="" width="1367" height="524" class="alignnone size-full wp-image-7442" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_11.png 1367w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_11-300x115.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_11-1024x393.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_11-768x294.png 768w" sizes="auto, (max-width: 1367px) 100vw, 1367px" /></a></p>
<p>Volte ao Menu, Connections, Data source (1) e clique em Add new data source (2)<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_12.png" data-rel="lightbox-gallery-BmzOAcN8" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_12.png" alt="" width="1668" height="591" class="alignnone size-full wp-image-7444" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_12.png 1668w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_12-300x106.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_12-1024x363.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_12-768x272.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_12-1536x544.png 1536w" sizes="auto, (max-width: 1668px) 100vw, 1668px" /></a></p>
<p>Iremos adicionar o Postgresql para otimizar as consultas no zabbix, isso faz total diferença em otimização! Então pesquise (1) por Postgresql e clique sobre (2)<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_13.png" data-rel="lightbox-gallery-BmzOAcN8" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_13.png" alt="" width="1653" height="486" class="alignnone size-full wp-image-7445" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_13.png 1653w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_13-300x88.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_13-1024x301.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_13-768x226.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_13-1536x452.png 1536w" sizes="auto, (max-width: 1653px) 100vw, 1653px" /></a></p>
<p>Informe os dados de conexão com o Postgres qual usou na instalação da base do zabbix.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_14.png" data-rel="lightbox-gallery-BmzOAcN8" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_14.png" alt="" width="1653" height="930" class="alignnone size-full wp-image-7446" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_14.png 1653w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_14-300x169.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_14-1024x576.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_14-768x432.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_14-1536x864.png 1536w" sizes="auto, (max-width: 1653px) 100vw, 1653px" /></a></p>
<p>Role para baixo e selecione a versão (1) do seu PostgreSQL. Para Debian 12 a versão é a 15, e para Debian 11 a versão é a 13. Em Seguida Clique em Save &#038; Test (2) Se uma mensagem de sucesso (3) aparecer tudo funcionou!<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_15.png" data-rel="lightbox-gallery-BmzOAcN8" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_15.png" alt="" width="1649" height="791" class="alignnone size-full wp-image-7447" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_15.png 1649w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_15-300x144.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_15-1024x491.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_15-768x368.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_15-1536x737.png 1536w" sizes="auto, (max-width: 1649px) 100vw, 1649px" /></a></p>
<p>Volte ao Menu, Connections, Data source (1) e clique em Zabbix (2)<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_16.png" data-rel="lightbox-gallery-BmzOAcN8" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_16.png" alt="" width="1661" height="486" class="alignnone size-full wp-image-7449" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_16.png 1661w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_16-300x88.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_16-1024x300.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_16-768x225.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_16-1536x449.png 1536w" sizes="auto, (max-width: 1661px) 100vw, 1661px" /></a></p>
<p>Role até achar Direct DB Connection (1) e clique em enable (2), em Data Source selecione PostgreSQL (3) em seguida clique em Save &#038; Test (4), você receberá uma mensagem de sucesso (5)<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_17.png" data-rel="lightbox-gallery-BmzOAcN8" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_17.png" alt="" width="1586" height="556" class="alignnone size-full wp-image-7450" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_17.png 1586w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_17-300x105.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_17-1024x359.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_17-768x269.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/grafana_10_debian12_17-1536x538.png 1536w" sizes="auto, (max-width: 1586px) 100vw, 1586px" /></a></p>
<p>Agora vem a parte mais &#8220;legal&#8221; que é você montar seus gráficos, como isso é algo bem peculiar de cada um, o intuito aqui era ensinar instalar. Recomendo a leitura de <a href="https://alexanderzobnin.github.io/grafana-zabbix/guides/gettingstarted/" rel="noopener noreferrer" target="_blank">Introdução ao Grafana-Zabbix</a> do autor do plugin.</p>
<p>Simples né? Gostou e quer me ajudar? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p>Fontes:<br />
<a href="https://grafana.com/docs/grafana/latest/installation/debian/" rel="noopener" target="_blank">https://grafana.com/docs/grafana/latest/installation/debian/</a><br />
<a href="https://grafana.com/grafana/plugins/alexanderzobnin-zabbix-app" rel="noopener" target="_blank">https://grafana.com/grafana/plugins/alexanderzobnin-zabbix-app</a><br />
<a href="https://www.zabbix.com/documentation/" rel="noopener" target="_blank">https://www.zabbix.com/documentation/</a></p>
<p>O post <a href="https://blog.remontti.com.br/6370">Instalação do Grafana 11&gt;  com integração com Zabbix &#8211; (Debian 11 Bullseye/12 Bookworm)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/6370/feed</wfw:commentRss>
			<slash:comments>15</slash:comments>
		
		
			</item>
		<item>
		<title>Instalação do Zabbix 6 LTS + NGINX + PostgreSQL + Debian 12 Bookworm</title>
		<link>https://blog.remontti.com.br/7411</link>
					<comments>https://blog.remontti.com.br/7411#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Wed, 14 Jun 2023 18:23:53 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[administração]]></category>
		<category><![CDATA[automação]]></category>
		<category><![CDATA[banco de dados]]></category>
		<category><![CDATA[Configuração]]></category>
		<category><![CDATA[configuração do NGINX]]></category>
		<category><![CDATA[Debian 12 Bookworm]]></category>
		<category><![CDATA[escalabilidade]]></category>
		<category><![CDATA[ferramenta]]></category>
		<category><![CDATA[gerenciamento]]></category>
		<category><![CDATA[infraestrutura]]></category>
		<category><![CDATA[instalaçao]]></category>
		<category><![CDATA[instalação do Zabbix]]></category>
		<category><![CDATA[integração com o PostgreSQL]]></category>
		<category><![CDATA[monitoramento]]></category>
		<category><![CDATA[monitoramento de rede]]></category>
		<category><![CDATA[monitoramento de servidores]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[redes]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Servidor]]></category>
		<category><![CDATA[servidores web]]></category>
		<category><![CDATA[setup]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[TI]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[tutorial Debian 12 Bookworm]]></category>
		<category><![CDATA[tutorial NGINX]]></category>
		<category><![CDATA[tutorial passo a passo]]></category>
		<category><![CDATA[tutorial PostgreSQL]]></category>
		<category><![CDATA[tutorial Zabbix 6 LTS]]></category>
		<category><![CDATA[Zabbix 6 LTS]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7411</guid>

					<description><![CDATA[<p>O Zabbix é uma solução de nível enterprise, de código aberto. O Zabbix é um software que monitora vários parâmetros da rede, dos servidores e da saúde dos serviços. Utiliza-se de um mecanismo flexível&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7411">Instalação do Zabbix 6 LTS + NGINX + PostgreSQL + Debian 12 Bookworm</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/zabbix_6_debian_12.jpg" alt="" width="720" height="340" class="alignnone size-full wp-image-7421" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/zabbix_6_debian_12.jpg 720w, https://blog.remontti.com.br/wp-content/uploads/2023/06/zabbix_6_debian_12-300x142.jpg 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/zabbix_6_debian_12-520x245.jpg 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /></p>
<p>O <strong>Zabbix</strong> é uma solução de nível enterprise, de código aberto. O Zabbix é um software que monitora vários parâmetros da rede, dos servidores e da saúde dos serviços. Utiliza-se de um mecanismo flexível de notificação que permite configurar alertas por e-mail entre outros como Telegram, para praticamente qualquer evento. As notificações permitem que se reaja rapidamente à problemas no ambiente. O Zabbix oferece excelentes recursos de relatórios e visualização de dados armazenados. Isso faz com que o Zabbix seja a ferramenta ideal para planejamento de capacidade.</p>
<h4>Requisitos Debian 12 Bookworm </h4>
<p>&#8211; <a href="https://blog.remontti.com.br/7236" rel="noopener" target="_blank">Instalação do Debian 12 Bookworm limpa passo-a-passo</a><br />
&#8211; <a href="https://blog.remontti.com.br/7413" rel="noopener" target="_blank">Servidor WEB NGINX + PHP 8.2 + PostgreSQL +Let’s Encrypt Debian 12 Bookworm (LNP)</a></p>
<h1>Instalação do Zabbix 6 LTS </h1>
<p>Para instalação do Zabbix vamos incluir o repositório do oficial do Zabbix Versão 6 LTS.</p>
<pre class="remontti-code"># su -
# cd /tmp
# apt install wget</pre>
<p><strong>Repositório  Debian 12</strong></p>
<pre class="remontti-code"># cd /tmp/
# wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-5+debian12_all.deb
# apt install ./zabbix-release_6.0-5+debian12_all.deb
# apt update; apt upgrade -y; apt update</pre>
<pre class="remontti-code"># apt install zabbix-server-pgsql zabbix-frontend-php php-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent</pre>
<p>Vamos criar uma base de dados chamada <strong>zabbix</strong> e um usuário também chamado de zabbix no PostgreSQL.<br />
Não esqueça de alterar a senha: Use o gerador de senha: <a href="https://senhasegura.remontti.com.br/" rel="noopener noreferrer" target="_blank">https://senhasegura.remontti.com.br/</a></p>
<pre class="remontti-code"># su - postgres
$ createuser --pwprompt zabbix
Digite a senha para a nova role:  &lt;SENHA ZABBIX&gt;
Digite-a novamente: &lt;SENHA ZABBIX&gt;
Senha: &lt;SENHA POSTGRES CASO TENHA DEFINIDO NA INSTALAÇÃO DO MESMO&gt;

$ createdb -O zabbix zabbix
Senha: &lt;SENHA POSTGRES&gt;</pre>
<p>Importe o esquema inicial e os dados. Você será solicitado a inserir a senha que foi criada anteriormente.</p>
<pre class="remontti-code">$ zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | psql -U zabbix -d zabbix &amp;&gt;/dev/null
Senha para usuário zabbix: : &lt;SENHA ZABBIX&gt;
$ exit</pre>
<p>Edite o arquivo zabbix_server.conf para informar os dados para conexão com do PostgreSQL.</p>
<pre class="remontti-code"># vim /etc/zabbix/zabbix_server.conf</pre>
<p>Procure por <strong># DBPassword=</strong> descomente e sete sua senha.</p>
<pre class="remontti-code">#...
DBPassword=&lt;SENHA ZABBIX&gt;
#...</pre>
<p>Ajuste o arquivo /etc/zabbix/php-fpm.conf, descomente e defina o fuso horário correto. <a href="https://secure.php.net/manual/pt_BR/timezones.america.php" rel="noopener noreferrer" target="_blank">timezone</a> Sua região</a>.</p>
<pre class="remontti-code"># vim /etc/zabbix/php-fpm.conf</pre>
<p>Adicione:</p>
<pre class="remontti-code">php_value[date.timezone] = America/Sao_Paulo</pre>
<p>Ajuste as configurações do nginx.</p>
<pre class="remontti-code"># vim /etc/nginx/conf.d/zabbix.conf </pre>
<p>Deixei algumas linhas comentadas como exemplo, faça de acordo com sua necessidade.</p>
<pre class="remontti-code">server {
        listen 80;
        listen [::]:80;
        server_name    zabbix.remontti.com.br localhost;
        #server_name   OU_SEU_IP;

        # Metodo simples para quem quer rodar em uma determinada porta
        #listen 8181;
        #listen [::]:8181;
        #server_name     _;

        root    /usr/share/zabbix;
        index   index.php;

        # Desmomente para deixar restringido apenas para determinados prefixos
        #allow  192.168.87.0/24;
        #allow  127.0.0.1;
        #allow  2001:0db8::/32;
        #allow  ::1;
        #deny   all;
        #error_page  403   http://www.remontti.com.br;

        client_max_body_size 100M;
 
        location = /favicon.ico {
                log_not_found   off;
        }

        location / {
                try_files       $uri $uri/ =404;
        }

        location /assets {
                access_log      off;
                expires         10d;
        }

        location ~ /\.ht {
                deny            all;
        }

        location ~ /(api\/|conf[^\.]|include|locale) {
                deny            all;
                return          404;
        }

        location ~ [^/]\.php(/|$) {
                fastcgi_pass    unix:/var/run/php/zabbix.sock;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_index   index.php;

                fastcgi_param   DOCUMENT_ROOT   /usr/share/zabbix;
                fastcgi_param   SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name;
                fastcgi_param   PATH_TRANSLATED /usr/share/zabbix$fastcgi_script_name;

                include fastcgi_params;
                fastcgi_param   QUERY_STRING    $query_string;
                fastcgi_param   REQUEST_METHOD  $request_method;
                fastcgi_param   CONTENT_TYPE    $content_type;
                fastcgi_param   CONTENT_LENGTH  $content_length;

                fastcgi_intercept_errors        on;
                fastcgi_ignore_client_abort     off;
                fastcgi_connect_timeout         60;
                fastcgi_send_timeout            180;
                fastcgi_read_timeout            180;
                fastcgi_buffer_size             128k;
                fastcgi_buffers                 4 256k;
                fastcgi_busy_buffers_size       256k;
                fastcgi_temp_file_write_size    256k;
        }
}
</pre>
<p>Inicie o servidor Zabbix e os processos do agente e configure-os para que sejam iniciados durante o boot do sistema.</p>
<pre class="remontti-code"># systemctl enable zabbix-server zabbix-agent</pre>
<pre class="remontti-code"># vim /etc/php/8.2/fpm/php.ini</pre>
<p>Localize <strong>max_execution_time</strong> e altere de 30 para 600</p>
<pre class="remontti-code">max_execution_time = 600</pre>
<pre class="remontti-code"># systemctl restart zabbix-server zabbix-agent nginx php8.2-fpm</pre>
<p>Acesse em seu navegador <strong>http://seu_ip:porta</strong> ou <strong>http://zabbix.seudominio.com.br</strong></p>
<p><strong>Selecione o Edioma, e Próximo passo</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_1.png" alt="" width="1562" height="827" class="alignnone size-full wp-image-6360" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_1.png 1562w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_1-300x159.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_1-1024x542.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_1-768x407.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_1-1536x813.png 1536w" sizes="auto, (max-width: 1562px) 100vw, 1562px" /></p>
<p>Se tudo estiver ok: <strong>Próximo passo</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_2.png" alt="" width="1562" height="1275" class="alignnone size-full wp-image-6361" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_2.png 1562w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_2-300x245.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_2-1024x836.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_2-768x627.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_2-1536x1254.png 1536w" sizes="auto, (max-width: 1562px) 100vw, 1562px" /></p>
<p>Selecione <strong>PostgreSQL</strong> e informe a <strong>senha do usuário zabbix </strong>criada anteriormente, clique em <strong>Próximo passo</strong>.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_3.png" alt="" width="1562" height="804" class="alignnone size-full wp-image-6362" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_3.png 1562w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_3-300x154.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_3-1024x527.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_3-768x395.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_3-1536x791.png 1536w" sizes="auto, (max-width: 1562px) 100vw, 1562px" /></p>
<p><strong>Defina um nome, e selecione o Tema padrão e clique em Próximo passo</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_4.png" alt="" width="1562" height="766" class="alignnone size-full wp-image-6363" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_4.png 1562w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_4-300x147.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_4-1024x502.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_4-768x377.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_4-1536x753.png 1536w" sizes="auto, (max-width: 1562px) 100vw, 1562px" /></p>
<p><strong>Se tudo estiver ok, Próximo passo</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_5.png" alt="" width="1562" height="766" class="alignnone size-full wp-image-6364" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_5.png 1562w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_5-300x147.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_5-1024x502.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_5-768x377.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_5-1536x753.png 1536w" sizes="auto, (max-width: 1562px) 100vw, 1562px" /></p>
<p><strong>Fim</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_6.png" alt="" width="1562" height="766" class="alignnone size-full wp-image-6365" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_6.png 1562w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_6-300x147.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_6-1024x502.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_6-768x377.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_6-1536x753.png 1536w" sizes="auto, (max-width: 1562px) 100vw, 1562px" /></p>
<p>Entre com Usuário <strong>Admin</strong> e senha <strong>zabbix</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_7.png" alt="" width="1562" height="766" class="alignnone size-full wp-image-6366" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_7.png 1562w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_7-300x147.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_7-1024x502.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_7-768x377.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_7-1536x753.png 1536w" sizes="auto, (max-width: 1562px) 100vw, 1562px" /></p>
<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_8.png" alt="" width="1562" height="1151" class="alignnone size-full wp-image-6367" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_8.png 1562w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_8-300x221.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_8-1024x755.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_8-768x566.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_8-1536x1132.png 1536w" sizes="auto, (max-width: 1562px) 100vw, 1562px" /></p>
<p>Simples né? Gostou e quer me ajudar? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p>Fontes:<br />
<a href="https://www.zabbix.com/documentation/" rel="noopener" target="_blank">https://www.zabbix.com/documentation/</a></p>
<p>O post <a href="https://blog.remontti.com.br/7411">Instalação do Zabbix 6 LTS + NGINX + PostgreSQL + Debian 12 Bookworm</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7411/feed</wfw:commentRss>
			<slash:comments>11</slash:comments>
		
		
			</item>
		<item>
		<title>Servidor WEB NGINX + PHP 8.2 + PostgreSQL +Let’s Encrypt  Debian 12 Bookworm (LNP)</title>
		<link>https://blog.remontti.com.br/7413</link>
					<comments>https://blog.remontti.com.br/7413#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Wed, 14 Jun 2023 17:32:09 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[bookworm]]></category>
		<category><![CDATA[Debian 12]]></category>
		<category><![CDATA[Let’s Encrypt]]></category>
		<category><![CDATA[LNP]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[PHP 8.2]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[Servidor WEB]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7413</guid>

					<description><![CDATA[<p>Neste tutorial vamos configurar um servidor web com NGINX (lê-se “engine x”), o concorrente do Apache. NGINX é um servidor web (HTTP e IMAP/POP3/Proxy) rápido, leve e com inúmeras possibilidades de configuração para melhor&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7413">Servidor WEB NGINX + PHP 8.2 + PostgreSQL +Let’s Encrypt  Debian 12 Bookworm (LNP)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/lnp_debian_12-1.jpg" alt="" width="720" height="340" class="alignnone size-full wp-image-7423" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/lnp_debian_12-1.jpg 720w, https://blog.remontti.com.br/wp-content/uploads/2023/06/lnp_debian_12-1-300x142.jpg 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/lnp_debian_12-1-520x245.jpg 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /></p>
<p>Neste tutorial vamos configurar um servidor web com NGINX (lê-se “engine x”), o concorrente do Apache. NGINX é um servidor web (HTTP e IMAP/POP3/Proxy) rápido, leve e com inúmeras possibilidades de configuração para melhor performance. O Apache, sem dúvidas, é o servidor web mais popular. No entanto, o NGINX a cada ano ganha mais popularidade e está sendo a preferência dos novos projetos. Também estarei instalando o banco de dados PostgreSQL e phpPgAdmin como gerenciador web. </p>
<p>Distribuição utilizada: <strong><a href="https://blog.remontti.com.br/7236" rel="noopener noreferrer" target="_blank">Debian 12 Bookworm / Instalação Limpa</a></strong></p>
<h3>NGINX 1.22</h3>
<p><a href="https://www.nginx.com" rel="noopener" target="_blank">https://www.nginx.com</a><br />
Vamos instalar-lo e remover a assinatura para que não vejam a versão do mesmo (Boas praticas)</p>
<pre class="remontti-code"># apt install nginx
# sed -i &#039;s/# server_tokens/server_tokens/&#039; /etc/nginx/nginx.conf
# systemctl restart nginx</pre>
<p>Acesse agora em seu navegador http://IP-SERVIDOR/<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx1.png" alt="" width="1100" height="310" class="alignnone size-full wp-image-5467" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx1.png 1100w, https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx1-300x85.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx1-1024x289.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx1-768x216.png 768w" sizes="auto, (max-width: 1100px) 100vw, 1100px" /><br />
Pronto nosso NGINX está rodando! </p>
<h3>PostgreSQL</h3>
<pre class="remontti-code"># apt install postgresql postgresql-contrib</pre>
<p>Torne-se o usuário postgres, para poder criar o banco de dados.</p>
<pre class="remontti-code"># su - postgres</pre>
<p>Execute para entrar no terminal de comandos do banco.</p>
<pre class="remontti-code">$ psql</pre>
<p>Para definir a senha do usuário postgres e instalar o adminpack.</p>
<pre class="remontti-code">postgres=# \password postgres
Digite nova senha para postgres: 
Digite-a novamente:
postgres=# CREATE EXTENSION adminpack;
CREATE EXTENSION
postgres=# \q 
$ exit</pre>
<p>Ajustes no pg_hba.conf, assim toda alteração será necessaria validação do postgres com a senha que acabou de definir.</p>
<pre class="remontti-code"># vim /etc/postgresql/15/main/pg_hba.conf</pre>
<p>Altere as seguintes linhas: </p>
<pre class="remontti-code">local   all             postgres                                peer
local   all             all                                     peer</pre>
<p>Para:</p>
<pre class="remontti-code">local   all             postgres                                md5
local   all             all                                     md5</pre>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/04/postgres.png" alt="" width="1010" height="268" class="alignnone size-full wp-image-5501" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/04/postgres.png 1010w, https://blog.remontti.com.br/wp-content/uploads/2021/04/postgres-300x80.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/04/postgres-768x204.png 768w" sizes="auto, (max-width: 1010px) 100vw, 1010px" /><br />
Reinicie o postgres</p>
<pre class="remontti-code"># systemctl restart postgresql</pre>
<p>Volte para o postgres</p>
<pre class="remontti-code"># su - postgres</pre>
<p>Agora para toda ação será necessário autenticar.</p>
<pre class="remontti-code">$ psql 
Senha para usuário postgres: !!SUA_SENHA!!
psql (15.3 (Debian 15.3-0+deb12u1))
Type &quot;help&quot; for help.
postgres-# \q</pre>
<p>Para demonstração irei criar um banco/usuário teste, não esqueça de alterar a senha.</p>
<pre class="remontti-code">$ createuser --pwprompt teste
Digite a senha para a nova role: &lt;&lt; NOVA SENHA PARA O USUÁRIO TESTE
Digite-a novamente: &lt;&lt; REPITA
Senha: &lt;&lt; SENHA DO QUE SETOU ANTES  NO COMANDO &quot;\password postgres&quot;</pre>
<p>Agora crie o  banco e vincule ao usuário.</p>
<pre class="remontti-code">$ createdb -O teste meubd
Senha: &lt;&lt;&lt; SENHA DO POSTGRES </pre>
<p>Verifique se o mesmo foi criado.</p>
<pre class="remontti-code">$ psql -l 
Senha para usuário postgres: 
                               Lista dos bancos de dados
   Nome    |   Dono   | Codificação |   Collate   |    Ctype    | Privilégios de acesso 
-----------+----------+-------------+-------------+-------------+-----------------------
 meubd     | teste    | UTF8        | pt_BR.UTF-8 | pt_BR.UTF-8 | 
....
....</pre>
<p>Acessamos agora o bd teste.</p>
<pre class="remontti-code">$ psql -U teste -d meubd
Senha do usuário teste: 
psql (15.3 (Debian 15.3-0+deb12u1))
Digite &quot;help&quot; para ajuda.

meubd=&gt;</pre>
<p>Vamos fazer uma "brincadeira" só para testar, criaremos uma tabela e inseriremos dados nela.</p>
<pre class="remontti-code">meubd=&gt; CREATE TABLE doacao ( id int,nome text, valor text );
meubd=&gt; INSERT INTO doacao (id,nome,valor) values (1,&#039;Rudimar Remontti&#039;,&#039;R$ 5,00&#039;); 
meubd=&gt; SELECT * FROM doacao;

 id |       nome       |  valor  
----+------------------+---------
  1 | Rudimar Remontti | R$ 5,00

meubd=&gt; \q</pre>
<p>Se deseja remover o banco/usuário teste.</p>
<pre class="remontti-code">$ dropdb meubd
Senha: &lt;&lt; SENHA DO POSTGRES
$ dropuser teste
Senha: &lt;&lt; SENHA DO POSTGRES</pre>
<p>Volte para root</p>
<pre class="remontti-code">$ exit</pre>
<h3>PHP 8.2</h3>
<p>Incluirei algumas extensões do PHP que são normalmente utilizada também na instalação.</p>
<pre class="remontti-code">#  apt install --no-install-recommends \
 php php-{fpm,cli,mysql,pear,gd,gmp,bcmath,mbstring,curl,xml,zip,json,pgsql}</pre>
<p>Agora vamos fazer a "integração" do PHP com o NGINX. Moveremos o arquivo defaul.</p>
<pre class="remontti-code"># mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.original</pre>
<p>Crie um novo:</p>
<pre class="remontti-code"># vim /etc/nginx/sites-available/default</pre>
<p>Ajuste:</p>
<pre class="remontti-code">server {
    listen 80;
    listen [::]:80;

    root /var/www/html;
    index index.php index.html index.htm;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
    }
}</pre>
<p>Teste a configuração se não tem nada errado e restart os serviços:</p>
<pre class="remontti-code"># nginx -t
# systemctl restart nginx php8.2-fpm</pre>
<p>Vamos criar um arquivo em PHP para testa se nosso NGINX está interpretando o PHP.</p>
<pre class="remontti-code"># echo &#039;&lt;?php phpinfo();&#039; &gt;&gt; /var/www/html/teste.php</pre>
<p>Acesse em seu navegador <strong>http://IP-SERVIDOR/teste.php</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/debian12_php8.2.png" data-rel="lightbox-gallery-KgI0hKWV" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/debian12_php8.2-300x292.png" alt="" width="300" height="292" class="alignnone size-medium wp-image-7417" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/debian12_php8.2-300x292.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/debian12_php8.2-768x748.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/06/debian12_php8.2.png 950w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
Servidor WEB com PHP está funcionando! </p>
<p>Exemplo para multiplos domínios/subdomínios </p>
<pre class="remontti-code"># vim /etc/nginx/sites-available/sub1.conf</pre>
<p>Neste ex: vou representar o <em>sub1.remontti.com.br</em></p>
<pre class="remontti-code">server {
    listen 80;
    listen [::]:80;

    root /var/www/sub1;
    index index.php index.html index.htm;

    add_header Strict-Transport-Security &quot;max-age=31536000; includeSubDomains&quot; always;

    server_name sub1.remontti.com.br;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
    }
}</pre>
<pre class="remontti-code"># vim /etc/nginx/sites-available/sub2e3.conf</pre>
<p>Neste ex: vou representar o <em>sub2.remontti.com.br</em> e <em>sub3.remontti.com.br</em></p>
<pre class="remontti-code">server {
    listen 80;
    listen [::]:80;

    root /var/www/sub2e3;
    index index.php index.html index.htm;

    server_name sub2.remontti.com.br sub3.remontti.com.br;

    add_header Strict-Transport-Security &quot;max-age=31536000; includeSubDomains&quot; always;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
    }
}</pre>
<p>Link os arquivos no diretório "/etc/nginx/sites-available"  que será carregado as novas configurações </p>
<pre class="remontti-code"># ln -s /etc/nginx/sites-available/sub1.conf /etc/nginx/sites-enabled/
# ln -s /etc/nginx/sites-available/sub2e3.conf /etc/nginx/sites-enabled/</pre>
<p>Crie os diretórios referente a cada <strong>server_name</strong>.</p>
<pre class="remontti-code"># mkdir /var/www/sub1
# mkdir /var/www/sub2e3
# echo &#039;&lt;?php echo &quot;Olá mundo do sub1!&quot;; ?&gt;&#039; &gt;&gt; /var/www/sub1/index.php
# echo &#039;&lt;?php echo &quot;Olá mundo do sub2e3!&quot;; ?&gt;&#039; &gt;&gt; /var/www/sub2e3/index.php
</pre>
<p>Verifique se não tem nenhum erro e reinicie o serviço:</p>
<pre class="remontti-code"># nginx -t
# systemctl restart nginx</pre>
<h3>:: Let's Encrypt ::</h3>
<p>Criando certificado grátis para seus sub/domínios.</p>
<pre class="remontti-code"># apt install certbot python3-certbot-nginx</pre>
<p>Para gerar o certificado use o comando:</p>
<pre class="remontti-code"># certbot</pre>
<p>Não esqueça de colocar no seu cron para ele renovar o certificado, pois a cada 90 ele expira. Neste exemplo todo dia primeiro tento renovar.</p>
<pre class="remontti-code"># certbot -q renew</pre>
<p>Para testar acesse: <a href="https://www.cdn77.com/tls-test/" rel="noopener" target="_blank">https://www.cdn77.com/tls-test/</a><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2021/10/tls_teste.png" data-rel="lightbox-gallery-KgI0hKWV" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/10/tls_teste-300x182.png" alt="" width="300" height="182" class="alignnone size-medium wp-image-6158" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/10/tls_teste-300x182.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/10/tls_teste-1024x620.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/10/tls_teste-768x465.png 768w, https://blog.remontti.com.br/wp-content/uploads/2021/10/tls_teste.png 1099w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Gostou?</p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a><br />
Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p><strong>Fontes:</strong> <a href="https://docs.nginx.com/" rel="noopener" target="_blank">https://docs.nginx.com/</a><br />
<a href="https://docs.nginx.com/nginx/admin-guide/web-server/web-server/" rel="noopener" target="_blank">https://docs.nginx.com/nginx/admin-guide/web-server/web-server/</a></p>
<p>O post <a href="https://blog.remontti.com.br/7413">Servidor WEB NGINX + PHP 8.2 + PostgreSQL +Let’s Encrypt  Debian 12 Bookworm (LNP)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7413/feed</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>Servidor WEB NGINX + PHP 8.2 + MariaDB + phpMyAdmin + Let’s Encrypt Debian 12 Bookworm (LNMP)</title>
		<link>https://blog.remontti.com.br/7460</link>
					<comments>https://blog.remontti.com.br/7460#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Wed, 14 Jun 2023 15:17:45 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[bookworm]]></category>
		<category><![CDATA[Debian 12]]></category>
		<category><![CDATA[Let’s Encrypt]]></category>
		<category><![CDATA[LNMP]]></category>
		<category><![CDATA[MariaDB]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpMyAdmin]]></category>
		<category><![CDATA[Servidor WEB]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7460</guid>

					<description><![CDATA[<p>Neste tutorial vamos configurar um servidor web com NGINX (lê-se “engine x”), o concorrente do Apache. NGINX é um servidor web (HTTP e IMAP/POP3/Proxy) rápido, leve e com inúmeras possibilidades de configuração para melhor&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7460">Servidor WEB NGINX + PHP 8.2 + MariaDB + phpMyAdmin + Let’s Encrypt Debian 12 Bookworm (LNMP)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><center><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian12.jpg" alt="" width="720" height="340" class="alignnone size-full wp-image-7476" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian12.jpg 720w, https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian12-300x142.jpg 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/lamp_debian12-520x245.jpg 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /></center></p>
<p>Neste tutorial vamos configurar um servidor web com NGINX (lê-se “engine x”), o concorrente do Apache. NGINX é um servidor web (HTTP e IMAP/POP3/Proxy) rápido, leve e com inúmeras possibilidades de configuração para melhor performance. O Apache, sem dúvidas, é o servidor web mais popular. No entanto, o NGINX a cada ano ganha mais popularidade e está sendo a preferência dos novos projetos.</p>
<p>Distribuição utilizada: <strong><a href="https://blog.remontti.com.br/7236" rel="noopener noreferrer" target="_blank">Debian 12 Stretch / Instalação Limpa</a></strong></p>
<h3>NGINX</h3>
<p><a href="https://www.nginx.com" rel="noopener" target="_blank">https://www.nginx.com</a><br />
Vamos instalar-lo e remover a assinatura para que não vejam a versão do mesmo (Boas praticas)</p>
<pre class="remontti-code"># apt install nginx
# sed -i &#039;s/# server_tokens/server_tokens/&#039; /etc/nginx/nginx.conf
# systemctl restart nginx</pre>
<p>Acesse agora em seu navegador http://IP-SERVIDOR/<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx1.png" alt="" width="1100" height="310" class="alignnone size-full wp-image-5467" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx1.png 1100w, https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx1-300x85.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx1-1024x289.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx1-768x216.png 768w" sizes="auto, (max-width: 1100px) 100vw, 1100px" /></p>
<p>Pronto nosso NGINX está rodando! </p>
<h3>MARIADB</h3>
<p>MariaDB para quem ainda não sabe é um fork do MySQL, criado pelo próprio fundador do projeto MySQL após sua aquisição pela Oracle.</p>
<pre class="remontti-code"># apt install mariadb-server mariadb-client</pre>
<p>Ao final do tutorial iremos colocar uma senha para o usuario root do mariadb. Não iremos fazer isso agora para não dar problema na instalação do phpmyadmin.</p>
<h3>PHP 8.2</h3>
<p>Incluirei algumas extensões do PHP que são normalmente utilizada também na instalação.</p>
<pre class="remontti-code"># apt install --no-install-recommends \
 php php-{fpm,cli,mysql,pear,gd,gmp,bcmath,mbstring,curl,xml,zip,json,pgsql}</pre>
<p>Agora vamos fazer a &#8220;integração&#8221; do PHP com o NGINX. Moveremos o arquivo defaul.</p>
<pre class="remontti-code"># mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.original</pre>
<p>Crie um novo:</p>
<pre class="remontti-code"># vim /etc/nginx/sites-available/default</pre>
<p>Ajuste:</p>
<pre class="remontti-code">server {
    listen 80;
    listen [::]:80;

    root /var/www/html;
    index index.php index.html index.htm;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
    }
}</pre>
<p>Teste a configuração se não tem nada errado e restart os serviços:</p>
<pre class="remontti-code"># nginx -t
# systemctl restart nginx php8.2-fpm</pre>
<p>Vamos criar um arquivo em PHP para testa se nosso NGINX está interpretando o PHP.</p>
<pre class="remontti-code"># echo &#039;&lt;?php phpinfo();&#039; &gt;&gt; /var/www/html/teste.php</pre>
<p>Acesse em seu navegador http://IP-SERVIDOR/teste.php<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/debian12_php8.2.png" alt="" width="950" height="925" class="alignnone size-full wp-image-7417" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/debian12_php8.2.png 950w, https://blog.remontti.com.br/wp-content/uploads/2023/06/debian12_php8.2-300x292.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/debian12_php8.2-768x748.png 768w" sizes="auto, (max-width: 950px) 100vw, 950px" /><br />
Servidor WEB com PHP está funcionando! </p>
<p>Exemplo para múltiplos domínios/subdomínios </p>
<pre class="remontti-code"># vim /etc/nginx/sites-available/sub1.conf</pre>
<p>Neste ex: vou representar o <em>sub1.remontti.com.br</em></p>
<pre class="remontti-code">server {
    listen 80;
    listen [::]:80;

    root /var/www/sub1;
    index index.php index.html index.htm;

    server_name sub1.remontti.com.br;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
    }
}</pre>
<pre class="remontti-code"># vim /etc/nginx/sites-available/sub2e3.conf</pre>
<p>Neste ex: vou representar o <em>sub2.remontti.com.br</em> e <em>sub3.remontti.com.br</em></p>
<pre class="remontti-code">server {
    listen 80;
    listen [::]:80;

    root /var/www/sub2e3;
    index index.php index.html index.htm;

    server_name sub2.remontti.com.br sub3.remontti.com.br;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
    }
}</pre>
<p>Link os arquivos no diretório &#8220;/etc/nginx/sites-available&#8221;  que será carregado as novas configurações </p>
<pre class="remontti-code"># ln -s /etc/nginx/sites-available/sub1.conf /etc/nginx/sites-enabled/
# ln -s /etc/nginx/sites-available/sub2e3.conf /etc/nginx/sites-enabled/</pre>
<p>Crie os diretórios referente a cada <strong>server_name</strong>.</p>
<pre class="remontti-code"># mkdir /var/www/sub1
# mkdir /var/www/sub2e3
# echo &#039;&lt;?php echo &quot;Olá mundo do sub1!&quot;; ?&gt;&#039; &gt;&gt; /var/www/sub1/index.php
# echo &#039;&lt;?php echo &quot;Olá mundo do sub2e3!&quot;; ?&gt;&#039; &gt;&gt; /var/www/sub2e3/index.php
</pre>
<p>Verifique se não tem nenhum erro e restart:</p>
<pre class="remontti-code"># nginx -t
# systemctl restart nginx</pre>
<h3>phpMyAdmin</h3>
<pre class="remontti-code"># apt install phpmyadmin -y </pre>
<p>Não selecione nenhum, apenas <strong>OK</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_debian12.png" alt="" width="1239" height="424" class="alignnone size-full wp-image-7467" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_debian12.png 1239w, https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_debian12-300x103.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_debian12-1024x350.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_debian12-768x263.png 768w" sizes="auto, (max-width: 1239px) 100vw, 1239px" /></p>
<p>Responda <strong>Sim</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_debian12_nginx.png" alt="" width="1249" height="370" class="alignnone size-full wp-image-7468" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_debian12_nginx.png 1249w, https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_debian12_nginx-300x89.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_debian12_nginx-1024x303.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_debian12_nginx-768x228.png 768w" sizes="auto, (max-width: 1249px) 100vw, 1249px" /></p>
<p>Irá solicitar a senha para a base de dados <strong>phpmyadmin</strong>, informe sua <strong>senha e repita</strong>. </p>
<pre class="remontti-code"># vim /etc/nginx/sites-available/default</pre>
<p>Adicione as linhas destacadas:</p>
<pre class="remontti-code">server {
    listen 80;
    listen [::]:80;

    root /var/www/html;
    index index.php index.html index.htm;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
    }

    location ^~ /phpmyadmin {
        root /usr/share;
        try_files $uri $uri/ =404;
        #allow  192.168.87.0/24;
        #allow  2001:0db8::/32;
        #deny   all;
        #error_page  403   http://www.remontti.com.br;
        location ~ .php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        }
    }

}</pre>
<p>Se deseja tonar o phpmyadmin acessivel apenas de alguns endereços IPs basta descomentar as linhas, e incluir seus prefixos. O error_page é para que quando a o acessante levar um proibido seja direcionado para um site.</p>
<pre class="remontti-code">allow  192.168.87.0/24;
allow  2001:0db8::/32;
deny   all;
error_page  403   http://www.remontti.com.br;</pre>
<p>Verifique se não tem nenhum erro e restart:</p>
<pre class="remontti-code"># nginx -t
# systemctl restart nginx</pre>
<p>Acesse agora <strong>http://SERVIDOR/phpmyadmin</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_login.png" alt="" width="1523" height="556" class="alignnone size-full wp-image-7471" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_login.png 1523w, https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_login-300x110.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_login-1024x374.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/phpmyadmin_login-768x280.png 768w" sizes="auto, (max-width: 1523px) 100vw, 1523px" /></p>
<h4>Definindo senha para o root do mariaDB</h4>
<p>Por segurança vamos setar uma senha do usuario root do MariaDB</p>
<pre class="remontti-code"># mariadb -u root</pre>
<p>Para aumentar a seguraçã vamos definir uma senha para o usuário root do MariDB, não esqueça de alterar ALTERE_3ST4_SENHA pela sua senha. Dica acesse<a href="https://senhasegura.remontti.com.br/" rel="noopener" target="_blank"> https://senhasegura.remontti.com.br/</a> e gere uma!</p>
<pre class="remontti-code">USE mysql;
ALTER USER &#039;root&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;ALTERE_3ST4_SENHA&#039;;
FLUSH PRIVILEGES;
EXIT;
</pre>
<p>Apague seus rastros, em /root/.mysql_history temos um histórico com todos os comandos dado no terminal do MariaDB, então não é legal deixar lá em texto puro a senha que setamos!</p>
<pre class="remontti-code"># &gt; /root/.mysql_history</pre>
<p>Agora quando for acessar o mariadb será necessário informar a senha juntamente da opção <strong>-p</strong>.</p>
<pre class="remontti-code"># mariadb -u root -p</pre>
<pre class="remontti-code-plain">Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 46
Server version: 10.11.3-MariaDB-1 Debian 12

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the current input statement.

MariaDB [(none)]&gt; exit;
Bye
</pre>
<h3>Let&#8217;s Encrypt</h3>
<p>Criando certificado grátis para seus sub/domínios.</p>
<pre class="remontti-code"># apt install certbot python3-certbot-nginx</pre>
<p>Para gerar o certificado use o comando:</p>
<pre class="remontti-code"># certbot</pre>
<p>Não esqueça de colocar no seu cron para ele renovar o certificado, pois a cada 90 ele expira. Neste exemplo todo dia primeiro tento renovar.</p>
<pre class="remontti-code"># certbot -q renew</pre>
<p>Para testar acesse: <a href="https://www.cdn77.com/tls-test/" rel="noopener" target="_blank">https://www.cdn77.com/tls-test/</a><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2021/10/tls_teste.png" data-rel="lightbox-gallery-KLyFdWnX" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/10/tls_teste-300x182.png" alt="" width="300" height="182" class="alignnone size-medium wp-image-6158" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/10/tls_teste-300x182.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/10/tls_teste-1024x620.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/10/tls_teste-768x465.png 768w, https://blog.remontti.com.br/wp-content/uploads/2021/10/tls_teste.png 1099w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Gostou?</p>
<p>Gostou?</p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a><br />
Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p><strong>Fontes:</strong> <a href="https://docs.nginx.com/" rel="noopener" target="_blank">https://docs.nginx.com/</a><br />
<a href="https://docs.nginx.com/nginx/admin-guide/web-server/web-server/" rel="noopener" target="_blank">https://docs.nginx.com/nginx/admin-guide/web-server/web-server/</a></p>
<p>O post <a href="https://blog.remontti.com.br/7460">Servidor WEB NGINX + PHP 8.2 + MariaDB + phpMyAdmin + Let’s Encrypt Debian 12 Bookworm (LNMP)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7460/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Guia passo a passo para instalação do phpIPAM, um Software de Gerenciamento de Endereços IP</title>
		<link>https://blog.remontti.com.br/2401</link>
					<comments>https://blog.remontti.com.br/2401#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Mon, 12 Jun 2023 15:40:55 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[administração]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[aplicação]]></category>
		<category><![CDATA[Código Aberto]]></category>
		<category><![CDATA[Configuração]]></category>
		<category><![CDATA[configuração de endereços IPs]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[debain]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[documentação]]></category>
		<category><![CDATA[endereços IPs]]></category>
		<category><![CDATA[ferramenta]]></category>
		<category><![CDATA[gerenciamento]]></category>
		<category><![CDATA[gerenciamento de IP]]></category>
		<category><![CDATA[gerenciamento de rede]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[instalaçao]]></category>
		<category><![CDATA[instalação do phpIPAM]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[IPAM]]></category>
		<category><![CDATA[ipv4]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[MariaDB]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[php7]]></category>
		<category><![CDATA[phpIPAM]]></category>
		<category><![CDATA[rede]]></category>
		<category><![CDATA[servidor de DHCP]]></category>
		<category><![CDATA[servidor dns]]></category>
		<category><![CDATA[Servidor WEB]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[tutorial banco de dados]]></category>
		<category><![CDATA[tutorial de configuração]]></category>
		<category><![CDATA[tutorial de gerenciamento]]></category>
		<category><![CDATA[tutorial de instalação]]></category>
		<category><![CDATA[tutorial Debian]]></category>
		<category><![CDATA[tutorial MariaDB.]]></category>
		<category><![CDATA[tutorial MySQL]]></category>
		<category><![CDATA[tutorial passo a passo]]></category>
		<category><![CDATA[tutorial phpIPAM]]></category>
		<category><![CDATA[tutorial servidor web]]></category>
		<category><![CDATA[tutorial software de gerenciamento]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=2401</guid>

					<description><![CDATA[<p>O phpIPAM é um aplicação de gerenciamento de endereço IPs de código aberto (IPAM). Seu objetivo é fornecer gerenciamento de endereços IP leve, moderno e útil. É uma aplicação baseada em php com backend&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/2401">Guia passo a passo para instalação do phpIPAM, um Software de Gerenciamento de Endereços IP</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><center><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian.jpg" alt="" width="720" height="340" class="alignnone size-full wp-image-7493" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian.jpg 720w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian-300x142.jpg 300w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian-520x245.jpg 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /></center></p>
<p>O phpIPAM é um aplicação de gerenciamento de endereço IPs de código aberto (IPAM). Seu objetivo é fornecer gerenciamento de endereços IP leve, moderno e útil. É uma aplicação baseada em php com backend de banco de dados MySQL/MariaDB, usando bibliotecas jQuery, ajax e recursos HTML5 / CSS3.</p>
<p><strong><font color="red">Recomendado Debian 12 Bookworm:</font></strong><br />
1 &#8211; <a href="https://blog.remontti.com.br/7236" rel="noopener noreferrer" target="_blank">Debian 12 Bookworm / Instalação Limpa</a><br />
2.a &#8211; <a href="https://blog.remontti.com.br/7460" rel="noopener" target="_blank">Servidor WEB NGINX + PHP 8.2 + MariaDB + phpMyAdmin</a><br />
2.b &#8211; <a href="https://blog.remontti.com.br/7496" rel="noopener" target="_blank">Servidor WEB Apache2 + PHP 8.2 + MariaDB + phpMyAdmin</a><br />
<font size="2"><b><em>phpMyAdmin é opcional</em></b></font></p>
<p><strong><font color="red">Recomendado Debian 11 Bullseye:</font></strong><br />
1- <a href="https://blog.remontti.com.br/5792" rel="noopener noreferrer" target="_blank">Debian 11 Bullseye / Instalação Limpa</a><br />
2- <a href="https://blog.remontti.com.br/5893" rel="noopener noreferrer" target="_blank">Servidor WEB Apache2 + PHP7.4 + MariaDB + phpMyAdmin</a><br />
<font size="2"><b><em>phpMyAdmin é opcional</em></b></font></p>
<p><strong><font color="red">Recomendado Debian 10 Stretch:</font></strong><br />
1- <a href="https://blog.remontti.com.br/2966" rel="noopener noreferrer" target="_blank">Debian 10 Stretch / Instalação Limpa</a><br />
2.a &#8211; <a href="https://blog.remontti.com.br/3006" rel="noopener noreferrer" target="_blank">Servidor WEB Apache2 + PHP7.3 + MariaDB + phpMyAdmin</a><br />
2.b &#8211; <a href="https://blog.remontti.com.br/5465" rel="noopener" target="_blank">Servidor WEB NGINX + PHP7.3 + MariaDB + phpMyAdmin</a><br />
<font size="2"><b><em>phpMyAdmin é opcional</em></b></font></p>
<p><strong><font color="red">Recomendado Debian 9 Buster:</font></strong><br />
<a href="https://blog.remontti.com.br/1152" rel="noopener noreferrer" target="_blank">Instalação Limpa Debian 9 Buster</a><br />
<a href="https://blog.remontti.com.br/2024" rel="noopener noreferrer" target="_blank">Servidor web Apache2, PHP 7.0, MariaDB, PHPMyAdmin</a><br />
<font size="2"><b><em>phpMyAdmin é opcional</em></b></font></p>
<p>Após instalação do servidor WEB+MariaDB, vamos criar nossa base de dados para o phpipam</p>
<pre class="remontti-code"># mariadb -p</pre>
<pre class="remontti-code">
CREATE DATABASE phpipam;
GRANT ALL PRIVILEGES ON phpipam.* TO &#039;phpipam&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;SUA_SENHA&#039;;
FLUSH PRIVILEGES;
quit;</pre>
<p>Download phpIPAM<br />
Instalação estável: (Nesta data é 1.5.2) <a href="https://github.com/phpipam/phpipam/releases" rel="noopener noreferrer" target="_blank">https://github.com/phpipam/phpipam/releases</a> </p>
<pre class="remontti-code"># cd /tmp
# wget https://github.com/phpipam/phpipam/releases/download/v1.5.2/phpipam-v1.5.2.tgz
# tar vxf phpipam-v1.5.2.tgz
# mv phpipam /var/www/html/phpipam
&lt;pre&gt;# cd /var/www/html/phpipam</pre>
<p>Agora precisamos inserir os dados para o phpipam conectar ao banco de dados. Primeiro copie config.dist.php para config.php e insira os detalhes necessários.</p>
<pre class="remontti-code"># cp config.dist.php config.php
# vim config.php</pre>
<p>Encontre a linha <em>$db['pass'] = 'phpipamadmin';</em> e altere para sua senha, caso tenha utilizado outro usuário e nome de base altere também.</p>
<pre class="remontti-code">
...
$db[&#039;host&#039;] = &quot;localhost&quot;;
$db[&#039;user&#039;] = &quot;phpipam&quot;;
$db[&#039;pass&#039;] = &quot;SUA_SENHA&quot;;
$db[&#039;name&#039;] = &quot;phpipam&quot;;
...</pre>
<p>Se estas utilizando debian 12, sua versão do php é a 8.2 que na versão atual 1.5.2 ainda parece não ter sido testado, para resolver entre no diretório do phpipam e adicione <strong>$allow_untested_php_versions=true;</strong> ao final do arquivo:</p>
<pre class="remontti-code"># cd /var/www/html/phpipam
# echo &#039;$allow_untested_php_versions=true;&#039; &gt;&gt; config.php</pre>
<p>Além disso, nós extraímos o diretório do phpipam fora pasta raiz (/var/www/html), será necessário definir isso (<em>define('BASE', "/");</em>) em config.php, se você colocou no diretório raiz ou configurou um <a href="https://blog.remontti.com.br/3464" rel="noopener noreferrer" target="_blank">domínio virtual (recomendo)</a> para o phpipam não é necessário :</p>
<pre class="remontti-code"># vim config.php</pre>
<p>Altere :</p>
<pre class="remontti-code-plain">define(&#039;BASE&#039;, &quot;/&quot;);</pre>
<p>para:</p>
<pre class="remontti-code-plain">define(&#039;BASE&#039;, &quot;/phpipam/&quot;);</pre>
<p>Instale a extensão gmp do php que é necessária para o funcionamento do phpipam e restarte o apache ou nginx de acordo com seu servidor.</p>
<pre class="remontti-code"># apt install php-gmp -y
# systemctl restart apache2
ou
# systemctl restart nginx</pre>
<p>Agora acesse seu servidor em seu navegado: http://ip-server.ou.dominio/phpipam/</p>
<p>Clique em <strong>[New phpipam installation]</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_1.png" data-rel="lightbox-gallery-vcif4Z4X" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_1.png" alt="" width="1280" height="709" class="alignnone size-full wp-image-7482" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_1.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_1-300x166.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_1-1024x567.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_1-768x425.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a></p>
<p>Clique em <strong>[Automatic database installation]</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_2.png" data-rel="lightbox-gallery-vcif4Z4X" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_2.png" alt="" width="1280" height="832" class="alignnone size-full wp-image-7483" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_2.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_2-300x195.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_2-1024x666.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_2-768x499.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a></p>
<p>Entre com seu usuario: phpipam e senha senha de conexão do banco de dados (SUA_SENHA), clique em [Show advanced options], e <strong>DESMARQUE</strong> as opções: <strong>Create new database</strong> e <strong>Set permissions to tables</strong> e após em <strong>[Install phpipam database]</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_3.png" data-rel="lightbox-gallery-vcif4Z4X" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_3.png" alt="" width="1280" height="878" class="alignnone size-full wp-image-7484" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_3.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_3-300x206.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_3-1024x702.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_3-768x527.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a></p>
<p>Uma mensagem "<strong>Database installed successfully!</strong>" será exibida, informado que o banco de dados foi criado com sucesso. Clique em <strong>[Continue]</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_4.png" data-rel="lightbox-gallery-vcif4Z4X" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_4.png" alt="" width="1280" height="940" class="alignnone size-full wp-image-7485" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_4.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_4-300x220.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_4-1024x752.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_4-768x564.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a>  </p>
<p>Defina a senha do usuário admin, e clique em <strong>[Save settings]</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_5.png" data-rel="lightbox-gallery-vcif4Z4X" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_5.png" alt="" width="1280" height="709" class="alignnone size-full wp-image-7486" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_5.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_5-300x166.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_5-1024x567.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_5-768x425.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a></p>
<p>Uma mensagem <strong>"Settings updated, installation complete!"</strong> informado que a instalação foi completada! Clique em [<strong>Procced to login</strong>]<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_6.png" data-rel="lightbox-gallery-vcif4Z4X" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_6.png" alt="" width="1280" height="798" class="alignnone size-full wp-image-7487" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_6.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_6-300x187.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_6-1024x638.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_6-768x479.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a></p>
<p>Entre com o usuário admin e sua senha:<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_7.png" data-rel="lightbox-gallery-vcif4Z4X" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_7.png" alt="" width="1280" height="709" class="alignnone size-full wp-image-7488" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_7.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_7-300x166.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_7-1024x567.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_7-768x425.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a></p>
<p>Prontinho para seu uso!<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_8.png" data-rel="lightbox-gallery-vcif4Z4X" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_8.png" alt="" width="1280" height="1387" class="alignnone size-full wp-image-7489" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_8.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_8-277x300.png 277w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_8-945x1024.png 945w, https://blog.remontti.com.br/wp-content/uploads/2018/05/phpipam_debian_12_8-768x832.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a></p>
<p>Gostou?</p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong></p>
<p><a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p>O post <a href="https://blog.remontti.com.br/2401">Guia passo a passo para instalação do phpIPAM, um Software de Gerenciamento de Endereços IP</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/2401/feed</wfw:commentRss>
			<slash:comments>40</slash:comments>
		
		
			</item>
	</channel>
</rss>
