anúncios

Mostrando postagens com marcador Debian. Mostrar todas as postagens
Mostrando postagens com marcador Debian. Mostrar todas as postagens

sexta-feira, 15 de março de 2024

Escolhendo a distribuição Linux ideal para você

Se você é um usuário do Windows interessado em aprender sobre o Linux, está prestes a embarcar em uma jornada emocionante e repleta de oportunidades de aprendizado. Linux é o nome do kernel, que é o núcleo do sistema operacional. Um sistema operacional completo é composto por várias partes, incluindo o kernel (Linux), utilitários do sistema, bibliotecas e aplicativos. Quando as pessoas se referem ao "Linux" como um sistema operacional, geralmente estão se referindo a uma distribuição Linux, que é uma versão específica do sistema operacional Linux combinada com diferentes utilitários, bibliotecas e programas para formar um sistema operacional completo.

Portanto, é mais preciso dizer que o Linux é o kernel, e as distribuições Linux (como Ubuntu, Fedora, Debian, entre outras) combinam o kernel Linux com outros componentes para formar um sistema operacional completo.

  1. Entenda Suas Necessidades:
  2. Antes de escolher uma distribuição Linux, é essencial entender suas necessidades e objetivos. Considere o seguinte:

    Você é novo no Linux ou já possui alguma experiência?

    Você deseja uma distribuição amigável para iniciantes ou está disposto a enfrentar um desafio maior?

    Qual será o principal uso do Linux: desenvolvimento de software, navegação na web, jogos, etc.?

  3. Escolha uma Distribuição Amigável para Iniciantes:
  4. Se você está apenas começando com o Linux e procura uma transição suave do Windows, considere distribuições conhecidas por sua facilidade de uso, como:

    Ubuntu: Uma das distribuições Linux mais populares, conhecida por sua interface amigável e vasta comunidade de suporte.

    Linux Mint: Baseado no Ubuntu, o Linux Mint oferece uma experiência de usuário familiar e vem pré-instalado com muitos aplicativos úteis.

  5. Explore as Opções Intermediárias:
  6. Se você está disposto a se aventurar um pouco mais e deseja uma distribuição que ofereça mais personalização e controle, considere:

    Fedora: Uma distribuição estável e atualizada regularmente, ideal para desenvolvedores e entusiastas do Linux.

    openSUSE: Conhecida por sua robustez e ferramentas de administração avançadas, é uma excelente escolha para usuários intermediários.

    Debian: Conhecida pela sua estabilidade e compromisso com o software livre, o Debian é uma escolha sólida para servidores e sistemas embarcados.

    Arch Linux: Famosa por seu design minimalista e abordagem "faça você mesmo" (do inglês, "do it yourself - DIY"), o Arch Linux é preferido por usuários avançados que desejam maior controle sobre seu sistema.

    Slackware: é uma distribuição Linux venerável, conhecida por sua simplicidade e estabilidade. É uma das distribuições mais antigas ainda em desenvolvimento ativo, mantendo uma abordagem "antiga escola" em relação à administração do sistema, sem muita automação ou ferramentas de configuração automatizadas. O Slackware é preferido por usuários avançados que valorizam o controle direto sobre seu sistema e desejam entender completamente como tudo funciona sob o capô. Sua filosofia de "faça você mesmo" pode ser um desafio para iniciantes, mas para aqueles dispostos a investir tempo em aprender, o Slackware oferece uma experiência de usuário única e altamente personalizável.

    Gentoo: é outra distribuição Linux conhecida por sua abordagem altamente personalizável e orientada para usuários avançados. Ao contrário de muitas outras distribuições que fornecem pacotes binários pré-compilados, o Gentoo adota um modelo de compilação de código-fonte, onde os usuários configuram e compilam cada pacote de software para seus sistemas específicos. Isso permite um controle preciso sobre as otimizações de desempenho e os recursos incluídos em cada programa. Embora o processo de instalação e configuração do Gentoo possa ser mais complexo e demorado do que outras distribuições, é uma escolha popular para usuários que desejam um sistema altamente personalizado e adaptado às suas necessidades específicas. O Gentoo é especialmente adequado para entusiastas de Linux que valorizam o aprendizado e a experiência prática com o sistema operacional.

  7. Experimente distribuições especializadas:
  8. Dependendo de suas necessidades específicas, você também pode considerar distribuições especializadas, como:

    Kali Linux: Projetado para testes de penetração e segurança cibernética.

    Ubuntu Studio: Orientado para artistas e profissionais de multimídia, vem pré-instalado com software de criação de conteúdo.

  9. Teste antes de comprometer-se:
  10. Antes de instalar qualquer distribuição Linux, é uma boa ideia experimentá-la em um ambiente de teste. Muitas distribuições oferecem versões "Live", que permitem iniciar o sistema a partir de um pendrive ou DVD sem alterar o sistema existente. Isso permite que você experimente a distribuição e verifique se atende às suas necessidades antes de fazer a instalação.

Considerações finais:

Escolher a distribuição Linux certa é uma parte importante de sua jornada de aprendizado. Seja qual for a distribuição que você escolher, lembre-se de que o Linux oferece uma comunidade vibrante e uma riqueza de recursos de aprendizado disponíveis online. Não tenha medo de experimentar e explorar as diferentes distribuições até encontrar aquela que melhor se adapta a você. Boa sorte em sua jornada no mundo do Linux.

Entre no grupo Linux no Telegram.

Feito!

terça-feira, 5 de janeiro de 2021

Habilitando o comando sudo no Debian

O que sudo ?

O comando sudo do sistema Linux permite a usuários comuns obter privilégios de outro usuário, em geral o super usuário, para executar tarefas específicas dentro do sistema de maneira segura e controlável pelo administrador.

No Ubuntu o comando sudo já vem habilitado no usuário regular por padrão. No Debian não vem com o comando sudo instalado, no entanto é necessário logar diretamente como root primeiramente para executar tarefas administrativas no terminal, mas quando a máquina é compartilhada com alguns usuários que precisam executar comandos administrativos e você não quer fornecer o password de root, nesse caso entra o sudo, o qual pode configurar os comandos administrativos ao usuário regular.

Instalando o sudo

$ su -
# apt update
# apt install sudo


Habilitar o sudo ao usuário

# adduser seu-usuario -G sudo

Adicionar os usuários e comandos administrativos permitidos aos respectivos usuários.

# vim /etc/sudoers
seu-usuario ALL=(ALL:ALL) ALL
usuario2 ALL=(root) /bin/systemctl restart NetworkManager
usuario3 ALL=(ALL) /bin/systemctl restart apache2
ESC + :x (salvar e sair do editor Vim)

Feito!

segunda-feira, 4 de janeiro de 2021

Configurando Port Knocking no SSH

Mesmo ter alterado a porta default do SSH. Ainda é possível facilmente fazer a varredura de intervalos de portas para descobrir essa porta, mas com Port Knocking, você pode enganar os scanners de porta. Assim antes de conectar via SSH é necessário antes conectar a uma sequência de portas para poder desbloquear a porta especifica utilizada no SSH, que permite a conexão. Dessa forma é mais seguro e simples de implementar, com isso protege o seu servidor de tentativas de conexão SSH não autorizadas.

O objetivo deste howto é explicar a configuração do Port Knocking na distro Debian, mas pode ser feita no Ubuntu também.

Instalando os pacotes necessários

$ sudo apt update
$ sudo apt install openssh-server
$ sudo apt install knockd

Configurando a regra Iptables na porta SSH e Port Knocking

bloqueia-port-ssh.sh
#!/bin/bash
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --destination-port 22 -j DROP

$ chmod +x bloqueia-port-ssh.sh
# ./bloqueia-port-ssh

Configurar o Port Knocking

# vim /etc/knockd.conf
[openSSH]
sequence = 7001,8001,9001
seq_timeout = 5
command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn

Nesta seção, voce pode alterar a sequência de portas que precisam ser acionadas. Para esse exemplo, foi utilizado as portas 7001, 8001, 9001. Altere o seq_timeout = 5 para seq_timeout = 10, e para a seção cloneSSH, faça o mesmo para a linha seq_timout. Também há uma linha de sequência na seção closeSSH que você também precisa modificar.

Habilitar e inicializar o serviço knockd

# vim /etc/default/knockd

Altere de 0 na seção START_KNOCKD para 1

Iniciliza o serviço knockd

# service knockd start

Muito bem está instalado e configurado o Port Knocking. Agora para conectar no SSH, é necessário enviar pacotes nas portas definidas, nesse caso 7001,8001 e 9001.

$ telnet IPSERVIDOR 7001
$ telnet IPSERVIDOR 8001
$ telnet IPSERVIDOR 9001

Por fim, conecte no SSH

$ ssh usuario@ipservidor -p port

Para fechar o SSH, execute:

$ telnet IPSERVIDOR 9001
$ telnet IPSERVIDOR 8001
$ telnet IPSERVIDOR 7001

Feito!

segunda-feira, 12 de outubro de 2020

Instalando e Configurando o Novo SGA no Debian

O que é Novo SGA?

É um Sistema de Gerenciamento de Atendimento adaptável para grandes e pequenas organizações, desenvolvido em PHP com framework Symfony, criado em Dezembro de 2012 por Rogério Alencar Lino Filho.

O Novo SGA dispõe de funcionalidades para controlar a ordem da fila de atendimento e os tempos para atender, além de fornecer gráficos e estatísticas para aprimorar o atendimento ao cliente.

O objetivo deste post é descrever os procedimentos de instalação e configuração do Novo SGA no Debian.

Pré-requisitos:

Ter Apache, PHP, SGBD MySQL, o composer e o Git instalado.

módulos PHP essenciais: php-xml, php-curl, php-mbstring, php-zip

$ sudo apt install php-xml php-curl php-mbstring php-zip

Instalação e configuração do SGA


$ git clone https://github.com/novosga/novosga.git novosga2
$ sudo cp -r novosga2 /var/www/html
$ sudo rm -rf novosga2

Criar o banco de dados

$ sudo mysql -u root
mysql> CREATE DATABASE novosgadb;

Criar o usuário para o SGA

mysql> CREATE USER 'novosga'@'127.0.0.1' IDENTIFIED BY 'secret';

Aplicar o GRANT nas permissões

mysql> GRANT ALL PRIVILEGES ON novosga.* TO 'novosga'@'127.0.0.1' IDENTIFIED BY 'secret';
mysql> FLUSH PRIVILEGES;

Configuração de dependências do projeto


$ cd /var/www/html/novosga2
$ sudo composer install
$ sudo bin/console novosga:install
$ sudo bin/console cache:clear --no-debug --no-warmup --env=prod
$ sudo bin/console cache:warmup --env=prod

Adicionar as configurações do banco de dados no .env

LANGUAGE=pt_BR \
DATABASE_URL="mysql://novosga:secret@127.0.0.1:3306/novosgadb"


Definir permissão do grupo Apache

$ sudo chown www-data:www-data -R /var/www/html/novosga

Configuração do Vhost


$ vim vim /etc/apache2/sites-available/novosga.conf
< VirtualHost *:80 >
ServerName novosga.dominio.com.br
DocumentRoot "/var/www/html/novosga/public"
ErrorLog ${APACHE_LOG_DIR}/novosga.error.log
CustomLog ${APACHE_LOG_DIR}/novosga.access.log combined
< Directory "/var/www/html/novosga/public" >
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
< /Directory >
< /VirtualHost >

Habilitar o Vhost


$ sudo a2ensite novosga.conf
$ sudo systemctl reload apache2

Caso esteja em um ambiente local e tiver um servidor DNS, adicione novosga.dominio.com.br, caso contrário pode adicionar no arquivo /etc/hosts.

$ sudo vim /etc/hosts
  novosga.dominio.com.br IP
  

Caso esteja na VPS Linux (Debian), adicione a entrada novosga.dominio.com.br, obviamente substituir pelo seu domínio registrado na hospedagem ou registro.br.

No browser, acesse http://novosga.dominio.com.br

Feito!

quinta-feira, 10 de setembro de 2020

Instalando e Configurando o ZoneMinder no Debian

O que é ZoneMinder?

É um sistema com licença GPL, código aberto, de CFTV/IP que possui as principais funções de visualização, gravação, detecção de movimento, possui suporte a câmeras USB, IP e DVR.

O objetivo deste post é explicar os procedimentos de instalação e configuração do ZoneMinder no Debian 10

Instalação dos pacotes necessários

# apt install apache2 mariadb-server php php-mysql libapache2-mod-php

Adicionar o repositório no sources.list

# vim /etc/apt/sources.list
deb https://zmrepo.zoneminder.com/debian/release-1.34 buster/

Salvar e sair do editor vim
ESC +:x

Importação da chave do Zoneminder

# apt install apt-transport-https gnupg
$ wget -O - https://zmrepo.zoneminder.com/debian/archive-keyring.gpg | sudo apt-key add -

Atualização do repositório

# apt update
# apt install zoneminder

Configuração de segurança do MySQL/MariaDB

# mysql_secure_installation
# mysql -u root

MariaDB [(none)]> CREATE DATABASE zm;
MariaDB [(none)]> CREATE USER 'zmuser'@'127.0.0.1' IDENTIFIED BY 'secret';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON zm.* to 'zmuser'@'127.0.0.1';
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.001 sec)


Habilitar e inicializar o serviço do MySQL/MariaDB


# systemctl enable mariadb
# systemctl start mariadb


Importação do banco de dados criado

# mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql

Adicionar as credenciais do banco de dados no arquivo de configuração

# vim /etc/zm/zm.conf
ZM_DB_HOST=127.0.0.1
ZM_DB_NAME=zm
ZM_DB_USER=zmuser
ZM_DB_PASS=secret

Inicializar o serviço

# systemmctl enable httpd
# systemctl enable zoneminder
# systemctl start zoneminder


Criar o link símbolico

# ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf

Reiniciar o Apache

# systemctl restart apache2

No browser acesse http://IPSERVIDOR/zm

Feito!

segunda-feira, 6 de abril de 2020

Instalando e Configurando ambiente Bludit no Debian

O que é Bludit?

O Bludit é um CMS Flat-File existente que não utiliza banco de dados, mas são gerenciados por arquivos texto que pode ser usado para criação de sites e/ou blogs. Arquivos JSON são usados para armazenar o conteúdo. O plug-in Remote Content também pode ser usado para publicar conteúdo em uma plataforma como o GitHub.

O conteúdo pode ser formatado com a linguagem de marcação Markdown ou com código HTML ou um editor WYSIWYG . Vários modelos de design estão disponíveis para a aparência; os plugins permitem a expansão com funções adicionais. O Bludit é gratuito e de código aberto, está licenciado sob a licença MIT.

O Bludit foi desenvolvido em PHP por Diego Najar e data de lançamento em 14 de Setembro de 2015.

Depois de conhecer o Bludit e para que serve, podemos seguir os procedimentos de instalação e configuração do Bludit no GNU/Linux Debian 9/10.

Preparando o ambiente PHP para o Bludit

$ sudo apt install apache2 php php-gd php-curl php-imap php-ldap

Habilitar o módulo Rewrite
$ sudo a2enmod rewrite

Reiniciar o Apache para efeito do módulo Rewrite habilitado
$ sudo systemctl reload apache2

Dowload do Bludit
OBS: Até a data de publicação deste post, a versão atual é: 3.12.
Renomei para bluditblog, mas pode colocar o nome que desejar, Ok?
$ git clone https://github.com/bludit/bludit.git bluditblog
$ sudo cp -R bluditblog /var/www/html
$ sudo chown www-data:www-data -R /var/www/html/bluditblog

Adicionar o seu usuário no grupo www-data
$ sudo usermod -aG www-data $(whoami)

Configurando o Vhost para o Bludit

# vim /etc/apache2/sites-available/bluditblog.conf
Altere o arquivo para ficar como este, apenas altere o diretório de localização do seu site ou sistema.
< VirtualHost *:80>
ServerName app.local
DocumentRoot "/var/www/html/bluditblog"
ErrorLog ${APACHE_LOG_DIR}/bluditblog.error.log
CustomLog ${APACHE_LOG_DIR}/bluditblog.access.log combined
< Directory "/var/www/html/bluditblog">
        DirectoryIndex index.php index.html index.htm
        AllowOverride All
        Order allow,deny
        Allow from all
< /Directory>
< /VirtualHost>
Habilitar o Vhost
$ sudo a2ensite bluditblog.conf

Reload do Apache
$ sudo systemctl reload apache2

Adicione no arquivo hosts o nome definido no ServerName do Vhost, em Linux o diretório é: /etc/hosts .
PS: Editar o arquivo hosts como administrador do sistema.
No meu caso, defini o ServerName do Vhost como bluditblog.local, altere para o nome que desejar e deve ter o mesmo nome no arquivo hosts, Ok?

127.0.0.1 bluditblog.local

Acesse no browser http://bluditblog.local ou o nome que definiu no Vhost.
No primeiro acesso, irá redirecionar para o cadastro para o painel administrativo, segue o setup conforme solicitado que leva menos de 1 minuto.


Feito!

quarta-feira, 11 de março de 2020

Instalando e Configurando ambiente Grav no Debian

O que é Grav ?

Grav é um dos CMS Flat-File existente que não utiliza banco de dados, mas são gerenciados por arquivos texto. Sendo assim, torna mais veloz o acesso em comparação com CMS conhecido como Wordpress.

O Grav foi desenvolvido em PHP com framework Symfony pelos desenvolvedores: Andy Miller, Djamil Legato, Matias Gries, com data inicial de lançamento em 30/07/2014. O Grav foi projetado para ter uma curva de aprendizado superficial e fácil de configurar. O foco do Grav é a velocidade e a simplicidade, em vez de uma abundância de recursos internos que custam complexidade.

Depois de conhecer o Grav e para que serve, podemos seguir os procedimentos de instalação e configuração do Grav no GNU/Linux Debian 9/10.

Preparando o ambiente PHP para o Grav

$ sudo apt update
$ sudo apt install apache2 php php-gd php-curl php-imap php-ldap


Habilitar o módulo Rewrite

$ sudo a2enmod rewrite

Reiniciar o Apache para efeito do módulo Rewrite habilitado

$ sudo systemctl reload apache2

Dowload do Grav+Admin

OBS: Até a data de publicação deste post, a versão atual é: grav-admin-v1.6.22.zip. Grav+Admin

Extrair no diretório /var/www/html

$ sudo unzip grav-admin-v1.6.22.zip -d /var/www/html

Renomear o diretório extraído

$ cd /var/www/html

Renomei para gravblog, mas pode colocar o nome que desejar, Ok?

$ sudo mv grav-admin gravblog

Adicionar o seu usuário no grupo www-data

$ sudo usermod -aG www-data $(whoami)

Configurando o Vhost para o Grav

# vim /etc/apache2/sites-available/gravblog.conf

Altere o arquivo para ficar como este, apenas altere o diretório de localização do seu site ou sistema.
< VirtualHost *:80 >
ServerName app.local
DocumentRoot "/var/www/html/gravblog"
ErrorLog ${APACHE_LOG_DIR}/gravblog.error.log
CustomLog ${APACHE_LOG_DIR}/gravblog.access.log combined
< Directory "/var/www/html/gravblog" >
        DirectoryIndex index.php index.html index.htm
        AllowOverride All
        Order allow,deny
        Allow from all
< /Directory >
< /VirtualHost >
Habilitar o Vhost

$ sudo a2ensite gravblog.conf

Reload do Apache

$ sudo systemctl reload apache2

Adicione no arquivo hosts o nome definido no ServerName do Vhost, em Linux o diretório é: /etc/hosts e em Windows é: C:\Windows\System32\drivers\etc\hosts.

PS: Editar o arquivo hosts como administrador do sistema.
No meu caso, defini o ServerName do Vhost como gravblog.local, altere para o nome que desejar e deve ter o mesmo nome no arquivo hosts, Ok?

127.0.0.1 gravblog.local

Acesse no browser http://gravblog.local ou o nome que definiu no Vhost.

No primeiro acesso, irá redirecionar para o cadastro para o painel administrativo, segue o setup conforme solicitado que leva menos de 1 minuto.

Feito!

quarta-feira, 22 de janeiro de 2020

Instalando Spotify no Linux

O que é Spotify ?


Spotify é um serviço de streaming de música, podcast e vídeo que foi lançado oficialmente em 7 de outubro de 2008. É o serviço de streaming mais popular e usado do mundo. Foi desenvolvido pela startup Spotify AB em Estocolmo, Suécia.

O objetivo deste post é apresentar os procedimentos de instalação do Spotify nas principais distribuições Linux.

Debian/Ubuntu

$ curl -sS https://download.spotify.com/debian/pubkey.gpg | sudo apt-key add -

> $ echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list

$ sudo apt-get update && sudo apt-get install spotify-client

Fedora

$ sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

$ sudo dnf install lpf-spotify-client

$ lpf update

openSUSE

$ sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.0 snappy

$ sudo zypper dup --from snappy

$ sudo zypper install snapd

$ sudo systemctl enable snapd
sudo systemctl start snapd

$ sudo systemctl enable snapd.apparmor
$ sudo systemctl start snapd.apparmor

$ sudo snap install spotify

Arch/Manjaro

$ pamac build spotify

Feito!

sexta-feira, 20 de dezembro de 2019

Instalando e Configurando servidor CalDAV e CardDAV com Radicale

O que é Radicale?

Radicale é um servidor de calendário e lista de endereços, desenvolvido em Python e implementa os padrões CalDAV e CardDAV.

A configuração recomendada para uso em produção é atender ao Apache em todo o sistema via uWSGI com autenticação baseada em Apache.

Debian/Ubuntu

Instalação

$ sudo apt install radicale apache2-utils python3-bcrypt python3-passlib

Autenticação

Crie um arquivo "users" com todos os nomes de usuário e senhas

$ htpasswd -c -B /etc/radicale/users user
$ htpasswd -B /etc/radicale/users user2

Em seguida, para definir a autenticação como htpasswd com criptografia bcrypt, edite essas instâncias em /etc/radicale/config

[auth]
type = htpasswd
htpasswd_filename = /etc/radicale/users
htpasswd_encryption = bcrypt
O script de inicialização do SysV fornecido deve cuidar disso. Caso contrário, você pode fazê-lo manualmente, conforme abaixo:

$ sudo mkdir -p /var/lib/radicale
$ sudo chown radicale:radicale /var/lib/radicale
$ sudo chmod g-w,o-rwx /var/lib/radicale
$ sudo mkdir -p /var/log/radicale
$ sudo chown radicale:adm /var/log/radicale
$ sudo chmod g-w,o-rwx /var/log/radicale
Arquivo de log

Editar o arquivo /etc/radicale/config conforme abaixo:
$ sudo vim /etc/radicale/config

[logging]
config = /etc/radicale/logging

/etc/radicale/logging
[handlers]
#keys = console
keys = file

[formatters]
#keys = simple
keys = full

[logger_root]
#level = WARNING
#level = INFO
level = DEBUG
#handlers = console
handlers = file
[handler_file]
class = FileHandler
# Note: Debian logrotate handles /var/log/radicale/*.log, but not /var/log/radicale/log
# (the example given on radicale.org, including their own logfile rotation)
args = ('/var/log/radicale/radicale.log',)
formatter = full
[formatter_full]
format = %(asctime)s - [%(thread)x] %(levelname)s: %(message)s
Adicionar o hostname do Radicale

Editar o arquivo /etc/radicale/config

[server]
hosts = 127.0.0.1:5232, hostname.local:5232
ssl = true
Habilitar o serviço Radicale no boot

$ sudo update-rc.d radicale enable
service radicale start
service radicale status
service radicale stop

Configuração do Vhost no Apache para o Radicale

$ sudo apt install apache2 libapache2-mod-wsgi
$ sudo vim etc/apache2/sites-available/radicale.conf

< VirtualHost *:80 >
  ServerName dav.dominio.com.br

WSGIDaemonProcess radicale user=www-data group=www-data threads=1
WSGIScriptAlias / /usr/share/radicale/radicale.wsgi

< Directory /usr/share/radicale>
WSGIProcessGroup radicale
WSGIApplicationGroup %{GLOBAL}
AllowOverride None
Order allow,deny
allow from all
< /Directory >
< /VirtualHost >
Ativar o Vhost

$ sudo a2dissite 000-default.conf
$ sudo a2ensite radicale.conf

Criar arquivo de log com usuário e grupo www-data

$ sudo mkdir -p /var/log/radicale/
$ sudo chown -R www-data /var/log/radicale/
$ sudo mkdir -p /var/lib/radicale
$ sudo chown -R www-data /var/lib/radicale/

Reinicie o serviço do Radicale e Apache

Ao acessar http://dav.dominio.com.br irá redirecionar por debaixo dos panos http://dav.dominio:5232

Agora, utilize o App CardDAV-Sync e adicione o servidor Radicale configurado para sincronizar os contatos.

Referências:

https://wiki.debian.org/Radicale

Feito!

quinta-feira, 19 de dezembro de 2019

Configurar certificado SSL com Let's Encrypt

O que é Let's Encrypt?

Let's Encrypt é uma autoridade certificadora gratuita, automatizada e aberta que se tornou possível graças à organização sem fins lucrativos Internet Security Research Group (ISRG)

O Certbot é o cliente do Let's Encrypt que facilita a emissão do certificado SSL no webserver Apache e Nginx.

O presente post, irá explicar os procedimentos de geração do certificado SSL com Let's Encrypt em paralelo com Certbot em um servidor com Debian.

Instalar o Certbot

No Apache

$ sudo apt-get install python-certbot-apache

No Nginx

$ sudo apt-get install python-certbot-nginx

Realizar a emissão e instalação do certificado SSL
Após instalar o certbot, execute a emissão do certificado de acordo com o webserver Apache ou Nginx que estiver utilizando em seu servidor.

No Apache

$ sudo certbot --apache -d dominio.com.br -d dominio.com.br

No Nginx

$ sudo certbot --nginx -d dominio.com.br -d dominio.com.br

Neste exemplo, estamos emitindo um certificado tanto para o domínio principal quanto para o subdomínio www.

Após a execução do comando, precisa fornecer algumas informações solicitadas no próprio terminal, uma delas é o e-mail que será utilizado para enviar notificações sobre a renovação do certificado e eventuais alertas de segurança. Aceitar os termos de serviço e por fim escolha a opção para redicionar todo tráfego para executar sob o prototocolo HTTPS.

Com isso, o certificado já deverá estar funcionamento plenamente. Para verificar, acesse a URL raiz do seu domínio usando o protocolo seguro (https://seudominio.com.br). É bom verificar o diagnótico completo do certificado, acesse o endereço abaixo substituindo pelo seu domínio.

https://www.ssllabs.com/ssltest/analyze.html?d=saitam.com

Ativar a renovação automática

Todos os certificados emitidos pela Let's Encrypt têm duração de apenas 90 dias. O Certbot já vem programado para configurar a renovação automática do Let's Encrypt antes da data de expiração. Na prática, confere diariamente a data de expiração do certificado. Se for menor do que 30 dias, o certificado é renovado.

$ sudo certbot renew --dry-run

O comando certbot renew é o responsável por realizar a verificação do Let's Encrypt. Nesse caso, a flag --dry-run dispara o script, mas em modo teste. Assim, ele não realiza a renovação em si, apenas uma simulação.

A qualquer momento, se houver algum problema com a renovação do certificado, você receberá um aviso no e-mail que cadastrou no início do processo.

Referências:

https://letsencrypt.org/pt-br/docs/

Feito!

quarta-feira, 18 de dezembro de 2019

Configurar certificado Self-Signed SSL no Nginx

O que é certificado SSL ?

Certificado SSL é uma maneira de criar uma conexão mais segura criptografando as informações transmitidas entre o cliente e o servidor onde o certificado está instalado. Este certificado ainda exibe informações de identificação do servidor diretamente no browser do usuário.

Certificados SSL normalmente são emitidos por empresas chamadas de Certificate Authorities que verifica os detalhes do servidor, mas também é possível emitir Self-signed SSL certificate.

O presente post explica os procedimentos de como criar self-signed certificate e configurar no Nginx com Debian/Ubuntu.

Requisitos:

Ter o Nginx instalado.

Instalação do Nginx

$ sudo apt install nginx
Reiniciar o serviço Nginx

$ sudo systemctl restart nginx

Criar o certificado Self-Signed SSL (não assinado)

$ sudo mkdir /etc/nginx/ssl
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt

O comando acima irá criar dois arquivos nginx.key e nginx.crt necessários para configurar Nginx HTTPS server.
Esse certificado tem validade por 1 ano.
Ao executar o comando acima irá perguntar conforme abaixo:

Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:Nome do Estado
Locality Name (eg, city) []:Nome da Cidade
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Nome da Empresa fictícia
Organizational Unit Name (eg, section) []:Departamento de TI
Common Name (e.g. server FQDN or YOUR name) []: nome definido no ServerName do Vhost
Email Address []:seu_email@dominio.com.br

Configurar o Nginx HTTPS server com certificado SSL no Vhost

$ sudo vim /etc/nginx/sites-available/projeto-ssl.conf

PS: Substituir o destacado em vermelho para o seu cenário de projeto do Vhost
server {
  listen       443 ssl;
  server_name  projeto.local;
  ssl_certificate     /usr/local/nginx/ssl/nginx.crt;
  ssl_certificate_key /usr/local/nginx/ssl/nginx.key;
  ssl_protocols       SSLv3 TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers         HIGH:!aNULL:!MD5;

  root  /var/www/html/projeto;
  index index.php;

  charset utf-8;

  location ~ /(\.ht) {
    deny all;
    return 404;
  }

  location ~ ^(.+\.php)(.*)$ {
    try_files $fastcgi_script_name =404;
    include        /etc/nginx/fastcgi_params;
    fastcgi_split_path_info  ^(.+\.php)(.*)$;
    fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    fastcgi_param  PATH_INFO        $fastcgi_path_info;
  }
}

Reiniciar o Nginx

$ sudo systemctl restart nginx

Adicionar o Vhost no arquivo /etc/hosts

127.0.0.1 projeto.local

No browser acessa https://projeto.local

Feito!

terça-feira, 17 de dezembro de 2019

Configurar certificado Self-Signed SSL no Apache

O que é certificado SSL ?

Certificado SSL é uma maneira de criar uma conexão mais segura criptografando as informações transmitidas entre o cliente e o servidor onde o certificado está instalado. Este certificado ainda exibe informações de identificação do servidor diretamente no browser do usuário.

Certificados SSL normalmente são emitidos por empresas chamadas de Certificate Authorities que verifica os detalhes do servidor, mas também é possível emitir Self-signed SSL certificate.

O presente post explica os procedimentos de como criar self-signed certificate e configurar no Apache com Debian/Ubuntu.

Requisitos:

Ter o Apache instalado e os módulos ssl e mod_rewrite habilitados.

Instalação do Apache e habilitar os módulos ssl e mod_rewrite

$ sudo apt install apache2
$ sudo a2enmod ssl
$ sudo a2enmod rewrite

Reiniciar o serviço Apache

$ sudo systemctl restart apache2

Criar o certificado Self-Signed SSL (não assinado)

$ sudo mkdir /etc/apache2/ssl
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
O comando acima irá criar dois arquivos apache.key e apache.crt necessários para configurar Apache HTTPS server.
Esse certificado tem validade por 1 ano.
Ao executar o comando acima irá perguntar conforme abaixo:

Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:Nome do Estado
Locality Name (eg, city) []:Nome da Cidade
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Nome da Empresa fictícia
Organizational Unit Name (eg, section) []:Departamento de TI
Common Name (e.g. server FQDN or YOUR name) []: nome definido no ServerName do Vhost
Email Address []:seu_email@dominio.com.br

Configurar o Apache HTTPS server com certificado SSL no Vhost

$ sudo vim /etc/apache2/sites-available/projeto-ssl.conf

PS: Substituir o destacado em vermelho para o seu cenário de projeto do Vhost
< IfModule mod_ssl.c >
    < VirtualHost _default_:443 >
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/html/projeto
        ServerName projeto.local

            RewriteEngine On

        < Directory "/var/www/html/projeto" >
            Options None
            Options +FollowSymlinks
            AllowOverride All
        < /Directory >

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        SSLEngine on

        SSLCertificateFile    /etc/apache2/ssl/apache.crt
        SSLCertificateKeyFile /etc/apache2/ssl/apache.key

        < FilesMatch "\.(cgi|shtml|phtml|php)$" >
                SSLOptions +StdEnvVars
        < /FilesMatch >
        < Directory /usr/lib/cgi-bin >
                SSLOptions +StdEnvVars
        < /Directory >

        BrowserMatch "MSIE [2-6]" \
                nokeepalive ssl-unclean-shutdown \
                downgrade-1.0 force-response-1.0
        BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

    < /VirtualHost >
< /IfModule >
Ativar o Vhost

$ sudo a2ensite projeto-ssl.conf

Reiniciar o Apache

$ sudo systemctl restart apache2

Adicionar o Vhost no arquivo /etc/hosts

127.0.0.1 projeto.local

No browser acessa https://projeto.local

Feito!

segunda-feira, 16 de dezembro de 2019

Habilitar o sudo no Debian

O que é sudo ?

O sudo é uma aplicação que permite a execução de comandos administrativos de segurança com usuário regular. Na política do Debian, o sudo não vem habilitado por padrão para o usuário regular, devido o fato ser uma distro destinada em servidor, mas se esteja utilizando o Debian em ambiente desktop, então não tem problema habilitar o sudo para o seu usuário regular.

Instalar o sudo
$ apt install sudo

Editar o arquivo /etc/sudoers

# vim /etc/sudoers

Na linha root ALL=(ALL:ALL) ALL substituir o root pelo nome do seu usuário
seu usuário ALL=(ALL:ALL) ALL

Feito!

domingo, 10 de novembro de 2019

Instalando Zabbix 4.4 no Debian 10

O que é Zabbix?

Zabbix é um software que monitora diversos parâmetros de uma rede como a integridade e desempenho dos servidores. Oferece excelentes relatórios e visualização de dados de recursos com base nos dados armazenados, e usa um mecanismo de notificação flexível que permite aos usuários configurar e-mail e integrar com Telegram com alertas para qualquer evento, o que permite uma reação rápida para os problemas do servidor.

Corretamente configurado, o Zabbix pode desempenhar um papel importante no controle da infraestrutura de TI. Isto é igualmente verdade para as pequenas organizações com alguns servidores e para grandes empresas com um grande número de servidores.

Observação: Testado na distribuição GNU/Linux Debian 10 e a versão atual do Zabbix é 4.4 até a data de publicação desta postagem.

Download do pacote Zabbix no Debian 10

# wget https://repo.zabbix.com/zabbix/4.4/debian/pool/main/z/zabbix-release/zabbix-release_4.4-1+buster_all.deb
# dpkg -i zabbix-release_4.4-1+buster_all.deb
# apt update


Instalação do Server/proxy/frontend

# apt install zabbix-server-mysql
# apt install zabbix-proxy-mysql
# apt install zabbix-frontend-php zabbix-apache-conf

Caso preferir o Nginx como webserver, substituir 'apache' por 'nginx'

Criação do banco de dados para o Zabbix

O SGBD utilizado nesse howto foi MySQL
PS: A partir do MySQL 5.7 e MariaDB 10.2, a autenticação do root é realizado via Socket TCP e o password é o mesmo do usuário regular do sistema.

shell> mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '';
mysql> quit;


Importação do schema e dados no servidor com MySQL

# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix

Configuração das credencias para o servidor Zabbix

# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=secret
Configuração do Frontend

Se o webserver for Apache, como utilizado nesse howto, então edite o arquivo /etc/zabbix/apache.conf e ajuste as configurações como segue:
# vim /etc/zabbix/apache.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value max_input_vars 10000
php_value always_populate_raw_post_data -1
php_value date.timezone America/Sao_Paulo
Case o webserver for Nginx, edite o arquivo /etc/zabbix/nginx.conf e descomente as linhas seguintes:
liste 80;
server_name zabbix.local;
Edite também o arquivo /etc/zabbix/php-fpm.conf para ajustar conforme segue:
php_value[max_execution_time] = 300
php_value[memory_limit] = 128M
php_value[post_max_size] = 16M
php_value[upload_max_filesize] = 2M
php_value[max_input_time] = 300
php_value[max_input_vars] = 10000
php_value[date.timezone] = America/Sao_Paulo
Instalação do Agent
# apt install zabbix-agent

Inicialização do Agent
# systemctl start zabbix-agent

Inicialização do servidor Zabbix
# systemctl enable zabbix-server
# systemctl start apache2
# update-rc.d zabbix-server enable


Setup Zabbix
No browser http://IP-SERVIDOR/zabbix
Segue os steps conforme os screenshots seguintes:













O usuário e password default são: Admin/zabbix




Feito!

quinta-feira, 17 de outubro de 2019

Configurando Proxy Reverso na aplicação web com Tomcat

O objetivo deste howto é explicar os procedimentos de configuração do Proxy Reverso de uma aplicação web com Tomcat no Debian 10 / Ubuntu Server 19.04, por exemplo, uma aplicação que foi desenvolvida em Java como webserver Tomcat e pretende deixar o webserver Apache na frente que faça o redirecionamento ao Tomcat, então nesse cenário se aplica Proxy Reverso.

Segue os procedimentos:

Instalação do Apache

# apt install apache2

Habilitar os módulos no Apache

# a2enmod proxy
# a2enmod proxy_http
# a2enmod proxy_balancer
# a2enmod proxy_ajp

Configuração Proxy no diretório /etc/apache2/mods-enabled/proxy.conf
# vim /etc/apache2/mods-enabled/proxy.conf
< IfModule mod_proxy.c >
ProxyRequests Off
< Proxy * >
AddDefaultCharset off
Order deny,allow
Allow from all
< /Proxy >
ProxyVia On
ProxyPass /aplicacao http://localhost:8080/aplicacao
ProxyPassReverse /aplicacao http://localhost:8080/aplicacao
< /IfModule >

Faça alteração das informações de ProxyPass e ProxyPassReverse conforme sua aplicação que deseja criar o proxy reverso. Após reiniciar o Apache, as alterações estão ativadas e pode acessar http://localhost/aplicacao que será redirecionado para aplicação na porta 8080 do Tomcat.

# systemctl restart apache2

Feito!

domingo, 13 de outubro de 2019

Instalando driver da NVIDIA no Debian e derivados

O objetivo deste howto é explicar os procedimentos de instalação da placa de vídeo NVIDIA no Debian e derivados.

Se aplica também para quem tem VGA híbridos Intel e NVIDIA.



Segue os procedimentos:

1. Acesse o site NVIDIA Drivers , selecione a versão do driver NVIDIA que tem no seu computador ou notebook. Pesquise pela versão NVIDIA
2. $ apt search nvidia
Verifique por nvidia-drivers-X, onde X é a versão mais próxima do resultado encontrado no item 1.
$ sudo apt install nvidia-driver-X
Onde o X é a versão correspondente mais próxima do resultado encontrado no item 1.
3. Verificar o nouveau esta na backlist
$ cd /etc/modprobe.d

olhar o arquivo gerado nvidia-graphics-drivers.conf que contém os conteúdos
blacklist nouveau
blacklist lim-nouveau
alias nouveau off
alias lbm-nouveau off
Caso não gerou o arquivo nvidia-graphics-drivers.conf, então crie-o e adicione o mesmo conteúdo no arquivo.

4. Gerar o arquivo initrd do Kernel

$ sudo update-initramfs -u

Antes de reiniciar, ao executar

$ sudo lsmod | grep -i nvidia
sem retorno

$ sudo lsmod | grep -i nouveau
com retorno

Após reiniciar, o resultado será ao contrário, com retorno da nvidia e nenhum do nouveau.

$ sudo reboot

Feito!

domingo, 4 de agosto de 2019

Configurando Proxy Reverso na aplicação web com Tomcat

O que é Proxy Reverse?

O Proxy Reverse pode ser entendido também como Cluster Web, ou seja, uma máquina principal recebe a solicitação e essa máquina tem por objetivo solicitar o serviço de outra máquina.

O presente post é explicado os procedimentos de configuração do Proxy Reverso no Debian / Ubuntu

Instalação do Apache
# apt install apache2

Habilitar os módulos no Apache
# a2enmod proxy
# a2enmod proxy_http
# a2enmod proxy_balancer
# a2enmod proxy_ajp


Configuração Proxy no diretório /etc/apache2/mods-enabled/proxy.conf
OBS: Caso for ambiente de produção, substitua localhost pelo respectivo domínio registrado.
< IfModule mod_proxy.c >
ProxyRequests Off
< Proxy * >
AddDefaultCharset off
Order deny,allow
Allow from all
< /Proxy >
ProxyVia On
ProxyPass /aplicacao http://localhost:8080/aplicacao
ProxyPassReverse /aplicacao http://localhost:8080/aplicacao
< /IfModule >
Faça alteração das informações de ProxyPass e ProxyPassReverse conforme sua aplicação que deseja criar o proxy reverso.
Após reiniciar o Apache, as alterações estão ativadas e pode acessar http://localhost/aplicacao que será redirecionado para aplicação na porta 8080 do Tomcat.

# systemctl restart apache2

Feito!

domingo, 14 de julho de 2019

Instalando Citrix no Debian

O que é Citrix?

A Citrix é uma empresa de software focada em soluções de virtualização e nuvem. Seus produtos mais conhecidos são o XenServer, o XenApp e o XenDesktop, que permitem virtualizar servidores, aplicativos e ambientes de trabalho, respectivamente.

Uma possibilidade interessante é, de um lado, a empresa instalar em um servidor o XenApp ou o XenDesktop, para disponibilizar aplicativos, e de outro lado, o funcionário instalar em seu computador o Citrix Receiver, que é o software cliente dessas soluções. Com isso, o funcionário pode executar em seu computador um aplicativo da empresa como se estivesse dentro da empresa, ainda que na verdade esteja, por exemplo, em casa. Isso porque, embora a tela do aplicativo apareça em seu computador, o processamento ocorre na verdade no servidor.

OBS: O procedimento é mostrado na distribuição Linux Debian, o que inclui o Ubuntu e demais distros derivados do Debian também.

Download do Citrix Receiver no Linux

Acesse a Citrix Receiver , expanda a seção Receiver for Linux e clique no link para a versão mais recente do Citrix Receiver.

Na página seguinte, expanda a seção Debian Packages e depois a seção Debian Full Package (Self-Service Support). Clique no botão Download File abaixo de Receiver for Linux (x86_64). Leia a licença e clique em Yes, I accept (sim, eu aceito) para iniciar o download.

Você vai baixar um pacote DEB, que resumidamente é um arquivo compactado contendo todos os arquivos do programa a ser instalado, assim como informações sobre o programa e rotinas para instalá-lo, atualizá-lo e removê-lo.

Instalação do Citrix Receiver no Linux (Debian e derivados)
Acesse até o diretório que salvou o arquivo .deb que fez o download e faça a instalação conforme o procedimento seguinte:
# dpkg -i icaclient_13.10.0.20_amd64.deb

Iniciando o Citrix Receiver para Linux

Pesquise no menu do ambiente gráfico que estiver usando, digitando "citrix" que irá encontrar Citrix Receiver e clique nele.

Feito!

domingo, 7 de julho de 2019

Lançamento do Debian 10 Buster

No dia 06/07/2019 foi lançado oficialmente a versão 10 (Buster) do Debian e a versão testing (Bullseye). O presente post é de apresentar as principais mudanças que houveram no Debian 10 (Buster).

Gnome Desktop 3.30

A área de trabalho GNOME que estava em 1.3.22 no Debian Stretch é atualizada para 1.3.30 no Buster. Alguns dos novos pacotes incluídos nesta versão desktop GNOME são gnome-todo, em vez de rastreador-gui, dependência gstreamer1.0-packagekit para que haja a instalação codec automático para a reprodução de filmes etc. O grande movimento tem sido todos os pacotes que estão sendo movidas de libgtk2 + para libgtk3 +.

Kernel 4.19.0-4

O Debian usa versões LTS Kernel, então você pode esperar um suporte de hardware muito melhor e um longo ciclo de manutenção e suporte de 5 anos do Debian. Do kernel 4.9.0.3 chegamos a 4.19.0-4.

OpenJDK 11.0

Por muito tempo o Debian ficou preso no OpenJDK 8.0. Agora no Debian Buster houve mudança para o OpenJDK 11.0 e temos uma equipe que cuidará de novas versões.

AppArmor habilidado por default

No Debian Buster, o AppArmor é habilitado por default. Embora isso seja uma coisa boa, os administradores de sistema devem ter o cuidado de ativar os comandos corretos. Este é apenas o primeiro passo e precisaria corrigir provavelmente muitos scripts para ser tão útil quanto previsto para o usuário.

Nodejs 10.15.2

Durante muito tempo o Debian tinha o Nodejs 4.8 no repositório. Neste ciclo, o Debian mudou para o Nodejs 10.15.2. Na verdade, o Debian Buster possui muitas bibliotecas de javascript, como o yarnpkg (uma alternativa npm) e muitas outras.

É claro, você pode instalar os Nodejs mais recentes no Debian a partir do repositório do projeto, mas é bom ver uma versão mais nova no repositório do Debian.

NFtables substitui o Iptables

O Debian Buster fornece nftables como uma substituição completa do iptables, o que significa uma sintaxe melhor e mais fácil, melhor suporte para firewalls ipv4-v6 de pilha dupla e muito mais.

Python 2 substituído pelo Python 3

O Python 2 será suspenso em 1º de janeiro de 2020 por python.org. Então, uma mudança para a versão 3 deve ocorrer já no lançamento do Buster ou em um release futuro, mas isso é iminente. Assim, os desenvolvedores de Python são encorajados a mover sua base de código para ser compatível com o Python 3. Até o momento, tanto o python2 quanto o python3 são suportados no Debian Buster.

Mailman3

O Mailman3 está finalmente disponível no Debian. O Mailman foi subdividido em componentes. Para instalar a pilha inteira, instale o mailman3-full para obter todos os componentes.

Qualquer bases de dados existentes do PostgreSQL precisarão ser reindexadas

Devido às atualizações nos dados de código de idiomas da glibc, a maneira como as informações são classificadas nos índices de texto será alterada. Portanto, seria benéfico reindexar para que não ocorra corrupção de dados no futuro próximo.

Bash 5.0 por padrão

Você provavelmente já conhece os novos recursos do Bash 5.0 . Assim, esta versão já está no Debian.

Implementação Debian /usr/merge

Um excelente primer freedesktop sobre o que o /usr/merge traz já é compartilhado. Algumas coisas devem ser observadas, porém. Enquanto o Debian gostaria de fazer toda a transição, existe a possibilidade de que, devido a circunstâncias imprevistas, alguns binários podem não estar em posição de fazer a mudança. Um ponto a notar, no entanto, /var e /etc/ serão deixados em paz, para que as pessoas que estão usando contêineres ou nuvem não precisem se preocupar muito.

Suporte ao UEFI Secure Boot

O Debian agora tem suporte Secure Boot. O que significa que as máquinas que têm o bit de Secure Boot ativado na máquina devem ser capazes de instalar facilmente o Debian em tais máquinas. Não há necessidade de desativar ou contornar o Secure Boot.

Instaladorlive do Calameres para imagens do Debian-Live

Para o Debian Buster, Debian Live, o Debian apresenta o Instalador do Calameres em vez do instalador do debian-old. Embora o instalador do Debian tenha muitos recursos além do Calameres, para os novatos, o Calameres fornece uma nova alternativa para instalar do que o debian-installer.


Como pode ser visto, é muito fácil instalar o Debian com o Calamares. São apenas 5 estágios e você pode ter o Debian instalado no seu final.

Download de imagem Debian live podem ser obtido para arquiteturas 32 bits e 64 bits no site Debian Live

Debian testing

Agora o Codename do Debian testing é Bullseye.

Em termos de atualizações de software, o novo Linux Debian 10 (Buster) traz o:
  • Apache 2.4.38
  • BIND DNS Server 9.11
  • Chromium 73.0
  • Emacs 26.1
  • Firefox 60.7 (no pacote firefox-esr)
  • GIMP 2.10.8
  • GNU Compiler Collection 7.4 e 8.3
  • GnuPG 2.2
  • Golang 1.11
  • Inkscape 0.92.4
  • LibreOffice 6.1
  • Linux 4.19 series
  • MariaDB 10.3
  • OpenJDK 11
  • Perl 5.28
  • PHP 7.3
  • PostgreSQL 11
  • Python 3 3.7.2
  • Ruby 2.5.1
  • Rustc 1.34
  • Samba 4.9
  • systemd 241
  • Thunderbird 60.7.2
  • Vim 8.1
Referências
https://itsfoss.com/debian-10-buster/
Feito!

quarta-feira, 29 de maio de 2019

Configurando Vhost do Nginx no Debian

O que é Vhost?

Vhost é a capacidade de ter diversos sites ou sistemas no mesmo servidor de forma isolada. Assim é possível ter vários domínios ou subdomínios no mesmo servidor.

O presente howto tem como objetivo explicar os procedimentos de configurar Vhost do Nginx no Debian, mas também funciona em distros derivadas do Debian, como o Ubuntu por exemplo.

Configuração do Vhost
Primeiramente é preciso instalar o Nginx no Debian/Ubuntu, o qual pode ser instalado via APT.

# apt update
# apt install nginx php7.2 php7.2-fpm php7.2-mysql php7.2-gd php7.2-mysql mysql-server


Então segue os procedimentos para configuração do Vhost no Nginx abaixo:

O Nginx tem um arquivo de configuração de Vhost de exemplo, então pode fazer uma cópia deste arquivo para cada Vhost que for criar, depois alterar o server_name, root e Directory para o Vhost correspondente.

# cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bkp

O nome app.local coloca o nome que quiser, geralmente é comum colocar o nome do domínio/subdomínio do Vhost correspondente.
# vim /etc/nginx/sites-available/app.local
Altere o arquivo para ficar como este, apenas altere o diretório de localização do seu site ou sistema.

server {
  # Porta WEB
 listen 80 default_server;
 listen [::]:80 default_server;
 
 # Nome do servidor
 server_name app.local;     

 # Diretorio de Log
 access_log /var/log/nginx/access.log;
 error_log /var/log/nginx/error.log;
 rewrite_log on;

 # Diretorio dos arquivos web
 root /var/www/html/app/public;
 
 # Extensões de arquivos que serão lidos
 index index.php index.html;

 client_max_body_size 128M;

 # URL amigáveis
 location / {
  try_files $uri $uri/ /index.php?$query_string;
 }

 # Configurações PHP FPM.
    location ~* \.php$ {
         fastcgi_pass unix:/run/php/php7.2-fpm.sock;
         fastcgi_index index.php;
         fastcgi_split_path_info ^(.+\.php)(.*)$;
         include /etc/nginx/fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

 # Bloqueia arquivo com .ht (Nginx não utiliza o .htaccess como o Apache)
 location ~ /\.ht {
  deny all;
 }

 # Configura cache das extensões abaixo para expirar em 365 dias
 location ~* \.(?:ico|css|js|jpe?g|JPG|png|svg|woff)$ {
    expires 365d;
 }

}

Nota: A configuração do Vhost acima é de uma aplicação web, que funciona na rede interna, para rede externa, só alterar o ServerName para o nome de domínio válido no registro.br.

Explicação das configurações essenciais para o funcionamento do Vhost no Nginx

1. Na linha listen devemos colocar a porta que o Nginx escutará que é a porta padrão 80. A opção default_server deverá ser usada em somente uma configuração, pois essa será a principal do servidor.
2. Na linha server_name deverá ser inserido o nome do seu domínio.
3. Na directiva root deverá ser o caminho da sua aplicação, dos seus arquivos em PHP por exemplo.
4. No bloco de configurações do PHP é usado o PHP 7.2, caso esteja usando outra versão do PHP deve ser alterado a opção fastcgi_pass unix:/run/php/php7.2-fpm.sock; alterando o PHP7.2 para a versão instalada no seu servidor.

Testes de configuração
# nginx –t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Se o retorno foi ok conforme acima, então podemos habilitar o Vhost

Habilitar o Vhost app.conf
# ln -s /etc/nginx/sites-available/app.local /etc/nginx/sites-enabled/app.local

Reinciar o Nginx
# service nginx restart

Como neste caso o Vhost é na rede interna, então para simular o domínio é necessário adicionar no arquivo /etc/hosts o IP do servidor seguido do nome ServerName definido no arquivo Vhost.
Para que uma máquina com Windows possa acessar a aplicação com o Vhost, o arquivo hosts é C:\Windows\System32\drivers\etc\hosts
Abrir com Bloco de Notas como Administrador o arquivo hosts no caminho mencionado.

IPSERVIDOR app.local

Abre o browser e acesse http://app.local

Para criar outro Vhost, copie o arquivo do Vhost criado anteriormente e troque o server_name, root e Directory para o Vhost corresponde, habilita o novo Vhost, reiniciar o Nginx e adicione no arquivo hosts.

Feito!