(51) 2160.9170
  • Blog SOULinux

    Acompanhe Artigos, Notícias e nossos Casos de Sucesso.

Mostrando itens por marcador: Linux

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.

  

Marcado sob
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

 

Marcado sob

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

 

 

Marcado sob
Quarta, 18 Agosto 2021

Zorin OS 16 lançado oficialmente

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/

 

Marcado sob

 

Robert Rose, hoje ex-funcionário da SpaceX, ao ser entrevistado na Embedded Linux Conference (Conferência de Linux Embarcado) em 2013, falou sobre “Lições aprendidas desenvolvendo software para veículos espaciais”. Em seu discurso, ele mostrou como a SpaceX desenvolve seu software baseado em Linux para uma ampla variedade de tarefas necessárias para colocar uma espaçonave em órbita – e, eventualmente, além. O Linux roda em todos os lugares na SpaceX; em tudo desde desktops até espaçonaves.

Rose era o líder da equipe de software de voo da SpaceX. Ele é um ex-programador de vídeo games e disse que algumas lições daquele trabalho foram valiosas em seu emprego na companhia.

 

Sobre a SpaceX

A SpaceX, como empresa, acredita fortemente em transformar os humanos em uma espécie multiplanetária. Uma colônia em Marte é o objetivo, mas para chegar lá, você precisa de foguetes e espaçonaves. Atualmente é caro lançar veículos espaciais, então existe a necessidade de fazer os preços caírem para alcançar esse objetivo.

A empresa segue uma filosofia de reutilização, o que ajuda na redução de preços. Isso já foi testado até certo ponto com o programa dos ônibus espaciais, mas a SpaceX vai além. Não apenas os componentes de hardware são reutilizados entre espaçonaves diferentes; o software é compartilhado também. A empresa constrói seus foguetes do zero em sua fábrica, em vez de terceirizar diversas peças. Isso permite um olhar mais atento e uma frequente integração hardware-software.

Uma coisa que Rose achou difícil de se acostumar no começo na SpaceX foi o foco da empresa no “objetivo final”. Quando decisões são tomadas, as pessoas frequentemente mencionam: “Isso vai funcionar para uma missão à Marte?” Essa pergunta era sempre considerada quando decisões eram tomadas; Marte nem sempre ganha, mas essa preocupação era sempre examinada, segundo ele.

 

Desafios

Alguns dos desafios enfrentados pela empresa são extremos, porque a segurança das pessoas e propriedades está envolvida. As espaçonaves são veículos perigosos que podem causar danos sérios se seu combustível explodisse, por exemplo. Não há como desfazer, não há segunda chance para fazer as coisas certo; uma vez que o foguete é lançado não há como parar. Outro problema que ele não encontrava até ele começar a trabalhar na indústria espacial é o efeito da radiação, que pode aleatoriamente mudar bits – algo que o projeto do sistema precisa considerar.

A SpaceX começou com o foguete Falcon e posteriormente passou o código de aviônica para a espaçonave Dragon. A vantagem óbvia de compartilhar código é que falhas corrigidas em uma plataforma são automaticamente consertadas na outra. Mas há diferenças nos requisitos de software para os veículos lançadores e para as espaçonaves, a grande maioria tem a ver com os diferentes tempos de reação disponíveis. Antes que a espaçonave se aproxime da Estação Espacial Internacional (ISS, sigla em inglês), ela pode tirar um tempo para reagir a qualquer problema. Para um foguete, esse luxo não está disponível; ele deve reagir em pouco tempo.

 

Falsos positivos são uns dos problemas que precisam ser considerados. Rose mencionou o medidor do escudo de calor na missão Mercury 6 (o primeiro voo orbital tripulado dos Estados Unidos) que mostrou que o escudo de calor havia se separado. A NASA tentou arranjar uma maneira de fazer a reentrada sem nenhum escudo de calor, mas resolveu ir em frente. Acabou por ser um falso positivo. Mais uma vez, a quantidade de tempo disponível para reagir é diferente para veículos lançadores e espaçonaves.

 

Coletando dados

Citando Fred Brooks (The Mythical Man-Month), Rose disse que software é invisível. Para tornar o software mais visível, você precisa saber o que ele está fazendo, o que significa criar métricas em tudo o que você conseguir pensar. Estas métricas devem cobrir áreas como desempenho, utilização de rede, carregamento de CPU, dentre outras.

Quando um programa falha, ele deve falhar aos berros com um monitor que começa a piscar em vermelho e mandar um e-mail para todos na equipe. Quando isso acontece, alguém deve responder imediatamente para resolver o problema. Em seu time, eles têm um Justin Bieber em tamanho real recortado que fica posicionado encarando o membro da equipe que quebrou o código. Eles pensam que 100% dos engenheiros de software não gostam de Justin Bieber, e vai funcionar rapidamente para consertar o problema do programa.

 

Alguns detalhes técnicos

Linux é usado para tudo na SpaceX. O Falcon, a Dragon e os veículos Grasshopper usam-no para controle de voo, as estações terrestres usam Linux, bem como os desktops dos desenvolvedores. SpaceX é “Linux, Linux, Linux”, ele disse. Hoje em dia, porém, a empresa também usa o LabView, uma ferramenta gráfica de programação que roda no Windows. Ele é usado para visualizar a telemetria que chega do foguete Falcon 9 e da cápsula Dragon durante o voo.

Rose falou brevemente sobre o sistema de voo da Dragon, embora ele dissesse que não poderia dar detalhes demais. É um sistema tolerante a falhas para satisfazer requisitos da NASA para quando ela chega perto da ISS. Há regras sobre quantas falhas uma aeronave precisa ser capaz de tolerar e ainda ser permitida a aproximação da Estação. Ela usa computadores com redundância tripla para alcançar o nível necessário de tolerância a falhas.

Para navegação, a Dragon usa informação posicional que ela recebe da ISS, com dados de GPS que ela própria calcula. Conforme ela se aproxima da estação, ela usa imagens da ISS e o tamanho relativo da estação para computar a distância para a estação. Pelo fato de às vezes ter que operar na escuridão da sombra da Terra, a Dragon usa imagens térmicas já que a estação é levemente mais quente que no fundo (oposto ao sol).

 

Seu time não usa kernels de distribuições disponíveis no mercado. Em vez disso, eles passam muito tempo avaliando kernels para suas necessidades. Uma vez que um kernel é escolhido, eles tentam não mudá-lo.

 

Artigo original: https://sempreupdate.com.br/como-a-spacex-usa-o-linux-para-controlar-seus-foguetes-e-espaconaves/

Marcado sob

 

O objetivo principal deste tutorial é para complementar o artigo que descreve a configuração de rede em um servidor AD com SAMBA4. O artigo pode ser visto em: http://soulinux.com/blog/item/7-active-directory-com-samba-4-parte-1

 

REFERÊNCIAS

<ethX>: Interface IP nativa (ex: ens18) <DNS3>: IP de um DNS público (ex: 8.8.8.8)
<MascaraRede>: Máscara de rede utilizada (ex: 255.255.255.0 ou /24) <DNS4>: IP de um DNS público (8.8.4.4)
<DominioLocal>: Nome de seu domínio (ex: soulinux.local) <UUID>: UUID da interface de rede
<Gateway>: Endereço IP do seu gateway (ex: 192.168.9.1) <MACAddress>: Endereço MAC da interface de rede
<DNS1>: Endereço IP do Servidor AD (192.168.9.3) <Hostname>: Nome do Servidor AD (ex: srvArquivos)
<DNS2>: Endereço IP do DNS principal da rede (ex: 192.168.9.1)  

 


Configuração de Rede

O Guia de administração RHEL7 indica que o NetworkManager (Gerenciador de Rede) não suporta redes bridging, recurso que é utilizado em máquinas virtuais. Caso então, esteja fazendo esta configuração em uma máquina virtual, desinstale o NetworkManager.

  • Logado como usuário root, pare e desative o NetworkManager da inicialização padrão do Redhat/CentOS:

systemctl stop NetworkManager

chkconfig NetworkManager off

  • Agora remova o NetworkManager:

yum remove NetworkManager

  • Instale o pacote net-tools, a fim de termos os comandos tradicionais de configuração de rede. Caso precise configurar as interfaces antes de instalar o “net-tools” ou não tenha internet disponível nessa máquina, confira a última seção deste guia.

yum install net-tools

  • Faça uma cópia do arquivo de configurações da respectiva interface de rede (ex: ens18):

cp /etc/sysconfig/network-scripts/ifcfg-<ethX> /etc/sysconfig/network-scripts/ifcfg-<ethX>.ORI

  • Edite o arquivo de configurações da respectiva interface de rede (ex: eth1):

vi /etc/sysconfig/network-scripts/ifcfg-<ethX>

  •  Altere o arquivo para que fique com as configurações desejadas. Segue abaixo um exemplo:

    TYPE="Ethernet"
    BOOTPROTO="static"
    DEFROUTE="yes"
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    NAME="<ethX>
    UUID="c0dd071c-8b47-47d3-8c1d-99a18a92ad9b" #ID variável de acordo com a interface
    DEVICE="<ethX>"
    ONBOOT="yes"
    IPADDR="<EnderecoIP>"
    PREFIX="24"
    GATEWAY="<Gateway>"
    DNS1="<DNS1>" #Se a rede possuir SAMBA4 e DNS no mesmo servidor, coloque o endereço IP do SAMBA4
    DNS2="<DNS2>"
    DNS3="<DNS3>"
    DNS4="<DNS4>"
    DOMAIN="<DominioLocal>" # Domínio da Rede
    IPV6_PEERDNS="yes"
    IPV6_PEERROUTES="yes"
    IPV6_PRIVACY="no"

  • Reinicie o serviço de rede:

systemctl restart network

  • Para iniciar a rede automaticamente na inicialização:

chkconfig network on

  • Para listar inicialização dos daemons do Redhat/CentOS faça:

chkconfig --list

 

Configuração de Hostname

  • Faça uma cópia do arquivo de configurações do hostname:
    cp /etc/hostname /etc/hostname.ORI

  • Edite o arquivo de configurações do hostname:
    vi /etc/hostname

  • Altere o arquivo para que fique com as configurações desejadas (ex: srvarquivos.soulinux.local):
    <Hostname>.<DominioLocal>

  • Faça uma cópia do arquivo “/etc/hosts”:
    cp /etc/hosts /etc/hosts.ORI

  • Edite o arquivo “/etc/hosts”:
    vi /etc/hosts

  • Adicione a seguinte linha no final do arquivo “/etc/hosts”:
    <EnderecoIP> <Hostname>.<DominioLocal> <Hostname>

 

 

Configuração de DNS

  • Faça uma cópia do arquivo de configurações do DNS:
    cp /etc/resolv.conf /etc/resolv.conf.ORI

  • Edite o arquivo de configurações do DNS:
    vi /etc/resolv.conf

  • Deixe o arquivo com o seguinte conteúdo:
    search <DominioLocal>
    domain <DominioLocal>
    nameserver <DNS1> #Se a rede possuir SAMBA4 e DNS no mesmo servidor, coloque o endereço IP do SAMBA4
    nameserver <DNS2>
    nameserver <DNS3>
    nameserver <DNS4>

  • Caso seja uma VM, o melhor é desativar o serviço de firewall, bem como, desabilitar da inicialização:
    systemctl stop firewalld
    systemctl disable firewalld

 

 

Servidor NTP (Chrony)

Sincronização de tempo é essencial para o bom funcionamento muitos serviços e aplicativos. O CentOS 7 utiliza como padrão o Chrony, que é uma implementação do protocolo NTP e que atualiza mesmo estando com problemas de rede (caso consiga fazer algumas conexões periódicas).

  • Caso não esteja instalado, instale o Chrony:
    yum install chrony

  • Edite o arquivo de configuração do Chrony:
    vi /etc/chrony.conf

  • Comente as linhas que se referem ao pool CentOS (centos.pool.ntp.org) e adicione os servidores NTP do registro.br:
    # These servers were defined in the installation:
    #server 0.centos.pool.ntp.org iburst
    #server 1.centos.pool.ntp.org iburst
    #server 2.centos.pool.ntp.org iburst
    #server 3.centos.pool.ntp.org iburst
    server a.ntp.br iburst
    server b.ntp.br iburst
    server c.ntp.br iburst
    # Use public servers from the pool.ntp.org project.
    ...

    # Allow NTP client access from local network.
    #allow 192.168/16
    ...


  • Após os ajustes, reinicie o serviço:
    systemctl restart chronyd

  • Para monitorar a correção do tempo, os comandos a seguir podem ser utilizados:
    chronyc tracking
    chronyc sources

 


Configuração de Rede nativo do CentOS 7 (ipaddr)

Os comandos mostrados nesta seção são para o caso de precisar configurar alguma Interface de rede antes de instalar o pacote "net-tools", que não é mais nativo do CentOS.

  • Ver status das Interfaces:
    ip addr show

  • Adicionar o endereço IP e máscara à interface (ex: ip addr add 192.168.9.3/24 dev eth1):
    ip addr add <EnderecoIP>/<Mascara> dev <ethX>

  • Adicionar o gateway (ex: 192.168.9.1) como rota padrão:
    ip route add default via <Gateway> dev <ethX>

  • Mostrar as rotas:
    ip r

  • Adicionar Alias de rede:
    ip address add dev <ethX> <EnderecoIP>/<Mascara> label <ethX>:0

 

 

 

Marcado sob