<?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>Arquivos letsencrypt - Remontti</title>
	<atom:link href="https://blog.remontti.com.br/tag/letsencrypt/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.remontti.com.br/tag/letsencrypt</link>
	<description>rudimar@remontti</description>
	<lastBuildDate>Fri, 23 Aug 2024 13:04:58 +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>Arquivos letsencrypt - Remontti</title>
	<link>https://blog.remontti.com.br/tag/letsencrypt</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Instalação do Nginx Proxy Manager</title>
		<link>https://blog.remontti.com.br/6561</link>
					<comments>https://blog.remontti.com.br/6561#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Sat, 18 Jun 2022 19:07:54 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[administração web]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[autenticação HTTP]]></category>
		<category><![CDATA[cgnat]]></category>
		<category><![CDATA[configuração de rede]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[debian 11]]></category>
		<category><![CDATA[Debian 12]]></category>
		<category><![CDATA[Debian 12 Bookworm]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[Docker Compose]]></category>
		<category><![CDATA[gerenciamento de certificados]]></category>
		<category><![CDATA[instalação de software]]></category>
		<category><![CDATA[letsencrypt]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[Nginx Proxy Manager]]></category>
		<category><![CDATA[otimização de servidor]]></category>
		<category><![CDATA[proxy reverso]]></category>
		<category><![CDATA[proxy-cache]]></category>
		<category><![CDATA[segurança de aplicação]]></category>
		<category><![CDATA[SSL grátis]]></category>
		<category><![CDATA[tutorial de tecnologia]]></category>
		<category><![CDATA[webserver]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=6561</guid>

					<description><![CDATA[<p>O que é o Nginx Proxy Manager? É um sistema que possui uma interface web limpa, eficiente e fácil de configurar, sem precisar saber muito sobre Nginx ou Letsencrypt. Característica &#8211; Interface de administração&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/6561">Instalação do Nginx Proxy Manager</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/2022/06/nginx_proxy_manager_cover.png" alt="" width="720" height="340" class="alignnone size-full wp-image-6588" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_cover.png 720w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_cover-300x142.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_cover-520x245.png 520w" sizes="(max-width: 720px) 100vw, 720px" /></p>
<p>O que é o <a href="https://nginxproxymanager.com/guide/#project-goal"><strong>Nginx Proxy Manager</strong></a>?<br />
É um sistema que possui uma interface web limpa, eficiente e fácil de configurar, sem precisar saber muito sobre Nginx ou Letsencrypt.</p>
<p><b>Característica</b><br />
 &#8211; Interface de administração bonita e segura baseada<br />
 &#8211; Crie facilmente domínios de encaminhamento, redirecionamentos, streams e hosts 404 sem saber nada sobre Nginx<br />
 &#8211; SSL grátis usando Let&#8217;s Encrypt ou forneça seus próprios certificados SSL personalizados<br />
 &#8211; Listas de acesso e autenticação HTTP básica para seus hosts<br />
 &#8211; Configuração avançada do Nginx disponível para superusuários<br />
 &#8211; Gerenciamento de usuários, permissões e log de auditoria</p>
<p><strong>Distribuição testadas:</strong><br />
<a href="https://blog.remontti.com.br/7236" rel="noopener" target="_blank">Debian 12 Bookworm</a><br />
<a href="https://blog.remontti.com.br/5792" rel="noopener" target="_blank"><del datetime="2024-08-23T13:04:44+00:00">Debian 11 Bullseye</del></a></p>
<p><a href="https://blog.remontti.com.br/5867" rel="noopener" target="_blank">Como melhorar a produtividade no seu Debian após instalação</a> (Recomendado)</p>
<p><strong>Porta Utilizadas</strong><br />
81  &#8211; Porta de administração do Nginx Proxy Manager<br />
80  &#8211; Porta HTTP pública<br />
443 &#8211; Porta HTTP pública</p>
<h4>Configurações de interface de Rede</h4>
<p>Para a configuração da interface de rede vou usar uma configuração <strong>Pointopoint</strong> (Ponto a ponto) assim utilizando de apenas um endereço IP público, você pode (deve) <a href="https://blog.remontti.com.br/5848" rel="noopener" target="_blank">ler este tutorial</a> para conhecer varias possibilidades de configuração de rede pensa em como economizar endereços IPs.</p>
<pre class="remontti-code"># vim /etc/network/interfaces</pre>
<p>No meu exemplo vamos pesar que esse servidor esteja conectado ao RouterOS/Mikrotik ether2 e meu endereço de IP publico será o <em>200.200.200.255</em></p>
<pre class="remontti-code-plain">allow-hotplug enp0s3
iface enp0s3 inet static
        address 200.200.200.255
        pointopoint 192.168.171.171
        netmask 255.255.255.255
        gateway 192.168.171.171
</pre>
<p>Agora no seu RouterOS vamos criar nosso Pointopoint gatewai 192.168.171.171 tendo como network o endereço IP público.</p>
<pre class="remontti-code-plain">RouterOS# /ip address
RouterOS# add address=192.168.171.171 comment=Pointopoint interface=ether2 network=200.200.200.255</pre>
<p>Se você não tem IP publico para colocar em seu servidor, então fixe um endereço IP Privado e redirecione as potas 80,81 e 443 para ele, utilizando seu IP público que está em seu router. Exemplo:</p>
<pre class="remontti-code-plain">allow-hotplug enp0s3
iface enp0s3 inet static
        address 10.10.10.2/24
        gateway 10.10.10.1</pre>
<p>E é clario se você conter endereço IPv6, não deixe de configurar sua placa! Exemplo:</p>
<pre class="remontti-code-plain">iface enp0s3 inet6 static
        pre-up modprobe ipv6
        address 2804:bebe:cafe::2
        netmask 64
        gateway 2804:bebe:cafe::1</pre>
<h4>Instalação Docker</h4>
<p>Iremos instalar os pacotes necessários, bem como adicionar o repositório oficial do Docker</p>
<pre class="remontti-code"># apt install ca-certificates curl gnupg2 apt-transport-https lsb-release
# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
# echo &quot;deb https://download.docker.com/linux/debian $(lsb_release -cs) stable&quot; &gt; /etc/apt/sources.list.d/docker.list</pre>
<p>Atualize o repositório e instale-o</p>
<pre class="remontti-code"># apt update
# apt install docker-ce docker-ce-cli containerd.io</pre>
<h4>Instalação Docker Compose</h4>
<p>Vamos fazer download do Docker Compose, e adicionar aos binários do nosso servidor como um executável. </p>
<pre class="remontti-code"># curl -L &quot;https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-$(uname -s)-$(uname -m)&quot; -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
# ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose</pre>
<p>Versão baixada foi a 2.24.5, mas você pode consultar uma mais recente em: <a href="https://github.com/docker/compose/releases/" rel="noopener" target="_blank">https://github.com/docker/compose/releases/</a>, para verificar qual versão instalado use:</p>
<pre class="remontti-code"># docker-compose --version</pre>
<pre class="remontti-code-plain">Docker Compose version v2.24.5</pre>
<h4>Instação Nginx Proxy Manager</h4>
<p>Crie os diretórios quais ficarão todas as configurações:</p>
<pre class="remontti-code"># mkdir /etc/nginx-proxy
# mkdir /etc/nginx-proxy/{data,letsencrypt}</pre>
<p>Crie seu arquivo de composição do Docker com as configuração, para realizar a instalação dos containers do Nginx Proxy Manager e MariaDB com o Docker Compose. (Ajustes as senhas)</p>
<pre class="remontti-code"># vim /etc/nginx-proxy/docker-compose.yml</pre>
<p>Adicione:</p>
<pre class="remontti-code-plain">version: &quot;3&quot;
services:
  app:
    image: &#039;jc21/nginx-proxy-manager:latest&#039;
    restart: unless-stopped
    ports:
      # These ports are in format &lt;host-port&gt;:&lt;container-port&gt;
      - &#039;80:80&#039;       # Porta HTTP pública
      - &#039;443:443&#039;     # Porta HTTPS pública
      - &#039;81:81&#039; # Porta de administracao do Nginx Proxy
      # Adicione qualquer outra porta Stream que você queira expor, ex
      # - &#039;21:21&#039; # FTP
    environment:
      DB_MYSQL_HOST: &quot;db&quot;
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: &quot;nginxproxy&quot;
      DB_MYSQL_PASSWORD: &quot;S3NHA_NGINX_PR0XY&quot;
      DB_MYSQL_NAME: &quot;nginxproxy&quot;
      # Remova o comentário se você não tem o IPv6 em seu host
      # DISABLE_IPV6: &#039;true&#039;
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db

  db:
    image: &#039;jc21/mariadb-aria:latest&#039;
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: &#039;S3NHA_D3_R00T&#039;
      MYSQL_DATABASE: &#039;nginxproxy&#039;
      MYSQL_USER: &#039;nginxproxy&#039;
      MYSQL_PASSWORD: &#039;S3NHA_NGINX_PR0XY&#039;
    volumes:
      - ./mysql:/var/lib/mysql</pre>
<p>Execute o comando Docker Compose</p>
<pre class="remontti-code"># cd /etc/nginx-proxy
# docker-compose up -d</pre>
<p>Aguarde finalizar&#8230; em seguida visualize se os containers que foram criados</p>
<pre class="remontti-code"># docker ps -a</pre>
<pre class="remontti-code-plain">
CONTAINER ID   IMAGE                             COMMAND             CREATED          STATUS         PORTS                                                                                  NAMES
6b796a07af22   jc21/nginx-proxy-manager:latest   &quot;/init&quot;             9 seconds ago    Up 7 seconds   0.0.0.0:80-81-&gt;80-81/tcp, :::80-81-&gt;80-81/tcp, 0.0.0.0:443-&gt;443/tcp, :::443-&gt;443/tcp   nginx-proxy-app-1
4c93d3b8a544   jc21/mariadb-aria:latest          &quot;/scripts/run.sh&quot;   13 seconds ago   Up 8 seconds   3306/tcp                                                                               nginx-proxy-db-1
</pre>
<p>Abra em navegador <strong>http://IP_SERVIDOR/</strong> se tudo ocorreu bem você verá:<br />
<img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_1.png" alt="" width="1274" height="666" class="alignnone size-full wp-image-6566" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_1.png 1274w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_1-300x157.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_1-1024x535.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_1-768x401.png 768w" sizes="(max-width: 1274px) 100vw, 1274px" /></p>
<p>Agora abra na porta 81 <strong>http://IP_SERVIDOR:81/</strong> e entre com:</p>
<pre class="remontti-code-plain">Email: admin@example.com 
Password: changeme</pre>
<p><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_2a.png" alt="" width="1255" height="661" class="alignnone size-full wp-image-6576" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_2a.png 1255w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_2a-300x158.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_2a-1024x539.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_2a-768x405.png 768w" sizes="(max-width: 1255px) 100vw, 1255px" /><br />
Ao entrar pela primeira vez um formulário com informações será exibido para você alterar seus dados, <strong>altere seus e-mail e senha</strong>.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_3_a.png" alt="" width="1257" height="664" class="alignnone size-full wp-image-6575" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_3_a.png 1257w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_3_a-300x158.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_3_a-1024x541.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_3_a-768x406.png 768w" sizes="auto, (max-width: 1257px) 100vw, 1257px" /></p>
<h4>Configurações de DNS Autoritativa</h4>
<p>Para que possamos encaminhar os acessos iremos necessitar configurar um subdomínios para cada situação em nosso servidor <a href="https://blog.remontti.com.br/5958" rel="noopener" target="_blank">DNS autoritativo</a>. </p>
<p>Vamos criar um cenário fictício para ilustrar melhor. Temos 1 clientes recebendo IPs privados da classe de um CGNAT, e o mesmo solicita um redirecionamento de portas para seu DVR. O cliente recebe o endereço IP privado 100.64.0.71 (Fixado) seu DVR esta na porta 80 na rede local 192.168.0.7. Para cada situação irei criar um novo subdomínio, exemplo &#8220;dvrudi&#8221; no servidor DNS autoritativo apontando para o IP Público do seu servidor Nginx Proxy, assim eu acesso <em>&#8220;dvrudi.remontti.com.br&#8221;</em>. Agora ao acessar o roteato e criar o redirecionamento provavelmente não iremos poder usar a porta 80, pois ela já é a porta de acesso do roteador 100.64.0.71, e é bem possível que você tenha fechado ela em seu firewall também para se proteger de ataques, neste caso use outra porta exemplos 60080 para fazer o direcionamento para a porta 80 do DVR, o cliente nem precisa saber desta porta 60080 ela é a penas a porta de entrada do Nginx Proxy. Agora volte ao Admin do NPM, no menu <strong>Hosts</strong> >> <strong>Proxy Hosts</strong> >> <strong>Add Proxy Host</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_4_a.png" alt="" width="1256" height="593" class="alignnone size-full wp-image-6571" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_4_a.png 1256w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_4_a-300x142.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_4_a-1024x483.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_4_a-768x363.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_4_a-520x245.png 520w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_4_a-720x340.png 720w" sizes="auto, (max-width: 1256px) 100vw, 1256px" /></p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_6.png" alt="" width="1257" height="449" class="alignnone size-full wp-image-6577" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_6.png 1257w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_6-300x107.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_6-1024x366.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_6-768x274.png 768w" sizes="auto, (max-width: 1257px) 100vw, 1257px" /></p>
<p>Se desejar pode ativar certificado grátis com Lets Encrypt.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_5_a.png" alt="" width="1253" height="595" class="alignnone size-full wp-image-6572" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_5_a.png 1253w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_5_a-300x142.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_5_a-1024x486.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager_5_a-768x365.png 768w" sizes="auto, (max-width: 1253px) 100vw, 1253px" /></p>
<p>Agora ao acessar <em>&#8220;dvrudi.remontti.com.br&#8221;</em> ele estará acessando diretamente o DVR. #clientefeliz</p>
<p>Legal não? Agora você pode ter um painel administrativo para redirecionamento de serviços web, no exemplo sitei o caso de CGNAT, mas você pode usar para qualquer outra situação, bem como até apontar para um subdiretório, e restringir o acesso do mesmo, sabe esses ERP <del datetime="2022-06-18T18:45:32+00:00">porco</del> que você acessar com /admin, daria para restringir. Bom o painel do NPM é bem intuitivo, para quem já conhece o Nginx sabe das suas enumeras possibilidades vai achar um doce.</p>
<h4>Atualizando do NPM</h4>
<pre class="remontti-code"># cd /etc/nginx-proxy/
# docker-compose down
# docker-compose pull
# docker-compose up -d</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><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/nginx_proxy_manager.png" alt="" width="261" height="90" class="alignnone size-full wp-image-6583" /><br />
<strong>Fonte: </strong><br />
<a href="https://nginxproxymanager.com/guide/" rel="noopener" target="_blank">https://nginxproxymanager.com/guide/</a><br />
<a href="https://github.com/NginxProxyManager/nginx-proxy-manager" rel="noopener" target="_blank">https://github.com/NginxProxyManager/nginx-proxy-manager</a></p>
<p>O post <a href="https://blog.remontti.com.br/6561">Instalação do Nginx Proxy Manager</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/6561/feed</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>Aprenda instalar o Jitsi Meet, uma ferramenta de videoconferências de código aberto</title>
		<link>https://blog.remontti.com.br/6432</link>
					<comments>https://blog.remontti.com.br/6432#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Fri, 25 Mar 2022 19:16:55 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google meet]]></category>
		<category><![CDATA[jitsi]]></category>
		<category><![CDATA[letsencrypt]]></category>
		<category><![CDATA[meet]]></category>
		<category><![CDATA[meeting]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[videoconferências]]></category>
		<category><![CDATA[zoom]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=6432</guid>

					<description><![CDATA[<p>Que tal ter o seu próprio &#8220;Zoom ou Google Meet&#8221;? Neste tutorial vamos aprender instalar o Jitsi Meet de forma simples para você poder criar seu próprio servidor de videoconferências. Jitsi é uma coleção&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/6432">Aprenda instalar o Jitsi Meet, uma ferramenta de videoconferências de código aberto</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Que tal ter o seu próprio &#8220;Zoom ou Google Meet&#8221;? Neste tutorial vamos aprender instalar o Jitsi Meet de forma simples para você poder criar seu próprio servidor de videoconferências.</p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/jitsi-debian.png" alt="" width="720" height="340" class="alignnone size-full wp-image-6467" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/jitsi-debian.png 720w, https://blog.remontti.com.br/wp-content/uploads/2022/03/jitsi-debian-300x142.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/jitsi-debian-520x245.png 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /></p>
<p><strong><a href="https://meet.jit.si/" rel="noopener" target="_blank">Jitsi</a></strong> é uma coleção de projetos de <a href="https://github.com/jitsi/handbook" rel="noopener" target="_blank">código aberto</a> que fornecem recursos de videoconferência de última geração que são seguros, fáceis de usar e fáceis de hospedar.</p>
<h3>Requerimentos</h3>
<p>Debian 11 (Bullseye) 64 bits <strong><a href="https://blog.remontti.com.br/5792" rel="noopener" target="_blank">instalação mínima</a></strong> pronta<br />
Configurado em seu <a href="https://blog.remontti.com.br/5958" rel="noopener" target="_blank"><strong>DNS</strong> autoritativo</a> um <strong>subdomínio</strong> exemplo &#8220;<em>meet.remontti.com.br</em>&#8221; apontado para o IPv4/6 do seu servidor.</p>
<h3>Ajustes</h3>
<p>Tenha seu servidor atualizado! <em>(E repita isso uma vez por mês após)</em></p>
<pre class="remontti-code"># apt update; apt upgrade</pre>
<p>Nesta instalação estarei utilizando como exemplo &#8220;meet.remontti.com.br&#8221;, ajuste sempre pelo seu. </p>
<p>Ajuste o nome do servidor:</p>
<pre class="remontti-code">hostnamectl set-hostname meet.remontti.com.br</pre>
<pre class="remontti-code">vim /etc/hosts</pre>
<p>Adicione o IP Domínio de acordo com seu DNS, exemplo:</p>
<pre class="remontti-code-plain">255.200.200.200 meet.remontti.com.br</pre>
<p>Caso esteja utilizando um IP com NAT terá que ter as portas 80/tcp 443/tcp 4443/tcp 10000/udp 3478/udp 5349/tcp abertas/redirecionadas para o IP do seu servidor.</p>
<p>Instale alguns pacotes básicos que serão necessários:</p>
<pre class="remontti-code"># apt install apt-transport-https gnupg2 curl wget</pre>
<h3>Instalando Jitsi</h3>
<p>Vamos adicionar o repositório oficial do jitsi (stable)</p>
<pre class="remontti-code"># echo &#039;deb https://download.jitsi.org stable/&#039; &gt; /etc/apt/sources.list.d/jitsi-stable.list 
# wget -qO - https://download.jitsi.org/jitsi-key.gpg.key  | apt-key add - </pre>
<p>Instale o mesmo</p>
<pre class="remontti-code"># apt update
# apt install jitsi-meet</pre>
<p>Informe seu domíno:<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_1.png" alt="" width="1107" height="482" class="alignnone size-full wp-image-6433" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_1.png 1107w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_1-300x131.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_1-1024x446.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_1-768x334.png 768w" sizes="auto, (max-width: 1107px) 100vw, 1107px" /><br />
Selecione <em>Generate a net self-signed certificate</em><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_2.png" alt="" width="1880" height="533" class="alignnone size-full wp-image-6434" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_2.png 1880w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_2-300x85.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_2-1024x290.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_2-768x218.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_2-1536x435.png 1536w" sizes="auto, (max-width: 1880px) 100vw, 1880px" /><br />
Agora instale o certbot para gerar os certificados com lets encript.</p>
<pre class="remontti-code"># apt install certbot</pre>
<p>Gere um certificado Let&#8217;s Encrypt, basta executar:</p>
<pre class="remontti-code">/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh</pre>
<pre class="remontti-code-plain">-------------------------------------------------------------------------
This script will:
- Need a working DNS record pointing to this machine(for domain meet.remontti.com.br)
- Download certbot-auto from https://dl.eff.org to /usr/local/sbin
- Install additional dependencies in order to request Let’s Encrypt certificate
- If running with jetty serving web content, will stop Jitsi Videobridge
- Configure and reload nginx or apache2, whichever is used
- Configure the coturn server to use Let&#039;s Encrypt certificate and add required deploy hooks
- Add command in weekly cron job to renew certificates regularly

You need to agree to the ACME server&#039;s Subscriber Agreement (https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf) 
by providing an email address for important account notifications
Enter your email and press [ENTER]: noc@remontti.com.br
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Account registered.
Requesting a certificate for meet.remontti.com.br
Performing the following challenges:
http-01 challenge for meet.remontti.com.br
Using the webroot path /usr/share/jitsi-meet for all unmatched domains.
Waiting for verification...
Cleaning up challenges
Running deploy-hook command: /etc/letsencrypt/renewal-hooks/deploy/0000-coturn-certbot-deploy.sh
Output from deploy-hook command 0000-coturn-certbot-deploy.sh:
Configuring turnserver


IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/meet.remontti.com.br/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/meet.remontti.com.br/privkey.pem
   Your certificate will expire on 2022-06-22. To obtain a new or
   tweaked version of this certificate in the future, simply run
   certbot again. To non-interactively renew *all* of your
   certificates, run &quot;certbot renew&quot;
 - 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

Configuring nginx</pre>
<p>Crie um scrip para renovação do certificado</p>
<pre class="remontti-code"># mkdir /root/scripts/
# vim /root/scripts/renova-certificado</pre>
<pre class="remontti-code-plain">
#!/bin/bash
# Pare o serviço web
/usr/bin/systemctl stop nginx
# Aguarda 10 seg
sleep 10
# Renova o certificado
/usr/bin/certbot renew -q
# Aguarda o certificado renovar
sleep 30
# Inicie o serviço web
/usr/bin/systemctl restart nginx
# Reinicie os serviços
/usr/bin/systemctl systemctl restart prosody jicofo jitsi-videobridge2</pre>
<p>Adicione ao cron para ser executado umas vez por semana toda às 3h.</p>
<pre class="remontti-code"># chmod +x /root/scripts/renova-certificado
# echo &#039;00 30   1 * *   root    /root/scripts/renova-certificado&#039; &gt;&gt; /etc/crontab</pre>
<p>Reinicie o cron para ler a nova tarefa.</p>
<pre class="remontti-code"># systemctl restart cron</pre>
<p>Systemd/Limits: As implantações padrão em sistemas que usam systemd terão valores padrão baixos para processos máximos e arquivos abertos. Se a ponte usada espera um número maior de participantes, os valores padrão precisam ser ajustados (os valores padrão são bons para menos de 100 participantes).<br />
Se achar necessário aumente estes valores:</p>
<pre class="remontti-code"># echo &#039;DefaultLimitNOFILE=65000&#039; &gt;&gt; /etc/systemd/system.conf
# echo &#039;DefaultLimitNPROC=65000&#039; &gt;&gt; /etc/systemd/system.conf
# echo &#039;DefaultTasksMax=65000&#039; &gt;&gt; /etc/systemd/system.conf</pre>
<p>Reinicie o daemon</p>
<pre class="remontti-code"># systemctl daemon-reload</pre>
<p>Verifique se os valores foram alterados</p>
<pre class="remontti-code"># systemctl show --property DefaultLimitNPROC
# systemctl show --property DefaultLimitNOFILE
# systemctl show --property DefaultTasksMax</pre>
<p>Reinicie o jitsi</p>
<pre class="remontti-code"># systemctl status jitsi-videobridge2</pre>
<pre class="remontti-code"># cat /proc/`cat /var/run/jitsi-videobridge/jitsi-videobridge.pid`/limits</pre>
<p>Veja se <em>Max processes</em> e <em>Max open files</em> estão com <em>limit: 65000</em></p>
<pre class="remontti-code-plain">Limit                     Soft Limit           Hard Limit           Units     
...
Max processes             65000                65000                processes
Max open files            65000                65000                files
...
</pre>
<p>Neste momento seu servidor já esta rodando de forma anônima, onde qualquer um pode criar já uma sala de reunião.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11.png" alt="" width="1273" height="858" class="alignnone size-full wp-image-6459" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11.png 1273w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11-300x202.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11-1024x690.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11-768x518.png 768w" sizes="auto, (max-width: 1273px) 100vw, 1273px" /></p>
<p>Porém é possível permitir que apenas usuários autenticados criem novas salas de conferência. Sempre que uma nova sala estiver prestes a ser criada, o Jitsi Meet solicitará um nome de usuário e senha. Depois que a sala for criada, outras pessoas poderão ingressar no domínio anônimo. </p>
<pre class="remontti-code"># vim /etc/prosody/conf.avail/meet.remontti.com.br.cfg.lua</pre>
<p>Localize <strong>authentication</strong> e altere <strong>anonymous</strong> para <strong>internal_hashed</strong>:</p>
<pre class="remontti-code-plain">authentication = &quot;anonymous&quot;</pre>
<p>Para</p>
<pre class="remontti-code-plain">authentication = &quot;internal_hashed&quot;</pre>
<p>Descomente:</p>
<pre class="remontti-code-plain">https_ports = { };</pre>
<p>Ainda no mesmo arquivo adicione as linhas a baixo ante de <em>&#8220;&#8211; Proxy to jicofo&#8217;s user JID&#8230;&#8221;</em><br />
<strong>OBS:</strong> Não é necessário você criar uma entra &#8220;guest.meet&#8221; em seu DNS.</p>
<pre class="remontti-code-plain">VirtualHost &quot;guest.meet.remontti.com.br&quot;
    authentication = &quot;anonymous&quot;
    c2s_require_encryption = false</pre>
<p>Agora em /etc/jitsi/meet/SEUDOMINO-config.js faça:</p>
<pre class="remontti-code"># vim /etc/jitsi/meet/meet.remontti.com.br-config.js</pre>
<p>Localize anonymousdomain, vai estar comentada com &#8220;//&#8221;, remova o comentário e adicione seu &#8220;guest.meet.remontti.com.br&#8221;.</p>
<pre class="remontti-code-plain">// anonymousdomain: &#039;guest.example.com&#039;,</pre>
<p>Ficando</p>
<pre class="remontti-code-plain">anonymousdomain: &#039;guest.meet.remontti.com.br&#039;,</pre>
<p>Em jicofo.conf será necessário fazer os ajustes para autenticação.</p>
<pre class="remontti-code"># vim /etc/jitsi/jicofo/jicofo.conf</pre>
<p>Adicione em <em>jicofo { &#8230; } </em></p>
<pre class="remontti-code-plain">
  authentication: {
    enabled: true
    type: XMPP
    login-url: jitsi-meet.example.com
 }</pre>
<p>Ficando assim:</p>
<pre class="remontti-code-plain">jicofo {
  authentication: {
    enabled: true
    type: XMPP
    login-url: meet.remontti.com.br
 }
  xmpp: {
    client: {
      client-proxy: focus.meet.remontti.com.br
    }
    trusted-domains: [ &quot;recorder.meet.remontti.com.br&quot; ]
  }
  bridge: {
    brewery-jid: &quot;JvbBrewery@internal.auth.meet.remontti.com.br&quot;
  }
}</pre>
<p>Reinicie os serviços</p>
<pre class="remontti-code"># systemctl restart prosody jicofo jitsi-videobridge2</pre>
<p>Agora ao criar uma nova reunião<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_3.png" alt="" width="1228" height="678" class="alignnone size-full wp-image-6444" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_3.png 1228w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_3-300x166.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_3-1024x565.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_3-768x424.png 768w" sizes="auto, (max-width: 1228px) 100vw, 1228px" /><br />
Será necessário autenticar:<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_4.png" alt="" width="1104" height="558" class="alignnone size-full wp-image-6445" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_4.png 1104w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_4-300x152.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_4-1024x518.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_4-768x388.png 768w" sizes="auto, (max-width: 1104px) 100vw, 1104px" /><br />
Então para criar um usuário (ou mais) administrador faça em seu terminal:</p>
<pre class="remontti-code"># prosodyctl register meuusuario meet.remontti.com.br minhasenha</pre>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_5.png" alt="" width="1158" height="506" class="alignnone size-full wp-image-6446" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_5.png 1158w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_5-300x131.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_5-1024x447.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_5-768x336.png 768w" sizes="auto, (max-width: 1158px) 100vw, 1158px" /><br />
Para deletar um usuário:</p>
<pre class="remontti-code"># prosodyctl deluser meuusuario@meet.remontti.com.br</pre>
<p>Com sua sala de reunião pronta você pode desejar fazer alguns ajustes em mais configurações <strong>[&#8230;]</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_6.png" alt="" width="655" height="110" class="alignnone size-full wp-image-6447" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_6.png 655w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_6-300x50.png 300w" sizes="auto, (max-width: 655px) 100vw, 655px" /><br />
Ajuste seus dados<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_7.png" alt="" width="715" height="771" class="alignnone size-full wp-image-6448" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_7.png 715w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_7-278x300.png 278w" sizes="auto, (max-width: 715px) 100vw, 715px" /><br />
Informe seu nome e e-mail se desejar<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_8.png" alt="" width="861" height="474" class="alignnone size-full wp-image-6449" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_8.png 861w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_8-300x165.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_8-768x423.png 768w" sizes="auto, (max-width: 861px) 100vw, 861px" /><br />
Você pode ainda fazer outros ajustes como:<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_9.png" alt="" width="791" height="419" class="alignnone size-full wp-image-6450" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_9.png 791w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_9-300x159.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_9-768x407.png 768w" sizes="auto, (max-width: 791px) 100vw, 791px" /></p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_10.png" alt="" width="815" height="525" class="alignnone size-full wp-image-6451" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_10.png 815w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_10-300x193.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_10-768x495.png 768w" sizes="auto, (max-width: 815px) 100vw, 815px" /><br />
Clique em OK para aplicar.<br />
Outro ajuste que é interessante são as opções de segurança:<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_11.png" alt="" width="883" height="756" class="alignnone size-full wp-image-6453" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_11.png 883w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_11-300x257.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_11-768x658.png 768w" sizes="auto, (max-width: 883px) 100vw, 883px" /><br />
É interessante você Habilitar sala de espera, assim novos usuários terão que informar seu nome e você precisará aprovar sua entrada.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_12.png" alt="" width="907" height="615" class="alignnone size-full wp-image-6454" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_12.png 907w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_12-300x203.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_12-768x521.png 768w" sizes="auto, (max-width: 907px) 100vw, 907px" /><br />
Agora quando alguém entrar na sala ira aparecer a seguinte tela:<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_13.png" alt="" width="1057" height="534" class="alignnone size-full wp-image-6455" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_13.png 1057w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_13-300x152.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_13-1024x517.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_13-768x388.png 768w" sizes="auto, (max-width: 1057px) 100vw, 1057px" /><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_14.png" alt="" width="1057" height="534" class="alignnone size-full wp-image-6456" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_14.png 1057w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_14-300x152.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_14-1024x517.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_14-768x388.png 768w" sizes="auto, (max-width: 1057px) 100vw, 1057px" /><br />
O administrador ira autoriza-lo:<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_15.png" alt="" width="1063" height="565" class="alignnone size-full wp-image-6457" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_15.png 1063w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_15-300x159.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_15-1024x544.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/03/Jitsi_Debian_11_15-768x408.png 768w" sizes="auto, (max-width: 1063px) 100vw, 1063px" /></p>
<p>Bom a interface é bem intuitiva então acredito que não terá dificuldas. E não deixe de ler as <a href="https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-web-integrations" rel="noopener" target="_blank">integrações</a>, bem como o restante da documentação, pois o projeto tem muita coisa que não foi mostrada aqui.</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>Fonte:</strong> <a href="https://jitsi.github.io/handbook/docs/intro" rel="noopener" target="_blank">https://jitsi.github.io/handbook/docs/intro</a></p>
<p>O post <a href="https://blog.remontti.com.br/6432">Aprenda instalar o Jitsi Meet, uma ferramenta de videoconferências de código aberto</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/6432/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Servidor WEB NGINX + PHP + PostgreSQL + phpPgAdmin + Letsencrypt no Debian 10 Buster (LNPP)</title>
		<link>https://blog.remontti.com.br/5487</link>
					<comments>https://blog.remontti.com.br/5487#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Wed, 07 Apr 2021 20:56:22 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[buster]]></category>
		<category><![CDATA[certificado]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[debian 10]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[letsencrypt]]></category>
		<category><![CDATA[LNMP]]></category>
		<category><![CDATA[lnpp]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[pgadmin]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-fpm]]></category>
		<category><![CDATA[phpMyAdmin]]></category>
		<category><![CDATA[phppgadmin]]></category>
		<category><![CDATA[postgres]]></category>
		<category><![CDATA[postgresql]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=5487</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/5487">Servidor WEB NGINX + PHP + PostgreSQL + phpPgAdmin + Letsencrypt no Debian 10 Buster (LNPP)</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/2021/04/NGINX-LNNP.png" alt="" width="720" height="340" class="alignnone size-full wp-image-5514" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/04/NGINX-LNNP.png 720w, https://blog.remontti.com.br/wp-content/uploads/2021/04/NGINX-LNNP-300x142.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/04/NGINX-LNNP-520x245.png 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /><br />
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/2966" rel="noopener noreferrer" target="_blank">Debian 10 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></p>
<pre class="remontti-code"># apt install 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 />
Se você acessar um diretório que não existe um erro dizendo que não existe, e junto informações que não é legal aparecer.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx2.png" alt="" width="1036" height="296" class="alignnone size-full wp-image-5468" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx2.png 1036w, https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx2-300x86.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx2-1024x293.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx2-768x219.png 768w" sizes="auto, (max-width: 1036px) 100vw, 1036px" /><br />
Vamos remover assinatura do nginx onde ele exibe a versão do mesmo. Ninguém precisa saber! Correto?</p>
<pre class="remontti-code"># sed -i &#039;s/# server_tokens/server_tokens/&#039; /etc/nginx/nginx.conf
# systemctl restart nginx</pre>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx3.png" alt="" width="712" height="157" class="alignnone size-full wp-image-5469" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx3.png 712w, https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx3-300x66.png 300w" sizes="auto, (max-width: 712px) 100vw, 712px" /></p>
<p>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/11/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 (11.11 (Debian 11.11-0+deb10u1))
Digite &quot;help&quot; para ajuda.
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 para usuário postgres: 
psql (11.11 (Debian 11.11-0+deb10u1))
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
$ dropuser teste</pre>
<p>Volte para root</p>
<pre class="remontti-code">$ exit</pre>
<h3>PHP7</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 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/php7.3-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 php7.3-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/2021/04/nginx-php7.png" alt="" width="1173" height="899" class="alignnone size-full wp-image-5473" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx-php7.png 1173w, https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx-php7-300x230.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx-php7-1024x785.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/04/nginx-php7-768x589.png 768w" sizes="auto, (max-width: 1173px) 100vw, 1173px" /><br />
<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;" /> Nosso 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;

    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/php7.3-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/php7.3-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>phpPgAdmin</h3>
<p>O phppgadmin até pode ser instalado via apt, porém seu empacotamento esta na versão 5, vou baixar a versão mais recente direta do <a href="https://github.com/phppgadmin/phppgadmin/releases" rel="noopener" target="_blank">https://github.com/phppgadmin/phppgadmin/releases</a> hoje (abril 2021) na versão 7.13.0</p>
<pre class="remontti-code"># apt install wget 
# cd /tmp/
# wget https://github.com/phppgadmin/phppgadmin/releases/download/REL_7-13-0/phpPgAdmin-7.13.0.tar.gz
# tar vxf phpPgAdmin-7.13.0.tar.gz
# mv /tmp/phpPgAdmin-7.13.0 /usr/share/phppgadmin</pre>
<p>Ajustes no config.inc.php</p>
<pre class="remontti-code"># vim /usr/share/phppgadmin/conf/config.inc.php</pre>
<p>Localize as linhas e ajuste:</p>
<pre class="remontti-code">$conf[&#039;servers&#039;][0][&#039;host&#039;] = &#039;localhost&#039;;
$conf[&#039;extra_login_security&#039;] = false;
$conf[&#039;owned_only&#039;] = true;</pre>
<p>Para torna-lo acessível altere o arquivo de configuração do seu NGINX, no exemplo vou colocar no arquivo default, mas você poderia estar configurando em seus domínios. </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/php7.3-fpm.sock;
    }

    location ^~ /phppgadmin {
        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/php7.3-fpm.sock;
        }

    }

}</pre>
<p>Se deseja tonar o phppgadmin acessível apenas de alguns endereços IPs (RECOMENDO) 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 reinicie o serviço:</p>
<pre class="remontti-code"># nginx -t
# systemctl restart nginx</pre>
<p>Basta acessar http://IP-SERVIDOR/phppgadmin<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/04/phppgadmin7.png" alt="" width="1033" height="340" class="alignnone size-full wp-image-5495" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/04/phppgadmin7.png 1033w, https://blog.remontti.com.br/wp-content/uploads/2021/04/phppgadmin7-300x99.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/04/phppgadmin7-1024x337.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/04/phppgadmin7-768x253.png 768w" sizes="auto, (max-width: 1033px) 100vw, 1033px" /><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/04/postgres2.png" alt="" width="1401" height="576" class="alignnone size-full wp-image-5511" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/04/postgres2.png 1401w, https://blog.remontti.com.br/wp-content/uploads/2021/04/postgres2-300x123.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/04/postgres2-1024x421.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/04/postgres2-768x316.png 768w" sizes="auto, (max-width: 1401px) 100vw, 1401px" /></p>
<h3>LETSENCRYPT</h3>
<p>Criando certificado valido para nossos domínios.</p>
<pre class="remontti-code"># apt install letsencrypt python-certbot-nginx</pre>
<p>Tenha seu(s) domínio(s) configurado em /etc/nginx/sites-enabled/</p>
<pre class="remontti-code"># letsencrypt</pre>
<p>Retorno do questionário:</p>
<pre class="remontti-code">Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter &#039;c&#039; to
cancel): dev@null.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing 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

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: sub1.remontti.com.br
2: sub2.remontti.com.br   &lt;&lt; CASO VOCÊ TENHA MAIS DE UM SUB CONFIGURADO
3: sub3.remontti.com.br    &lt;&lt; IRÁ APARECER AQUI 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 &lt;&lt; ESCOLHA QUAIS VC DESEJA
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for sub1.remontti.com.br
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/sub1.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): 2 &lt;&lt; SE QUISER FORCAR SEMPRE HTTPS
Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/sub1.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled
https://sub1.remontti.com.br

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=sub1.remontti.com.br
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/sub1.remontti.com.br/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/sub1.remontti.com.br/privkey.pem
   Your cert will expire on 2021-07-05. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the &quot;certonly&quot; option. To non-interactively renew *all* of
   your certificates, run &quot;certbot renew&quot;
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - 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>Você pode também criar o certificado diretamente para um domínio. </p>
<pre class="remontti-code"># letsencrypt --authenticator standalone --installer nginx -d sub1.remontti.com.br</pre>
<p>Dica, se desejar desativar o TLS1.0 e TLS1.1 após criar um certificado um arquivo é criado /etc/letsencrypt/options-ssl-apache.conf, então edite e inclua no SSLProtocol TLSv1 -TLSv1.1</p>
<pre class="remontti-code"># vim /etc/letsencrypt/options-ssl-apache.conf</pre>
<p>Ficando</p>
<pre class="remontti-code">#SSLProtocol            all -SSLv2 -SSLv3
SSLProtocol             all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1</pre>
<p>Reinicie o Apache:</p>
<pre class="remontti-code"># systemctl restart apache2</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-j2dLcHdU" 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>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"># echo &#039;00 00   1 * *   root    /usr/bin/certbot -q renew&#039; &gt;&gt; /etc/crontab
# systemctl restart cron</pre>
<p>Caso não renovar apenas rode o comando letsencrypt novamente. </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/5487">Servidor WEB NGINX + PHP + PostgreSQL + phpPgAdmin + Letsencrypt no Debian 10 Buster (LNPP)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/5487/feed</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Criando certificado grátis com  Let’s Encrypt para o Apache  no Debian 10</title>
		<link>https://blog.remontti.com.br/3548</link>
					<comments>https://blog.remontti.com.br/3548#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Tue, 17 Sep 2019 19:19:05 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[certificado]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Domínio]]></category>
		<category><![CDATA[Let’s Encrypt]]></category>
		<category><![CDATA[letsencrypt]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php7]]></category>
		<category><![CDATA[Virtual]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=3548</guid>

					<description><![CDATA[<p>Let’s Encrypt entrega certificados digitais que permite HTTPS (SSL/TLS) para sites gratuitamente, de maneira fácil. É um serviço fornecido pelo Internet Security Research Group Requisitos: Debian 10 Stretch / Instalação Limpa (Funciona no Deb9)&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/3548">Criando certificado grátis com  Let’s Encrypt para o Apache  no Debian 10</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://letsencrypt.org" rel="noopener noreferrer" target="_blank">Let’s Encrypt</a> entrega certificados digitais que permite HTTPS (SSL/TLS) para sites gratuitamente, de maneira fácil. É um serviço fornecido pelo Internet Security Research Group</p>
<p>Requisitos:<br />
<a href="https://blog.remontti.com.br/2966" rel="noopener noreferrer" target="_blank">Debian 10 Stretch / Instalação Limpa</a><br />
<em>(Funciona no Deb9)</em></p>
<p>Let’s Encrypt apresentado, vamos a instalação.</p>
<pre class="remontti-code"># su - 
# apt update
# apt upgrade
# apt install letsencrypt python-certbot-apache</pre>
<p>Para nosso exemplo crie um domínio virtual nas configurações do apache.<br />
Lei mais em: <a href="https://blog.remontti.com.br/3464" rel="noopener noreferrer" target="_blank">Como ter diversos sub/domínios no mesmo servidor? (Domínios virtuais com Apache2)</a></p>
<p>Lembre de em seu servidor DNS ter configurado do host (no meu ex.: &#8220;blog&#8221;) apontando para o IP de seu servidor.</p>
<p>Criamos o arquivo que vai representar o host blog. Vou utilizar como base o diretório /var/www/blog que vamos criar em seguida.</p>
<pre class="remontti-code"># vim /etc/apache2/sites-available/cloud.conf</pre>
<pre class="remontti-code">&lt;virtualhost *:80&gt;
        ServerName blog.remontti.com.br
        ServerAdmin noc@remontti.com.br
 
        DocumentRoot /var/www/blog 
 
        &lt;directory /var/www/blog/ &gt;
                Options FollowSymLinks
                AllowOverride All
        &lt;/directory&gt; 
 
        LogLevel warn 
        ErrorLog ${APACHE_LOG_DIR}/error_cloud.log
        CustomLog ${APACHE_LOG_DIR}/access_cloud.log combined
&lt;/virtualhost&gt;</pre>
<p>Por segurança recomendo remover a assinatura do servidor, evitando os &#8220;espertinhos&#8221;</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>Crie o diretório e uma uma index só para representar nosso &#8220;olá mundo&#8221;.</p>
<pre class="remontti-code"># mkdir /var/www/blog/
#  echo &#039;&lt;h1&gt;Hello world!&lt;/h1&gt;&#039; &gt; /var/www/blog/index.html</pre>
<p>Antes de gerar o certificado pare &#8220;blog.remontti.com.br&#8221;.</p>
<pre class="remontti-code"># systemctl stop apache2</pre>
<pre class="remontti-code"># letsencrypt --authenticator standalone --installer apache -d blog.remontti.com.br</pre>
<p>Responda como abaixo:</p>
<pre class="remontti-code">Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter &#039;c&#039; to
cancel): seu@email.com.br
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing 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
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for blog.remontti.com.br
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/blog-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/blog-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/blog-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): 2
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://blog.remontti.com.br
 
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=blog.remontti.com.br
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/blog.remontti.com.br/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/blog.remontti.com.br/privkey.pem
   Your cert will expire on 2019-10-24. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the &quot;certonly&quot; option. To non-interactively renew *all* of
   your certificates, run &quot;certbot renew&quot;
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:
 
   Donating to ISRG / Lets Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le</pre>
<p>Já pode acessar no navegador o domínio com HTTPS &#8220;blog.remontti.com.br&#8221;</p>
<p>Dica, se desejar desativar o TLS1.0 e TLS1.1 após criar um certificado um arquivo é criado /etc/letsencrypt/options-ssl-apache.conf, então edite e inclua no SSLProtocol TLSv1 -TLSv1.1</p>
<pre class="remontti-code"># vim /etc/letsencrypt/options-ssl-apache.conf</pre>
<p>Ficando</p>
<pre class="remontti-code">#SSLProtocol            all -SSLv2 -SSLv3
SSLProtocol             all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1</pre>
<p>Reinicie o Apache:</p>
<pre class="remontti-code"># systemctl restart apache2</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-gRknfGT7" 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>Para renovar automaticamente crie um script e adicione ao cron.</p>
<pre class="remontti-code"># vim  /etc/renova-cert.sh</pre>
<p>Adicione</p>
<pre class="remontti-code">#!/bin/bash
/usr/bin/systemctl stop apache2
/usr/bin/certbot -q renew
/usr/bin/systemctl start apache2</pre>
<p>Damos permissão para executar</p>
<pre class="remontti-code"># chmod +x /etc/renova-cert.sh</pre>
<p>Adicionamos ao Cron para toda meia noite renovar</p>
<pre class="remontti-code"># echo &#039;00 00   * * *   root    /etc/renova-cert.sh&#039; &gt;&gt; /etc/crontab
# systemctl restart cron</pre>
<p>Agora você já tem seu domínio com certificado! Esse certificado pode ser utilizado para outro serviços.</p>
<p><center><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></center></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/3548">Criando certificado grátis com  Let’s Encrypt para o Apache  no Debian 10</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/3548/feed</wfw:commentRss>
			<slash:comments>15</slash:comments>
		
		
			</item>
		<item>
		<title>Configurando certificado grátis no Apache2 &#8211; Debian 8/9</title>
		<link>https://blog.remontti.com.br/1832</link>
					<comments>https://blog.remontti.com.br/1832#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Thu, 27 Apr 2017 14:29:04 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[certificado]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[letsencrypt]]></category>
		<guid isPermaLink="false">http://blog.remontti.com.br/?p=1832</guid>

					<description><![CDATA[<p>Distribuição utilizada: Debian 8 Jessie &#038; / Debian 9 Stretch &#8211; Instalação Limpa Versão Apache: 2.4.10 > Para obter um certificado grátis vamos usar o Let’s Encrypt CA. Let&#8217;s Encrypt entrega certificados digitais que permite&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/1832">Configurando certificado grátis no Apache2 &#8211; Debian 8/9</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/2017/04/https-blog-remontti-300x142.png" alt="" width="300" height="142" class="alignnone size-medium wp-image-1838" srcset="https://blog.remontti.com.br/wp-content/uploads/2017/04/https-blog-remontti-300x142.png 300w, https://blog.remontti.com.br/wp-content/uploads/2017/04/https-blog-remontti-520x245.png 520w, https://blog.remontti.com.br/wp-content/uploads/2017/04/https-blog-remontti.png 720w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p>Distribuição utilizada: Debian 8 Jessie &#038; / Debian 9 Stretch &#8211; <a href="https://blog.remontti.com.br/1152">Instalação Limpa</a><br />
Versão <a href="https://blog.remontti.com.br/1296" target="_blank" rel="noopener noreferrer">Apache</a>: 2.4.10 ></p>
<p>Para obter um <strong>certificado grátis</strong> vamos usar o Let’s Encrypt CA.</p>
<p>Let&#8217;s Encrypt entrega certificados digitais que permite HTTPS (SSL/TLS) para sites gratuitamente, de maneira fácil. É um serviço fornecido pelo <a href="https://letsencrypt.org/isrg/" target="_blank" rel="noopener noreferrer">Internet Security Research Group</a> (ISRG).</p>
<p>Seus principais princípios por trás de Let&#8217;s Encrypt são:</p>
<p><i><strong>Grátis</strong>: Qualquer pessoa que possua um nome de domínio pode usar Let&#8217;s Encrypt para obter um certificado confiável a custo zero.<br />
<strong>Automático</strong>: o software em execução em um servidor web pode interagir com o Let&#8217;s Encrypt para obter um certificado sem dor, configurá-lo com segurança para uso e cuidar automaticamente da renovação.<br />
<strong>Seguro</strong>: Let&#8217;s Encrypt servirá como uma plataforma para avançar as melhores práticas de segurança TLS, tanto no lado da CA quanto ao ajudar os operadores do site a proteger adequadamente seus servidores.<br />
<strong>Transparente</strong>: Todos os certificados emitidos ou revogados serão publicamente registrados e disponíveis para qualquer pessoa a inspecionar.<br />
<strong>Aberto</strong>: O protocolo automático de emissão e renovação será publicado como um padrão aberto que outros podem adotar.<br />
<strong>Cooperativo</strong>: Assim como os próprios protocolos de Internet subjacentes, Let&#8217;s Encrypt é um esforço conjunto para beneficiar a comunidade, além do controle de qualquer organização.</i></p>
<p>Let&#8217;s Encrypt apresentado, vamos instalar o cliente certbot/letsnecrypt. </p>
<p>No <strong>Debian 8</strong> será necessário ativar o repositório <a href="http://backports.debian.org/Instructions/" target="_blank" rel="noopener noreferrer">backports</a>.</p>
<pre class="remontti-code"># echo &#039;deb http://ftp.debian.org/debian jessie-backports main&#039; &gt;&gt; /etc/apt/sources.list.d/backports.list
# apt update
# apt upgrade
# apt install letsencrypt python-certbot-apache -t jessie-backports</pre>
<p>No <strong>Debian 9</strong></p>
<pre class="remontti-code"># apt update
# apt upgrade
# apt install letsencrypt python-certbot-apache</pre>
<p>Tenha configurado um/ou mais domínio(s) em seu apache. Vou deixar aqui um exemplo de configuração:</p>
<pre class="remontti-code">&lt;VirtualHost *:80&gt;
        ServerName meuhttps.remontti.com.br
        ServerAdmin seu@email.com.br
 
        DocumentRoot /var/www/html

        &lt;Directory /var/www/html/&gt;
                Options FollowSymLinks
                AllowOverride All
        &lt;/Directory&gt; 

        LogLevel warn
 
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
&lt;/VirtualHost&gt;</pre>
<p>Vamos a autoconfiguração.</p>
<pre class="remontti-code"># letsencrypt --apache --agree-tos --email seu@email.com -d meuhttps.remontti.com.br</pre>
<p>Se tiver algum erro tente:</p>
<pre class="remontti-code"># apache2ctl stop
# letsencrypt --authenticator standalone --installer apache -d meuhttps.remontti.com.br</pre>
<p><a title="" href="https://blog.remontti.com.br/wp-content/uploads/2017/01/Screenshot_20170113_160617.png" data-rel="lightbox-gallery-bGlnaHRib3gtMw==" data-rl_title="" data-rl_caption=""><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-1563" src="https://blog.remontti.com.br/wp-content/uploads/2017/01/Screenshot_20170113_160617-300x167.png" sizes="auto, (max-width: 300px) 100vw, 300px" srcset="https://blog.remontti.com.br/wp-content/uploads/2017/01/Screenshot_20170113_160617-300x167.png 300w, https://blog.remontti.com.br/wp-content/uploads/2017/01/Screenshot_20170113_160617.png 643w" alt="" width="300" height="167" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2017/04/Screenshot_20170619_155108.png" data-rel="lightbox-gallery-ktgZjyTh" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2017/04/Screenshot_20170619_155108-300x200.png" alt="" width="300" height="200" class="alignnone size-medium wp-image-2049" srcset="https://blog.remontti.com.br/wp-content/uploads/2017/04/Screenshot_20170619_155108-300x200.png 300w, https://blog.remontti.com.br/wp-content/uploads/2017/04/Screenshot_20170619_155108-768x512.png 768w, https://blog.remontti.com.br/wp-content/uploads/2017/04/Screenshot_20170619_155108-1024x683.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2017/04/Screenshot_20170619_155108.png 1140w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p><strong>Atualizando</strong></p>
<p>Para atualizar os certificados de seus domínio você pode usar o comando:</p>
<pre class="remontti-code"># certbot renew --dry-run</pre>
<p>Dica, se desejar desativar o TLS1.0 e TLS1.1 após criar um certificado um arquivo é criado /etc/letsencrypt/options-ssl-apache.conf, então edite e inclua no SSLProtocol TLSv1 -TLSv1.1</p>
<pre class="remontti-code"># vim /etc/letsencrypt/options-ssl-apache.conf</pre>
<p>Ficando</p>
<pre class="remontti-code">#SSLProtocol            all -SSLv2 -SSLv3
SSLProtocol             all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1</pre>
<p>Reinicie o Apache:</p>
<pre class="remontti-code"># systemctl restart apache2</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-ktgZjyTh" 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>Fonte:<br />
<a href="https://certbot.eff.org/#debianjessie-apache" target="_blank" rel="noopener noreferrer">https://certbot.eff.org/#debianjessie-apache</a><br />
<a href="https://certbot.eff.org/about/" target="_blank" rel="noopener noreferrer">https://certbot.eff.org/about/</a></em></p>
<p>O post <a href="https://blog.remontti.com.br/1832">Configurando certificado grátis no Apache2 &#8211; Debian 8/9</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/1832/feed</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
	</channel>
</rss>
