(51) 2160.9170
  • Blog SOULinux

    Acompanhe Artigos, Notícias e nossos Casos de Sucesso.
Segunda, 14 Fevereiro 2022

pfSense 2.6 é lançado

O pfSense é uma solução de Firewall largamente adotada e uma das mais robustas entre as opções Open Source e que substitui com sucesso, na maioria das necessidades, os principais firewall comerciais existentes no mercado.

A equipe de desenvolvimento do sistema operacional orientado a firewall, pfSense, lançou hoje uma nova atualização muito importante. Esta nova versão traz mudanças importantes, principalmente se você usa o protocolo IPsec para VPNs, e também no sistema de arquivos, já que agora o novo sistema de arquivos padrão é o ZFS ao invé do tradicional UFS.

A nova versão pfSense 2.6 foi desenvolvido um trabalho para melhorar aspectos bastante importantes tanto em termos de funcionalidade quanto de desempenho do sistema operacional. As mudanças mais significativas são as seguintes:

 

Aprimoramento do Protocolo IPSEC

A equipe de desenvolvimento do pfSense fez várias alterações e melhorias no IPsec integrado ao pfSense, melhorando a estabilidade e o desempenho dos túneis VPN com esse protocolo.

Agora que os nomes das interfaces VTI (Virtual Tunnel Interface) foram alterados nesta nova versão, as configurações já existentes no firewall serão atualizadas automaticamente quando possível com esses novos nomes.

Se houver alguma configuração de software de terceiros ou outras alterações internas feitas manualmente que façam referência aos antigos nomes de interface IPsec VTI, elas precisarão ser atualizadas manualmente para o novo formato, pois o processo automático é feito apenas no software pfSense nativo, algo completamente lógico e normal.

Outra mudança importante incorporada está relacionada à página de status e aos widgets que estão muito mais rápidos e mostram informações mais completas do que antes, e até funções úteis adicionais foram incorporadas, como um botão para conectar e desconectar o túnel IPsec de maneira fácil.

Embora não tenha nada a ver com IPsec, a equipe de desenvolvimento do pfSense também aproveitou para resolver muitas falhas e bugs que tivemos na implementação do OpenVPN, além disso, algumas opções foram incorporadas à interface gráfica do usuário que até agora só havia disponíveis através da seção de parâmetros personalizados avançados.

 

 

O sistema de arquivos padrão Mudou para ZFS

Até agora, o sistema operacional pfSense permitia configurar dois tipos de sistemas de arquivos, ZFS ou o sistema de arquivos UFS que é o usual no FreeBSD. Por padrão nas versões anteriores, o UFS era o sistema de arquivos utilizado, porém, agora por padrão teremos o ZFS para instalações, mas logicamente ainda pode-se escolher o UFS como sistema de arquivos sem nenhum problema.

Também foi incorporado um novo widget relacionado ao status dos discos e que substitui o widget atual de “Informações do sistema”. Este novo widget será adicionado e habilitado automaticamente no sistema desde que se tenha o widget “Informações do Sistema” com a seção de uso de disco ativo.

Outras mudanças introduzidas nesta nova versão do pfSense estão relacionadas à funcionalidade de backup automatizado, não sendo mais necessário esperar enquanto o processo de backup está sendo realizado, mas será feito em segundo plano.

Outra característica importante é que a senha para acesso administrativo e demais usuários não serão mais salvas no formato bcrypt, mas sim o algoritmo de hash SHA-512 será utilizado para realizar esta tarefa.

Se você usa o portal captivo, deve saber que houve algumas melhorias importantes relacionadas à página e ao processo de logout, finalmente agora os ramdisks foram convertidos em tmpfs.

 

 

Como atualizar para a nova versão

Para atualizar para esta nova versão, basta ir ao «Sistema / Atualização«, selecionar a nova versão 2.6.0 no caso de usar o pfSense CE e quando clicar no botão [confirmar], o processo de atualização será iniciado.

Caso tenhamos algum problema ao atualizar, podemos sempre executar os seguintes comandos via console ou SSH para forçar a atualização:

pkg-static clean -ay; pkg-static install -fy pkg pfSense-repo pfSense-upgrade

 

Caso esteja utilizando p pfSense em produção, recomendamos que você faça um backup da configuração atual do pfSense e caso algo dê algum problema seja possível restaurar o backup. Além disso, se você utiliza o pfSense virtualizado, nossa recomendação é fazer um snapshot para voltar em caso de problemas na atualização. Embora em novas instalações tenhamos o ZFS por padrão, se você estiver atualizando, não haverá alteração no sistema de arquivos e ainda teremos o que era utilizado antes da atualização.

 

 

O WordPress é um sistema de código aberto para gestão de conteúdo para internet, baseado em PHP com banco de dados MariaDB/MySQL, executado em um servidor interpretador, voltado principalmente para a criação de portais de internet, e blogs online.

Este artigo irá guiá-lo como instalar o WordPress no Ubuntu 20.04 com o servidor web Nginx, MariaDB, PHP 8.1 e certificado SSL da Let’s encrypt.

 

1. PRé-requisitos

- Um servidor Ubuntu 20.04 instalado com IP estático (ex: 172.16.15.3) e devidamente atualizado.

- Acesso SSH e logado como usuário root.

- Um nome de domínio apontado para seu servidor: Para garantir conexões do WordPress com protocolos TLS/SSL. O WordPress pode configurar e gerenciar um certificado SSL gratuito e confiável da Let’s Encrypt se seu servidor tiver um nome de domínio (ex: soulinux.com). Se não tiver um nome de domínio, é possível definir um certificado SSL autoassinado que possa criptografar conexões. porém, ele não será confiável por padrão em navegadores Web.

 

2. CONFIGURAÇÕES IMPORTANTES

 

2.1. Habilitar o acesso SSH no Ubuntu:
vim /etc/ssh/sshd_config


A fim de melhorar a segurança de seu servidor, altere a porta de acesso SSH (ex: 2222 ou outra disponível):

Port 2222

Coloque a parte de autenticação como o mostrado abaixo:

Authentication:
LoginGraceTime 2m
PermitRootLogin yes
StrictModes yes

 

Para concluir, reinicie o serviço SSH:

systemctl restart sshd

 

2.2. Definir a região de fuso horário:

dpkg-reconfigure tzdata

 

2.3. Atualize o servidor e limpe itens não mais necessários:
apt update && apt upgrade

apt autoremove

apt autoclean

apt clean

 

 

3. CONFIGURAÇÕES de Firewall

Supondo que você esteja usando o UFW para gerenciar seu firewall, será necessário abrir as portas HTTP ( 80 ) e HTTPS ( 443 ) e SSH (2222).

 

ufw allow 80

ufw allow 443

ufw allow 2222

enable

 

4. iNSTALAÇÃO DO sERVIDOR web (lEmp)

 

4.1. Instalação do NGINX

No momento em que este tutorial está sendo escrito, a versão padrão do NGINX no Ubuntu 20.04 é a 1.18.0 é totalmente suportado e recomendado para o WordPress. por ser padrão, não é necessário indicar a versão na instalação:
apt install nginx

 

Habilite o NGINX para iniciar no boot:
systemctl enable nginx

 

Confira se o serviço NGINX está em execução:

systemctl status nginx

A saída deve ser:

● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-01-27 23:20:39 -03; 35s ago
Docs: man:nginx(8)
Main PID: 40106 (nginx)
Tasks: 9 (limit: 9315)
Memory: 8.4M
CGroup: /system.slice/nginx.service
├─40106 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
├─40107 nginx: worker process
├─40108 nginx: worker process
├─40109 nginx: worker process
├─40110 nginx: worker process
├─40111 nginx: worker process
├─40112 nginx: worker process
├─40113 nginx: worker process
└─40114 nginx: worker process

jan 27 23:20:39 marcelo-cce systemd[1]: Starting A high performance web server and a reverse proxy server...
jan 27 23:20:39 marcelo-cce systemd[1]: Started A high performance web server and a reverse proxy server.

 

 

4.2. Instalação do PHP 8.1

No momento em que este tutorial está sendo escrito, a versão padrão do PHP no Ubuntu 20.04 é a 7.4.3 e é totalmente suportado e recomendado para o WordPress, mas por ser uma versão com recursos siginificativos, optamos pora instalar o PHP 8.1.

Para instalar o PHP 8.1 é necessário importar o conhecido PPA de Ondřej Surý, o desenvolvedor líder em PHP e Debian e que mantém os pacotes pata Ubuntu e Debian:
apt install software-properties-common && sudo add-apt-repository ppa:ondrej/php -y

 

Após instaldo, atualize os repositorios apt e os pacotes que exigirem atualização:
apt update && apt upgrade

  

O NGINX não contém processamento PHP nativo como alguns outros servidores web como o Apache. É necessário então a instalação do PHP-FPM “Gerenciador de processo fastCGI” para poder interpretar a linguagem PHP. 

No terminal, use o seguinte comando para instalar o PHP 8.1 e PHP 8.1-FPM:
apt install php8.1 php8.1-fpm php8.1-cli

 

Depois de instalado, o serviço PHP-FPM é iniciado automaticamente e é possível verificar o status o serviço:

systemctl status php8.1-fpm

A saída deve ser:

● php8.1-fpm.service - The PHP 8.1 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php8.1-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-01-28 00:57:29 -03; 59s ago
Docs: man:php-fpm8.1(8)
Process: 65920 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/8.1/fpm/pool.d/www.conf >
Main PID: 65917 (php-fpm8.1)
Status: "Processes active: 0, idle: 3, Requests: 0, slow: 0, Traffic: 0req/sec"
Tasks: 4 (limit: 9315)
Memory: 7.7M
CGroup: /system.slice/php8.1-fpm.service
├─65917 php-fpm: master process (/etc/php/8.1/fpm/php-fpm.conf)
├─65957 php-fpm: pool www
├─65959 php-fpm: pool www
└─65980 php-fpm: pool www
jan 28 00:57:29 marcelo-cce systemd[1]: Starting The PHP 8.1 FastCGI Process Manager...
jan 28 00:57:29 marcelo-cce systemd[1]: Started The PHP 8.1 FastCGI Process Manager.

 

Instale as extensões php mais comuns necessárias para o WordPress com o seguinte comando:
apt install php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-redis php8.1-intl php8.1-ldap -y

 

Confira a versão do PHP:
php --version

 A saída do comando deve ser:

PHP 8.1.2 (cli) (built: Jan 24 2022 10:42:33) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies

 

4.3. Configurar o PHP no NGINX

Por padrão, o servidor NGINX não é capaz de interpretar código PHP, por isso, vamos fazer alguns ajustes em seu arquivo padrão de configuração:
nano /etc/nginx/sites-available/default

Neste arquivo, procure a linha que contém todos os arquivos que são executados por padrão. Essa linha deve estar abaixo da linha de configuração de root (root /var/www/html;).

Adicione "index.php" nessa linha, como mostrado a seguir:

root /var/www/html;

# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;

Precisamos também definir que o NGINX irá utilizar a versão correta do PHP e ativar a diretiva location ~ \.php$. Desça um pouco mais, até próximo da linha 56 e retire o # para descomentar a linha "location ~ \.php$ {", descomente também as linhas "include snippets/fastcgi-php.conf;", "fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; e a chave (}) de fechamento do bloco". Caso a linha esteja diferente de "php8.1-fpm.sock", coloque assim, pois é a versão do PHP que estamos utilizando.

A diretiva deve ficar como o mostrado a seguir:location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
# With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}

 

Teste o NGINX para conferir se não houve algum erro na edição desse arquivo:
nginx -t

A saída deve ser:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

 

Reinicie os serviços NGINX e o PHP:

systemctl restart nginx && systemctl restart php8.1-fpm

 

4.4. Configurar o tamanho de arquivos para upload no NGINX e PHP

Quando se deseja fazer upload de arquivos (plugins, temas, etc.) via interface do WordPress, é necessário definir o limite máximo permitido pelas diretivas padrões do NGINX e do PHP. No caso, as diretivas são "client_max_body_size" e "upload_max_filesize", respectivamente. Edite o arquivo de configuração do servidor web (nginx.conf)
nano /etc/nginx/nginx.conf

Neste arquivo, adicione a diretiva abaixo dentro de http:

#Aumentar o limite de upload do usuário para 256 MB ou o tamanho que desejar.
#Deve ser o mesmo valor da diretiva "upload_max_filesize", do arquivo "/etc/php/8.1/fpm/php.ini"

client_max_body_size 256M;

 

4.5. Ajustar configurações do PHP para permitir upload de arquivos maiores maior tempo de processamento

Antes da criação do banco de dados, pode-se definir os parâmetros recomendados no arquivo php.ini:
nano /etc/php/8.1/fpm/php.ini


Ajuste os seguintes campos para os valores abaixo ou de acordo com suuas necessidades:

max_execution_time = 600
max_input_time = 1000
memory_limit = 2048M
post_max_size = 128M

#Coloque o mesmo valor colocado na diretiva "client_max_body_size", do arquivo /etc/nginx/nginx.conf
upload_max_filesize = 256M

date.timezone = America/Sao_Paulo

 

Reinicie os serviços NGINX e o PHP:
systemctl restart nginx && systemctl restart php8.1-fpm

 

 

4.6. Criar o arquivo phpinfo.php

A criação do arquivo phpinfo.php permite mostrar no navegador de internet, todas as informações sobre a versão do PHP, seus módulos e parâmetros utilizados. Para isso, criaremos um arquivo na pasta padrão do NGINX (/var/www/html).
nano /var/www/html/phpinfo.php


Coloque o seguinte conteúdo nesse arquivo e salve-o:

<?php
phpinfo();
?>

 

O usuário "www-data" é o padrão para operação normal em servidores Web como o NGINX. Deve-se então definir esse usuário como proprietário da pasta onde está localizado o seu arquivo:chown -R www-data:www-data /var/www/html/

Defina as permissões corretas para a pasta:

chmod -R 755 /var/www/html/

 

Após, vá até o seu navegador web (Chrome, Firefox, Brave, etc.) e digite o seu respectivo endereço: http://<EndereçoIP>/phpinfo.php ou  http://localhost/phpinfo.php e a seguinte janela deve aparecer:

 

 

4.7. Instalar e configurar a base de dados MySQL (MariaDB):

O MariaDB é um sistema de gerenciamento de banco de dados de código aberto, usado com frequência como uma alternativa ao MySQL. No momento em que este tutorial está sendo escrito, os repositórios APT padrão do Ubuntu 20.04 incluem a versão 10.3.32 do MariaDB.

Proceda a instalação do MariaDB:
apt install mariadb-server mariadb-client

 

Após concluída a instalação, verifique se o habilite para iniciar no boot e reinicie o MariaDB:

systemctl enable mariadb

systemctl restart mariadb

 

Confira a versão do MariaDB:
mariadb --version

 

Antes de criar a base de dados, vamos tornar o MariaDB mais seguro. Execute o comando a seguir e, quando solicitado, defina a "senha do usuário root do MariaDB", remova o "usuário anônimo", "mantenha o login remoto pelo usuário root do banco de dados" e exclua a base de dados "test":

/usr/bin/mysql_secure_installation

Quando solicitado, responda às perguntas abaixo:

Enter current password for root (enter for none): Pressione Enter
Change the root password? [Y/n]: Digite Y
New password: Digite a senha do SGBD
Re-enter new password: Digite a senha novamente
Remove anonymous users? [Y/n]: Digite Y
Disallow root login remotely? [Y/n] : Digite Y
Remove test database and access to it? [Y/n]: Digite Y
Reload privilege tables now? [Y/n]: Digite Y
 

Faça login ao servidor do banco de dados MariaDB com o respectivo usuário root e entre com a respectiva senha definida acima:
mysql -u root -p

 

Estando na interface de administração do MariaDB, crie a base de dados do seu site WordPress (ex: meuSiteDB):

create database MeuSiteDB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

 

Se você desejar que um outro usuário diferente do "root", tenha acesso a base de dados recém criada, é necessário criar e depois associar um usuário para essa base de dados:

create user '[usuarioDB]'@'localhost' IDENTIFIED BY '[senhaUsuarioDB]';

 

Neste ponto, o usuário recém criado, não possui permissões para fazer nada com as base de dados, portanto, deve-se fornecer ao usuário o acesso às informações que eles irão precisar. No caso, vamos garantir todos os privilégios do banco de dados para o respectivo usuário:

grant all privileges on MeuSiteDB.* to 'UsuarioDB'@'localhost' identified by 'SENHA_UsuarioDB';

 

Atribua os respectivos privilégios:

flush privileges;

 

Saia da interface de administração do MariaDB:

exit

 

 

5. INSTALAÇÃO e Configuração DO Wordpress

 

5.1. Faça o download da última versão do WordPress na pasta padrão do NGINX:

 

Acesse a pasta "/var/www/html":

cd /var/www/html

 

Faça o download da última versão do WordPress:
wget https://br.wordpress.org/latest-pt_BR.zip

 

Descompacte o arquivo recém baixado:

unzip latest-pt_BR.zip

 

Descompacte o arquivo recém baixado:

unzip latest.zip

 

Após descomapctado, mova a pasta recém criada (wordpress) para o nome do seu site (ex: meuSite)
mv wordpress <meuSite>

 

Apague o arquivo compactado recém baixado:

rm latest-pt_BR.zip

 

O usuário "www-data" é o padrão para operação normal para servidores Web como o NGINX. Defina esse usuário como proprietário da pasta do seu site WordPress:chown -R www-data:www-data /var/www/html/<meuSite>

 

Defina as permissões corretas para o diretório raiz do seu site WordPress: 

chmod -R 755 /var/www/html/<meuSite>


 

5.2. Crie um site na configuração do NGINX:

Com as etapas realizadas até aqui, já é possível acessar o seu site WordPress via navegador web e iniciar o procedimento de instalação inicial, mas para uma melhor organização, para definir o domínio público de seu website (ex: www.meusite.com.br) e também ter a possibilidade de colocar múltiplos websites no mesmo servidor usando a mesma pilha LEMP, deve-se criar o respectivo arquivo de configuração.

Crie o arquivo "<meuSite>" na pasta "/etc/nginx/sites-available":

nano /etc/nginx/sites-available/<meuSite>

Coloque o seguinte conteúdo, ajustando os campos relacionaos ao seu site, de acordo com suas configurações:

server {
listen 80;
listen [::]:80;
root /var/www/html/<meuSite>;
index.php index index.html index.htm index.nginx-debian.html;
server_name <meuSite.com.br> www.<meuSite.com.br>;
client_max_body_size 100M;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}

 

Teste o NGINX para conferir se não houve algum erro na edição desse arquivo:
nginx -t

A saída deve ser:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

 

Para finalizar esta etapa, deve-se definir o Host Virtual (Virtualhost) do site recém configurado. Para isso, basta criar uma ligação simbólica (comando "ln -s") do respectivo arquivo de configuração para a subpasta "sites-enabled":

ln -s /etc/nginx/sites-available/<meuSite> /etc/nginx/sites-enabled/

 

Teste o NGINX para conferir se não houve algum erro na edição desse arquivo:
nginx -t

A saída deve ser:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

 

Reinicie os serviços NGINX e o PHP:
systemctl restart nginx && systemctl restart php8.1-fpm

  

Se você estiver em um ambiente de desenvolvimento ou se ainda não tem o seu domínio, já é possível iniciar o procedimento de instalação do WordPress. No seu navegador web, digite o seu respectivo endereço: http://<EndereçoIP>/<meuSite> ou  http://localhost/<meuSite>.

Se desejar seguir com a instalação, defina na próxima tela, os dados do sua base de dados, definidos no item 4.5 deste documento.

 

 

6. Instalação do Certificado Digital

Para esta etapa, é fortemente recomendado um nome de domínio registrado, usaremos como referência o domínio <meuSite.com.br>. Você pode comprar um nome de domínio no registrador de domínios de sua escolha (ex: Registro.br, Namecheap, etc.) ou obter um gratuitamente no site Freenom.

Instalaremos o Certbot do Let’s encrypt e seu plug-in do Nginx:

apt install certbot python3-certbot-nginx

 

O Certbot precisa conseguir encontrar o bloco de servidor correto na sua configuração NGINX para que ele seja capaz de configurar automaticamente o SSL. Mais especificamente, ele faz isso procurando uma diretiva "server_name" que corresponda ao domínio do qual você solicita um certificado. Na etapa 5.2, foi mostrada a criação do arquivo de configuração, onde temos o respectivo bloco e a respectiva diretiva já devidamente configurados.

Para verificar, abra o arquivo de configuração do seu domínio usando o nano ou seu editor de texto preferido:
nano /etc/nginx/sites-available/<meuSite>

Localize a linha existente server_name e deve se parecer com isto:

...
server_name <meuSite.com.br> www.<meuSite.com.br>;
...

Se estiver correto, saia do seu editor e siga para o próxima etapa:

 

O Certbot oferecer várias maneiras de obter certificados SSL através de plug-ins. O plug-in NGINX cuidará da reconfiguração do servidor web e recarregará a configuração sempre que necessário. Para usar este plug-in, digite o seguinte:

certbot --nginx -d <meuSite.com.br> -d www.<meuSite.com.br>

O comando acima executa o certbot com o plug-in nginx e usa o -d para especificar os nomes de domínio para os quais desejamos um certificado válido.

Se essa é a primeira vez que você executa o certbot, você será solicitado a informar um endereço de e-mail e concordar com os termos de serviço. Após fazer isso, o certbot se comunicará com o servidor da Let’s Encrypt, executando posteriormente um desafio para verificar se você controla o domínio para o qual está solicitando um certificado.

 

Se tudo estiver correto, o certbot perguntará como definir suas configurações de HTTPS. Escolha a opção 2 e pessione [Enter].

Output 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're confident your site works on HTTPS. You can undo this change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel)> 2

 

A configuração será atualizada e o Nginx recarregará para aplicar as novas configurações. O certbot será encerrado com uma mensagem informando que o processo foi concluído e onde os certificados estão armazenados:

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/<meuSite.com.br>/fullchain.pem
Your key file has been saved at: /etc/letsencrypt/live/<meuSite.com.br>/privkey.pem Your cert will expire on 2022-04-28.
To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option.
To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le

 

Os certificados foram baixados, instalados e carregados. Tente recarregar o seu site usando https://<meuSite.com.br> e verifique o indicador de segurança do seu navegador. Ele deve indicar que o site está devidamente protegido, normalmente com um ícone de cadeado.

Faça também um teste no site SSL Labs Server Test​​​​, e você deverá receber uma classificação A.

 

Os certificados da Let’s Encrypt possuem validade de apenas 90 dias. O pacote certbot que instalamos cuida disso adicionando um temporizador systemd que será executado duas vezes por dia e renovará automaticamente qualquer certificado que esteja dentro de trinta dias da expiração.

Para consultar o status do temporizador com o systemctl:

sudo systemctl status certbot.timer

A saída deve ser semelhante a:

● certbot.timer - Run certbot twice daily
Loaded: loaded (/lib/systemd/system/certbot.timer; enabled; vendor preset: enabled)
Active: active (waiting) since Mon 2022-01-28 20:04:36 UTC; 1 days ago
Trigger: Thu 2022-01-28 05:22:32 UTC; 1h left
Triggers: ● certbot.service

 

Quando necessário, o Certbot renovará seus certificados e recarregará o NGINX para aplicar as alterações. Se o processo de renovação automatizada alguma vez falhar, a Let’s Encrypt enviará uma mensagem para o e-mail que você especificou, informando quando o certificado vai expirar.

  

MariaDB é um SGBD (Sistema Gerenciador de Banco de Dados) que surgiu como fork do MySQL, criado pelo próprio fundador do projeto após sua respectiva aquisição pela Oracle.

As etapas aqui mostradas foram feitas em um computador com Ubuntu 20.04 instalado e com o MariaDB devidamente instalado e configurado.

 

Para executar os comandos abaixo, é necessário estar no terminal de sua distribuição Linux.

 

Login ao servidor de base de dados MariaDB com o usuário root de seu SGBD. Após o comando deve-se informar a respectiva senha do usuário:
sudo mysql -u root -p

Parâmetro -u: Indica o usuário ao qual desejamos utilizar para conectar ao SGBD.
Parâmetro root: Nome do usuário que estamos utilizando para realizar a conexão com o SGBD. Onde pode ser qualquer usuário cadastrado no MariaDB.
Parâmetro -p: Indica a senha do usuário para conexão com o SGBD.

 

- Após informar a senha, você deve estar no console MariaDB:

Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 128
Server version: 10.3.32-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>

 

Estando no console, podemos utilizar os comando SQL. Veremos a seguir alguns exemplos: 

 

Listar todas as bases de dados:
show databases;

Apagar uma base de dados:
drop database [nomeDB];

Criar uma base de dados:
create database [nomeDB];

É possível também criar base de dados já com os respectivos "conjunto e coleção de caracteres", como mostrado a seguir:

create database [nomeDB] CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

 

Criar um usuário de base de dados:

CREATE USER '[usuarioDB]'@'localhost' IDENTIFIED BY '[senhaUsuarioDB]';

Neste ponto, o usuário recém criado, não possui permissões para fazer nada com as base de dados, portanto, deve-se fornecer ao usuário o acesso às informações que eles irão precisar.

GRANT [tipoPermissao] ON [nomeDB].[nomeTabela] TO '[usuarioDB]'@'localhost';

O sinal "*" é um coringa, pois permite selecionar todos os itens. No exemplo a seguir, mostramos como um usuário tem acesso completo a todas as tabelas em uma respectiva base de dados:

GRANT ALL PRIVILEGES on [nomeDB].* to '[usuarioDB]'@'localhost' identified by '[senhaUsuarioDB';

Depois de finalizar com as permissões, sempre se certifique de recarregar todos os privilégios e suas alterações estarão em vigor.: 

flush privileges;

- Aqui está uma lista de permissões comuns das quais os usuários podem usufruir.

ALL PRIVILEGES: Garante ao usuário do SGBD acesso completo a respectiva base de dados (ou, se nenhuma base for selecionada, acesso global ao sistema)
CREATE: Permite criar novas tabelas ou base de dados
DROP: Permite deletar tabelas ou base de dados
DELETE: Permite excluir linhas de tabelas
INSERT: Permite inserir linhas em tabelas
SELECT: Permite usar o comando SELECT para ler os base de dados
UPDATE: Permite atualizar linhas de tabelas
GRANT OPTION: Permite conceder ou remover privilégios de outros usuários

 

Alternar para uma base de dados:

use [nomedb];

Mostrar todas as tabelas da respectiva base de dados:
show tables;

Mostrar o formatos dos campos da tabela de uma base de dados:
describe [nomeTabela];

Apagar uma tabela:
drop table [nomeTabela];

Para sair da interface de administração do MariaDB: 

exit

 

 

Charsets e collations no MySQL

 

Charsets
Os campos do tipo texto do MariaDB (e outros SGBDs), como char, varchar, text, entre oitros, tem uma propriedade que definem o conjunto de caracteres válidos naquele campo. Esses são os chamados "character sets" ou, de forma abreviada, "charsets". Há charsets pra vários idiomas. O mais usado com o português é o "UTF-8", que inclui todos os nossos caracteres acentuados. Porém o "utf8mb4" permite um byte a mais na codificação é o bastante recomendado ultimamente.

Para mostrar a lista de charsets suportados pelo MariaDB, faça a seguinte consulta:

show character set;


Collations
Existem também as "collations" (que podem ser traduzidas por "coleções" ou "agrupamentos") para cada um desses charsets. Elas definem as regras para comparação entre caracteres do charset. Há collations para comparar caracteres de diferentes idiomas, para ignorar (ou não) letras minúsculas e maiúculas, ou acentuação.

Por exemplo, digamos que seja feita uma consulta pela palavra "teste" em uma determinada coluna de uma tabela. Se a collation dessa coluna for "utf8mb4_unicode_ci", o MariaDB pode retornar as palavras "TESTE", "Teste", etc., pois as letras maiúsculas não se diferem das minúsculas (daí o sufixo "ci", de "case-insensitive"). Já na collation "utf8mb4_general_cs", apenas o valor "teste" serviria.

 

Para mostrar a lista de collations de um determinado charset, use:

show collation where charset='utf8mb4';


Unicode e UTF-8
O conjunto de caracteres Unicode é o mais abrangente. Ele engloba milhares de caracteres conhecidos, de vários idiomas, além de símbolos, emoticons, etc. Já o UTF-8 é uma forma prática de se usar o Unicode sem usar tanto espaço de armazenamento.

A tendência atualmente é usar o charset UTF-8 nos base de dados (especificamente o utf8mb4 no MariaDB), pois serve para qualquer idioma.

 

utf8mb4
O UTF-8 do MariaDB, por padrão, não suporta todos os caracteres possíveis do Unicode, utilizando até 3 bytes por caractere. Eles posteriormente criaram o charset utf8mb4, que pode ter até 4 bytes por caractere e é mais completo.

Então a recomendação mais atual de charset e collation para campos texto é utf8mb4 e utf8mb4_unicode_ci, respectivamente.

 

O Nextcloud é software open source que permite hospedar e compartilhar arquivos de forma segura e privativa, sendo semelhante ao conhecido Dropbox. A diferença com o Nextcloud é que todos os seus recursos são em código aberto. Além disso, ele restitui a você o controle e a segurança de seus dados confidenciais, eliminando assim o uso de serviço de hospedagem em nuvem de terceiros.

Se você busca uma solução de armazenamento de arquivos onde você possa ter total controle sobre o servidor e a plataforma, ou seja, ter sua Nuvem Privada, o Nextcloud é a solução.

Este artigo irá guiá-lo como instalar o Nextcloud no Ubuntu 20.04 com o servidor web Apache e o certificado SSL da Let’s encrypt.

 

1. PRé-requisitos

- Um servidor Ubuntu 20.04 instalado com IP estático (ex: 172.16.15.3) e devidamente atualizado.

- Acesso SSH e logado como usuário root.

- Um nome de domínio apontado para seu servidor: Para garantir conexões do Nextcloud com protocolos TLS/SSL. O Nextcloud pode configurar e gerenciar um certificado SSL gratuito e confiável da Let’s Encrypt se seu servidor tiver um nome de domínio (ex: arquivos.soulinux.com). Se não tiver um nome de domínio, o Nextcloud pode definir um certificado SSL autoassinado que possa criptografar conexões. porém, ele não será confiável por padrão em navegadores Web.

 

2. CONFIGURAÇÕES IMPORTANTES

 

2.1. Habilitar o acesso SSH no Ubuntu:

vim /etc/ssh/sshd_config


- A fim de melhorar a segurança, altere a porta de acesso SSH:

Port 2222


- Coloque a parte de autenticação como o mostrado abaixo:

#Authentication:
LoginGraceTime 2m
PermitRootLogin yes
StrictModes yes

- Para concluir, reinicie o serviço SSH:

systemctl restart sshd

 

2.2. Definir a região de fuso horário:

dpkg-reconfigure tzdata

 

2.3. Atualize o servidor e limpe itens não mais necessários:
apt update && sudo apt upgrade

apt autoremove

apt autoclean

apt clean

 

 

3. CONFIGURAÇÕES de Firewall

Supondo que você esteja usando o UFW para gerenciar seu firewall, será necessário abrir as portas HTTP ( 80 ) e HTTPS ( 443 ) e SSH (2222).

 

ufw allow 80

ufw allow 443

ufw allow 2222

enable

 

4. iNSTALAÇÃO DO sERVIDOR web (lamp)

 

4.1. Instalação do PHP e Apache:

No momento em que este tutorial está sendo escrito, a versão padrão do PHP no Ubuntu 20.04 é a 7.4.3 e é totalmente suportado e recomendado para o Nextcloud. por ser padrão, não é necessário indicar a versão na instalação:
apt install apache2 php libapache2-mod-php php-gmp php-bcmath php-gd php-json php-mysql php-curl php-mbstring php-intl php-xml php-zip php-imagick imagemagick php-fpm php-apcu php-fileinfo ffmpeg php-common php-bz2 unzip

 

Habilite alguns módulos Apache:
a2enmod headers dir mime ssl rewrite headers proxy proxy_http deflate cache proxy_wstunnel http2 proxy_fcgi env setenvif 

 

Teste a configuração:
sudo apache2ctl -t

 

Habilite para iniciar no boot e reinicie o Apache:
systemctl enable apache2

systemctl restart apache2

 

Confira a versão do PHP:
php --version

 

4.2. Atualizar Configuração do PHP:

Antes da criação do banco de dados, pode-se definir os parâmetros recomendados no arquivo php.ini:
nano /etc/php/7.4/apache2/php.ini
- Ajuste os seguintes campos para os valores abaixo ou de acordo com suuas necessidades:

output_buffering = off (linha 215)
max_execution_time = 120 (linha 388)
memory_limit = 1024M (linha 409)
post_max_size = 128M (linha 694)
upload_max_filesize = 1024M (linha 846)
date.timezone = America/Sao_Paulo (linha 962)

 

4.3. Instalar e configurar a base de dados MySQL (MariaDB):

O MariaDB é um sistema de gerenciamento de banco de dados de código aberto, usado com frequência como uma alternativa ao MySQL como a parte que representa o banco de dados da famosa pilha LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Ele foi criado como um substituto do MySQL.

No momento em que este tutorial está sendo escrito, os repositórios APT padrão do Ubuntu 20.04 incluem a versão 10.3.32 do MariaDB.

Proceda a instalação do MariaDB:
apt install mariadb-server

 

Após concluída a instalação, verifique se o habilite para iniciar no boot e reinicie o MariaDB:
systemctl enable mariadb

systemctl restart mariadb

 

Confira a versão do MariaDB:
mariadb --version

  

Confira a versão do MariaDB:
mariadb --version

 

Antes de criar a base de dados, vamos tornar o MariaDB mais seguro. Execute o comando a seguir e, quando solicitado, defina a "senha do usuário root do MariaDB", remova o "usuário anônimo", "mantenha o login remoto pelo usuário root do banco de dados" e exclua a base de dados "test":

/usr/bin/mysql_secure_installation

Quando solicitado, responda às perguntas abaixo:

Enter current password for root (enter for none): Pressione Enter
Change the root password? [Y/n]: Digite Y
New password: Digite a senha do SGBD
Re-enter new password: Digite a senha novamente
Remove anonymous users? [Y/n]: Digite Y
Disallow root login remotely? [Y/n] : Digite Y
Remove test database and access to it? [Y/n]: Digite Y
Reload privilege tables now? [Y/n]: Digite Y
 

Faça login ao servidor do banco de dados MariaDB com o respectivo usuário root e entre com a respectiva senha definida acima:
mysql -u root -p

 Estando na interface de administração do MariaDB, crie a base de dados do seu NextCloud:

create database NomeDB_nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Defina o respectivo usuário e uma senha forte para esse banco de dados.

grant all on NomeDB_nextcloud.* to 'UsuarioDB_nextcloud'@'localhost' identified by 'SENHA_UsuárioDB';

 Atribua os respectivos privilégios: 

flush privileges;

Saia da interface de administração do MariaDB: 

exit

 

 

5. INSTALAÇÃO DO NextCloud Server

 

5.1. Faça o download da última versão do NextCloud na pasta padrão do Apache:

 

Acesse a pasta "/var/www":

cd /var/www

 

Remova a subpasta padrão "html", pois colocaremos a pasta "nextcloud" em "/var/www":
rm -r /var/www/html/

 No momento da elaboração desse artigo, a última versão do NextCloud é a 23.0. Faça o download da última versão do NextCloud. :

wget https://download.nextcloud.com/server/releases/latest.zip

Descompacte o arquivo recém baixado:

unzip latest.zip

Após descomapctado, remova o arquivo compactado recém baixado:
rm latest.zip

  O shopt é um comando interno do shell Bash que pode ativar ou desativar as opções da sessão atual do shell. No caso, o bash inclui nomes de arquivos que começam com ‘ . ‘nos resultados do nome do caminho global:

shopt -s dotglob

 

O usuário "www-data" é o padrão para operação normal para servidores Web no Ubuntu como o Apache. Defina esse usuário como proprietário da pasta: 
chown -R www-data:www-data /var/www

 

5.2. Definir permissões adequadas da pasta do NextCloud:

Para isso faremos o download e usaremos um shell script. Continue na pasta /var/www e faça o download a partir do github da Nextcloud.

wget https://raw.githubusercontent.com/nextcloud/vm/master/static/setup_secure_permissions_nextcloud.sh

Torne o script executável:

chmod +x setup_secure_permissions_nextcloud.sh

Como esse script busca um outro script que deve estar em uma pasta específica (/var/scripts). Crie essa pasta:

mkdir -p /var/scripts

 Acesse essa pasta:

cd /var/scripts

 Faça o download do arquivo com o nome que está indicado no script de permissões segura:

wget -O fetch_lib.sh https://raw.githubusercontent.com/nextcloud/vm/master/lib.sh 

Torne o script executável:

chmod +x fetch_lib.sh

Volte para a pasta "/var/www":cd /var/www

Execute o script:./setup_secure_permissions_nextcloud.sh

 

 

5.3. Crie um site na configuração do Apache:

Crie o arquivo "nextcloud.conf" na pasta "/etc/apache2/sites-available":

cd /etc/apache2/sites-available

nano nextcloud.conf

Coloque o seguinte conteúdo, ajustando de acordo com suas configurações:

<VirtualHost *:80>
ServerName nextcloud.SeuDominio.com
ServerAlias www.nextcloud.SeuDominio.com
DocumentRoot /var/www/nextcloud

<Directory "/var/www/nextcloud">
Require all granted
AllowOverride All
Options -Indexes +FollowSymLinks
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>

ErrorLog /var/log/apache2/nextcloud.SeuDominio.com-error.log
CustomLog /var/log/apache2/nextcloud.SeuDominio.com-requests.log combined
</VirtualHost>

 

Saia do editor (nano) e habilite o site nextcloud:

a2ensite nextcloud

 

Como vamos utilizar somente o site nextcloud, desabilite o site padrão definido em "000-default.conf":

sudo a2dissite 000-default.conf

Reinicie o Apache para fazer com que estas alterações tenham efeito:

sudo systemctl restart apache2

 

Agora você deve conseguir acessar e ver o Nextcloud no navegador. Mas não comece a instalação ainda.

 

 

5.4. Instalação do Certificado Digital:

Instalaremos o certbot do Let’s encrypt e obteremos um certificado para o Ubuntu 20.04:

sudo apt install certbot python3-certbot-apache

Crie um certificado de acordo com o seu caminho de instalação do NextCloud e com seu respectivo domínio:certbot certonly --webroot -w /var/www/nextcloud -d nextcloud.SeuDominio.com

O certificado Let's Encrypt tem duração de 3 meses, para realizar a renovação de forma automática, vamos executar a instrução no "crontab":crontab -e

Adicione o seguinte conteúdo ao "crontab":

#Renovação ocorre todo dia às 4:30
30 04 * * * certbot renew

Atualize o arquivo do site nextcloud para adicionar a porta 443 (SSL):

nano /etc/apache2/sites-enabled/nextcloud.conf

 Coloque o seguinte conteúdo, ajustando de acordo com suas configurações:

<VirtualHost *:80>
ServerName nextcloud.SeuDominio.com
ServerAlias www.nextcloud.SeuDominio.com
DocumentRoot /var/www/nextcloud
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

<Directory "/var/www/nextcloud">
Require all granted
AllowOverride All
Options -Indexes +FollowSymLinks
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>

ErrorLog /var/log/apache2/nextcloud.SeuDominio.com-error.log
CustomLog /var/log/apache2/nextcloud.SeuDominio.com-requests.log combined

</VirtualHost>

<VirtualHost *:443>
ServerName nextcloud.SeuDominio.com
ServerAlias www.nextcloud.SeuDominio.com
DocumentRoot /var/www/nextcloud

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
Header always set Strict-Transport-Security "max-age=63072000; includeSubnextcloud.SeuDominio.coms; preload"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff

<Directory "/var/www/nextcloud">
Require all granted
AllowOverride All
Options -Indexes +FollowSymLinks
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>

ErrorLog /var/log/apache2/nextcloud.SeuDominio.com-error.log
CustomLog /var/log/apache2/nextcloud.SeuDominio.com-requests.log combined
SSLEngine on
SSLCertificateKeyFile /etc/letsencrypt/live/nextcloud.SeuDominio.com/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/nextcloud.SeuDominio.com/fullchain.pem
</VirtualHost>

  

Reinicie o Apache:

systemctl restart apache2

 

Os certificados foram baixados, instalados e carregados. Tente recarregar o seu site usando https://nextcloud.SeuDominio.com e verifique o indicador de segurança do seu navegador. Ele deve indicar que o site está devidamente protegido, normalmente com um ícone de cadeado.

Faça também um teste no site SSL Labs Server Test​​​​, e você deverá receber uma classificação A.

Agora é possível acessar o navegador web com SSL ativado. https://nextcloud.seudominio.com

 

 

5.5. Configuração inicial do NextCloud:

Acesse o nexcloud a partir de do navegador web (Firefox, Chrome, etc.) e proceda com as configurações iniciais.

 

  

6. INSTALAÇÃO DO Redis Cache

Nextcloud se tornou uma das soluções de nuvem privada mais amplamente usadas no planeta. Este software em nuvem não é apenas de código aberto, mas também é escalonável, extensível e confiável. Por padrão, o Nextcloud não habilita o armazenamento em cache. Por que você precisa de cache? O armazenamento em cache aumenta o desempenho, armazenando objetos solicitados com frequência na memória.

Ao fazer isso, a recuperação desses objetos é consideravelmente mais rápida. Já que estamos falando sobre nuvem, você pode ter centenas (até milhares) de usuários acessando esse servidor simultaneamente. Sem o cache ativado, esse servidor sofrerá um impacto significativo à medida que cada usuário recupera objetos. Felizmente, com o Nextcloud é possível adicionar esse recurso utilizando um servidor Redis, que é um tipo de banco de dados NoSQL, classificado como servidor de estrutura de dados e armazena as informações em esquemas de chave-valor na memória. Ele é Open Source e licenciado em BSD. Seu nome é um acrônimo de REmote DIctionary Server (servidor de dicionário remoto).

 

6.1. Faça a instalação e configuração do servidor Redis: 

apt install redis-server php-redis

Habilite o módulo php-redis:
phpenmod redis

Habilite e reinicie o servidor Redis:
systemctl enable redis-server

systemctl restart redis-server

Confira se o servidor Redis está em execução:

systemctl status redis-server

 

A fim de configurar o cache, edite o arquivo "config.php"
nano /var/www/nextcloud/config/config.php

 

Adicione o seguinte conteúdo ao arquivo "config.php" acima do final do bloco ");" :

'memcache.distributed' => '\\OC\\Memcache\\Redis',
'memcache.local' => '\\OC\\Memcache\\Redis',
'redis' =>
array (
'host' => 'localhost',
'port' => 6379,
),

  

Salve e feche o arquivo e em seguida, reinicie o Apache e o PHP-FPM:
systemctl restart apache2 php7.4-fpm

 

Configure Opcache para PHP (substituir o número da versão pelo que corresponde ao PHP instalada, em nosso caso é 7.4):

nano /etc/php/7.4/apache2/php.ini

 

Descomente a linhas relacionadas ao bloco [opcache] (pode-se modificar os valores padrão conforme necessário):

; Nextcloud Opcache settings
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

 

Salve e feche o arquivo e em seguida, reinicie o Apache e o PHP-FPM:
systemctl restart apache2 php7.4-fpm

 

 

 

 

Segunda, 23 Agosto 2021

Navegador Brave

O navegador Brave é um browser de internet veloz, gratuito e seguro, com monitoramento e proteção de segurança e experiência otimizada, e que possui versões para macOS, Windows, Linux, Android e iOS.

Brave é um navegador Web de código aberto desenvolvido pela empresa Brave Software Inc. e baseado no navegador Chromium e em seu mecanismo Blink, que bloqueia anúncios e rastreadores de sites.

 

1 - Instalação

1.1 - Abra um terminal a partir do respectivo ícone ou pelas teclas de atalho (CTRL+ALT+T)

1.2 - Atualize o seu sistema:
sudo apt update && sudo apt upgrade -y

1.3 - Instale pacotes necessários:
sudo apt install apt-transport-https curl gnupg

1.4 - Adicione a respectiva chave GPG:
sudo curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-release.gpg add -

1.5 - Adicione o repositório Brave:
sudo echo "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main" | sudo tee /etc/apt/sources.list.d/brave-browser-release.list

1.6 - Atualize o cache APT:
sudo apt update

1.7 - Instale o Brave
sudo apt install brave-browser

1.8 - Após concluída a instalação, basta sair do terminal e localizar o navegador Brave no Dash.

 

1.9 - Se desejar, marque as opções "Definir o Brave como navegador padrão" e "Ajude a melhorar o Brave enviando automaticamente relatório de pane".

 

Obs: No primeiro acesso, o sistema pode perguntar se você deseja definir uma senha para o chaveiro padrão. Sugiro definir uma senha vazia, pois caso seja colocado uma senha, o chaveiro irá surgir na tela sempre que o navegador for aberto e isto pode incomodar um pouco.

 

 

2 - Desinstalando o navegador Brave, caso desejar

2.1 - Abra um terminal

2.2 - Desinstale o programa, usando os comandos abaixo:
sudo apt remove brave-browser --auto-remove

 

Nemo é um fork completo do Nautilus (gerenciador padrão do Zorin OS) e sua meta é estender a experiência do usuário no gerenciamento de arquivos. Como diferencial, ele possui algumas características que não estão disponíveis em versões mais recentes do Nautilus, como visão compacta, opção para abrir um terminal, abrir como "root", entre outras funcionalidades.

Para completar, ele suporta plugins que podem ser instalados para dar a ele mais recursos. Alguns desses plugins podem ser acessados a partir do seu menu principal "Editar"->"Plugins"

O Nemo já está incluso nos repositórios do Zorin, portanto não será necessário adciionar um novo repositório

 

1 - Instalação

1.1 - Abra um terminal a partir do respectivo ícone ou pelas teclas de atalho (CTRL+ALT+T)

1.2 - Atualize o seu sistema:

sudo apt update && sudo apt upgrade && sudo apt autoremove -y

1.3 - Agora instale o pacote com o comando abaixo:

sudo apt install nemo

1.4 - Para visualizar as extensões disponíveis:
sudo apt-cache search nemo

1.5 - Caso desejar instalar algum plugin, use a seguinte sintaxe:
sudo apt install NOMEPLUGIN

 

2 - Definindo o Nemo como gerenciador de arquivos padrão do Zorin

2.1 - Ainda no terminal e com usuário root, faça a checagem do gerenciador de arquivos que está sendo usado atualmente em seu sistema:

xdg-mime query default inode/directory

A resposta deve ser:
org.gnome.Nautilus.desktop

2.2 - Desabilitar o Nautilus como padrão de abertura dos ícones da área de trabalho:

gsettings set org.gnome.desktop.background show-desktop-icons false

2.3 - Definir o Nemo como gerenciador de arquivos padrão:

xdg-mime default nemo.desktop inode/directory application/x-gnome-saved-search

2.4 - Habilitar o Nemo como padrão de abertura dos ícones da área de trabalho:
gsettings set org.nemo.desktop show-desktop-icons true

2.5 - Agora digite o comando abaixo para verificar se o Nemo é realmente o atual gerenciador de arquivos padrão.

xdg-mime query default inode/directory

A resposta deve ser:
nemo.desktop

2.6 - Para concluir, remova dos favoritos o atalho do Nautilus que está na barra de ferramentas

2.7 - Via Dash, busque por "Nemo" e adicione o atalho aos favoritos.

 

 

3 - Caso queira voltar para o gerenciador de arquivos Nautilus como padrão no Zorin OS

3.1 - Via terminal e logado como usuário root, desinstalar o gerenciador de arquivos Nemo:
apt remove nemo nemo-*

apt-get autoremove

 

3.2 - Execute os comandos abaixo para que o Nautilus volte a ser o gerenciador de arquivos padrão do sistema:

 xdg-mime default nautilus*.desktop inode/directory application/x-gnome-saved-search

gsettings set org.nemo.desktop show-desktop-icons false

 gsettings set org.gnome.desktop.background show-desktop-icons true


3.3 - Confira se o Nautilus é realmente o atual gerenciador de arquivos padrão:
xdg-mime query default inode/directory

 

 

Segunda, 23 Agosto 2021

Instalação Anydesk no Zorin 16

AnyDesk é um software de acesso remoto para Windows, Mac, Linux e Android que não requer a criação de uma conta para usar. Segundo os desenvolvedores, o programa tem conexão segura com criptografia e um codec próprio que garante transmissão sem travamentos.

 

1 - Instalação

1.1 - Abra um terminal (use as teclas CTRL + ALT + T)

1.2 - Atualize o seu sistema:

sudo apt update && sudo apt upgrade -y

1.3 - Adicione o repositório AnyDesk: Importar chave GPG para assinar pacotes APT.

wget -qO - https://keys.anydesk.com/repos/DEB-GPG-KEY | sudo apt-key add -

1.4 - Adicionar o repositório AnyDesk ao seu sistema:

echo "deb http://deb.anydesk.com/ all main" | sudo tee /etc/apt/sources.list.d/anydesk-stable.list

1.5 - Atualize o cache APT:

sudo apt update

1.6 - Instale a última versão do AnyDesk no Zorin:

sudo apt install anydesk

 


2 - AJUSTES
O Anydesk não poderá ser acessado caso o usuário esteja na tela de login, pois o Zorin utilizar o Wayland como gerenciador de sessão ao qual não é suportado pelo Anydesk. Deve-se então utilizar o Xorg como gerenciador de sessão. Para isso, basta desativar o Wayland.

 

2.1 - Ainda no terminal, edite o arquivo de configuração de sessão:

sudo nano /etc/gdm3/custom.conf

 

2.2 - Descomente a linha #WaylandEnable=false, ficando como o mostrado a seguir:

[daemon]
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false

 

2.3 - Reinicie o computador para que as configurações de sessão sejam atualizadas:

sudo init 6

 

3 - CONFIGURAÇÕES para permitir acesso externo sem monitoramento

 

3.1 - Após reiniciar o sistema, use o lançador gráfico (Dash) para iniciar o Anydesk.

3.2 - Clique no link "Alterar senha para área de trabalho", logo abaixo do respectivo endereço Anydesk e uma nova janela será aberta, a janela de configurações de segurança.

3.3 - Na página de segurança do AnyDesk, clique no botão "Liberar opções de segurança..."

3.4 - No menu "Acesso Interativo", deixe marcada a opção: "Permitir sempre pedidos de conexões".

3.5 - No menu abaixo, "Acesso durante ausência", marque a opção, "Permitir acesso sem monitoramento" e logo após uma janela será aberta para que a senha seja digitada. Digite uma senha forte o suficiente para ser reconhecida.

3.6 - Feito isso, clique em Fechar no canto direito inferior da tela para que as configurações sejam ativadas e o acesso liberado.

 

Pronto! Agora é somente necessário passar o endereço AnyDesk e a respectiva senha para que outra pessoa pessoa possa acessar o seu sistema remotamente.

Segunda, 23 Agosto 2021

TimeShift

TimeShift é um aplicativo Linux que fornece uma funcionalidade de restauração do sistema, algo semelhante ao recurso “Restauração do sistema” no Windows e a ferramenta “Time Machine” no Mac OS.

O TimeShift é projetado para proteger apenas os arquivos e configurações do sistema. Arquivos do usuário, como documentos, imagens e música são excluídos do processo e isso garante que os arquivos permaneçam inalterados quando você restaurar o sistema para uma data anterior.

 

Instalação:

1. Abra um terminal (use as teclas CTRL + ALT + T)

2. Se ainda não tiver, adicione o repositório do programa com este comando:
sudo add-apt-repository -y ppa:teejee2008/ppa

3. Atualize o gerenciador de pacotes com o comando:
sudo apt-get update

4. Agora use o comando abaixo para instalar o programa
sudo apt install timeshift

6. Caso precise desinstalar, use os comandos abaixo:
sudo apt remove timeshift

sudo apt autoremove

 

Para finalizar, acesse o TimeShift e crie uma rotina automatizada para criação de snapshots

 

O Zorin Group anunciou o lançamento do sistema operacional Zorin OS 16, que é uma distribuição Linux baseada no Ubuntu 20.04 LTS e está com novos recursos, melhor desempenho e um novo layout de área de trabalho semelhante ao Windows 11 (disponível na edição Pro) para ajudar ainda mais aqueles que desejam fazer a transição do sistema operacional Microsoft Windows para um baseado em Linux, sendo uma das distribuições Linux mais fáceis de usar e mais agradáveis para os iniciantes.

 

O novo visual impressionante do Zorin OS 16 consiste em um novo tema que é mais agradável aos olhos e apresenta belas animações, junto com nova arte, novos papéis de parede, bem como tela de bloqueio renovada que oferece uma versão desfocada do fundo da área de trabalho.

 

Além disso, há novos gestos multi-touch e touchpad e uma barra de tarefas mais personalizável com novas configurações para mover o painel para os quatro lados da tela, capacidade de alterar o tamanho e  transparência do painel, suporte para múltiplos monitores, bem como a capacidade de mostrar, ocultar e mover os botões e indicadores do painel.

A edição Pro, oferece layouts de desktop premium que transformam a distribuição Linux em um macOS ou desktop semelhante ao Windows 11, um conjunto de aplicativos de nível profissional, software de produtividade avançado e suporte diretamente com a equipe da Zorin.

O Zorin OS 16 é movido pela série de kernel Linux 5.11, que oferece suporte para hardware mais recente e também torna todo o sistema mais rápido e suave nas configurações existentes. Outras melhorias de desempenho também estão incluídas nesta versão para inicializações de aplicativos mais rápidas e animações mais suaves.

 


Mais Recursos:

  • Escala fracional para telas de alta resolução
  • Use e instale os drivers NVIDIA mais recentes no momento da instalação do sistema
  • Junte-se facilmente a um domínio do Active Directory a partir do instalador do sistema
  • Arquivos estrela para fácil acesso no aplicativo Arquivos
  • Melhor suporte ao leitor de impressão digital com configuração mais simples
  • Novo aplicativo de fotos para gerenciamento de fotos mais simples
  • Exiba um código QR para conectar facilmente seus dispositivos ao ponto de acesso Wi-Fi do seu computador
  • O aplicativo Configurações agora tem um layout de categoria atualizado que é mais fácil de navegar
  • Crie pastas de aplicativos facilmente na grade de aplicativos arrastando aplicativos uns para os outros (somente layouts de área de trabalho semelhantes aos do MacOS e do Ubuntu)
  • Rastreamento e telemetria integrados desativados no Firefox por padrão para uma experiência de navegação na web mais respeitadora da privacidade
  • Experiência de inicialização sem oscilação (em hardware compatível)
  • Instalações criptografadas podem criar uma chave de recuperação
  • Suporte aprimorado para hardware mais recente
  • Baseado no Ubuntu 20.04.3 LTS


Zorin OS 16 está disponível para download gratuito da edição Core, ou, se você desejar apoiar o projeto, pode comprar a edição Pro por € 39 + VAT (~ $ 45 USD) no site oficial . O Zorin OS 16 terá suporte com atualizações de software e segurança até abril de 2025.

 

O Download pode ser feito em: https://zorin.com/os/download/

 

Segunda, 09 Agosto 2021

Instalação Ubuntu Server

O Ubuntu é uma das distribuições Linux mais conhecidas e utilizadas, possuindo uma infinidade de derivados (Zorin, Linux Mint, etc.), sendo muito estável para servidores, pois conta com uma versão LTS (long-term support). Pensando em servidores, o Ubuntu Server está disponível em duas versões: LTS e a rolling-release.

O lançamento do Ubuntu Server LTS oferece um ciclo de suporte de cinco anos. A versão atual do LTS é a Ubuntu Server 20.04.2.0 LTS (Focal Fossa), enquanto que a rolling-release é a Ubuntu Server 21.04. A versão LTS possui o ciclo de apoio de cinco anos, enquanto as versões não LTS, tem nove meses de atualizações.

Para fazer download da versão LTS, acesse o seguinte link: https://ubuntu.com/download/server

 

1. Processo de instalação baseado no assistente gráfico do Ubuntu

 

1.1. Inicie seu sistema ou máquina virtual com a mídia de instalação do Ubuntu.

1.2. Na primeira tela deve-se  escolher o idioma da instalação, o escolhido pode ser o inglês.

1.3. Na próxima tela deve-se escolher se a atualização dos pacotes será realizada durante a instalação, ou se essa tarefa será realizada posteriormente. Selecione a opção "Update to New Installer", para que a atualização ocorra durante a instalação.

1.4. Defina o idioma do teclado. Sugerimos, Portuguese (Brazil).


1.5. Na sequência, deve-se configurar a interface de rede, para que o servidor possa se comunicar com outras máquinas e com a internet. Configure com IP manual a sua respectiva interface de rede:

Defina sua subrede (ex: 172.16.1.0/24)Defina o endereço IP (ex: 172.16.1.12) Defina o seu respctivo gateway (ex: 172.16.1.1)Defina os seus servidores DNS (ex: 172.16.1.1, 1.1.1.1, 1.0.0.1)

1.6. O instalador irá solicitar o servidor proxy, caso seja utilizado na rede em que o Ubuntu Server está sendo implantado. Caso não utilize proxy, deixe este campo em branco.

 1.7. Depois de indicado o repositório, chega a hora de particionar o disco. O administrador pode escolher se pretende usar todo o disco, ou então, particioná-lo. Vamos utilizar opção "Use An Entire Disk". Caso  pretenda particionar, use a opção Manual.

1.8. O assistente da instalação irá apresentar um sumário de todas as configurações realizadas ao nível do sistema de arquivos utilizado.Se tudo estiver correto, clique em [Done].

1.9. Na próxima tela, deve-se criar um usuário padrão para acessar o servidor, além de determinar o nome do servidor.

Defina o nome de sua empresa (ex: SOULinux Consultoria Open Source)Defina o nome do servidor (ex: srvNomeSistema)Defina o seu nome de usuário (ex: soulinux)Defina a respectiva senha do usuário

 

1.10. Na próxima janela, marque a instalação somente do servidor OpenSSH, para poder acessar remotamente essa máquina utilizando o ssh de forma segura.

1.11. Na última janela, pode-se selecionar se deseja realizar a instalação de funcionalidades como o Docker, PostgreSQL, dentre outras. Não marcar nenhuma dessas instalações.

1.12. Finalize a instalação e reinicie seu servidor, lembrando de alterar a ordem de boot, se necessário.

 

 

2. Configurações importantes

 

2.1. Acesse o seu servidor com os dados do usuário criado na etapa 1.9.

 

2.2. Estando no terminal, habilite o usuário root:

sudo passwd root
Informe a senha do usuário atual

Informe uma nova senha para o usuário "root" (duas vezes)

Saia da conta do usuário atual e acesse com o usuário "root".


2.3. Habilitar o acesso SSH no Ubuntu:

sudo vim /etc/ssh/sshd_config
Coloque a parte de autenticação como o mostrado abaixo:

#Authentication:
LoginGraceTime 2m
PermitRootLogin yes
StrictModes yes

2.4. Para concluir, reinicie o serviço SSH:

sudo systemctl restart sshd
2.5. Atualize o servidor:
sudo apt update && sudo apt upgrade

 

2.6. Sincronizar servidor com servidor NTP.br: 

 

Definir a região de fuso horário:

sudo dpkg-reconfigure tzdata
Sincronizar servidor com servidor NTP.br:

sudo apt install -y ntpdate

 Agora podemos executar o comando ntpdate, utilizando o servidor nacional NTP.br.

sudo ntpdate pool.ntp.br

Edite o arquivo de configuração do NTP:

sudo vim /etc/ntp.conf

Localize as linhas que correspondem aos servidores de hora universal do Ubuntu:

pool 0.ubuntu.pool.ntp.org iburst
pool 1.ubuntu.pool.ntp.org iburst
pool 2.ubuntu.pool.ntp.org iburst
pool 3.ubuntu.pool.ntp.org iburst

Altere para os servidores públicos do projeto http://ntp.br :

pool a.st1.ntp.br iburst
pool b.st1.ntp.br iburst
pool c.st1.ntp.br iburst
pool c.st1.ntp.br iburst

Reinicie o serviço NTP:

sudo systemctl restart ntp

 

Confira o status do serviço NTP:sudo systemctl status ntp

Caso o seu servidor esteja atrás de um Firewall, o que é o caso, libere a comunicação do mesmo para a internet através do Protocolo UDP na porta 123:

sudo ufw allow 123/udp sudo ufw reload

Faça testes para verificar se o fuso e o horário estão corretos:

sudo ntpq -p

sudo datesudo sntp --version

 

2.7. Instalação do agente qemu

Caso este servidor seja uma máquina virtualizada no hypervisor Proxmox, é ncessário instalar o agente qemu para permitir a execução de comandos na máquina cliente via Proxmox

sudo apt install qemu-guest-agent

sudo systemctl enable qemu-guest-agentsudo systemctl start qemu-guest-agent

sudo systemctl status qemu-guest-agent

 

2.8. Para finalizar, atualize o servidor e limpe itens não mais necessários:
sudo apt update && sudo apt upgrade

sudo apt autoremove

sudo apt autoclean

sudo apt clean

 

Página 1 de 3