Instalando módulos .SO no Apache em Linux
Instalando extensões no Apache

Publicado em: 13/11/2020 00:00:00, por IVAN VARGAS

Para instalar um modulo .so no Apache2, faça o seguinte:

1. Copie o seu_modulo.so para /etc/apache2/mods-enabled/seu_modulo.so

2. Crie o arquivo /etc/apache2/mods-enabled/seu_modulo.load com o seguinte conteudo:

LoadModule seu_modulo /etc/apache2/mods-enabled/seu_modulo.so

Obs: o "seu_modulo" pode variar do nome do arquivo .so, uma vez que é o nome exportado por este módulo e como o Apache encontrará sua estrutura.

3. Criar o arquivo /etc/apache2/mod-enabled/seu_modulo.conf:

<Location /nomenaurl>
        SetHandler seu_modulo-handler
        Require all granted
</Location>

Obs: /nomenaurl é como seu modulo será chamado. Ex: http://localhost/nomeurl.

4. Restartar o servidor Apache2

service apache2 restart

DOCKER - Comandos básicos
O poder dos containers :)

Publicado em: 13/11/2020 00:00:00, por IVAN VARGAS

1. Listar imagens:

# docker images

2. Listar containers:

# docker ps -a

3. Baixar uma imagem:

# docker pull debian

4. Gerar um container de uma imagem e cair no shell

# docker run -it debian /bin/bash

onde:

-i: interativo

-t: terminal

debian: nome da imagem

/bin/bash: comando a ser executado

5. Inspecionar um container

# docker inspect CONTAINER_ID

6. Parar/Iniciar um container:

# docker stop|start CONTAINER_ID

7. Entrar em um container:

# docker attach CONTAINER_ID

8. Gerar uma imagem de um container:

# docker commit CONTAINER_ID nome_nova_imagem

9. Remover container:

# docker rm CONTAINER_ID -f

10. Remover imagem:

# docker rmi nome_imagem

11. Criar um container mapeando um volume local

# docker run -it -v D:\DirLocal:/home debian /bin/bash

Tudo que for colocado na pasta D:\DirLoca aparecerá na pasta /home do container, e vice-versa.

12. Criar um container mapeando portas:

# docker run -it -p 80:80 debian /bin/bash

A partir daqui você pode acessar http://127.0.0.1 que vai cair na porta 80 do container.

13. Rodar container em background:

# docker run -d imagem

 

EXPORTANDO CONTAINERS

1. Salve uma imagem do container

# docker commit CONTAINER_ID nome_imagem

2.Salve em .tar:

# docker save nome_imagem > imagem.tar

3. Envia imagem.tar para o outro servidor.

4. No servidor destino, importar a nova imagem:

# docker load < nome_imagem.tar

 

AUTOMATIZANDO A CRIAÇÃO DE IMAGENS E CONTAINERS

1. Criar imagens com base em um Dockerfile

#docker build -t nome_image . 

2. Instanciar containers pelo composer com base em um arquivo .yml

#docker-compose -f arquivo.yml

ou:

#docker deploy -c arquivo.yml

Extrair Serial e Instalar Certificado PFX por CMD
Certificados Digitais

Publicado em: 14/02/2018 00:00:00, por IVAN VARGAS

Nesta dica rápida vou mostrar como capturar o número serial de um arquivo de certificado .pfx e como instalar o mesmo no sistema via linha de comando.

EXTRAIR O NÚMERO SERIAL DO CERTIFICADO DIGITAL

1. Primeiramente devemos converter nosso arquivo .pfx para .pem.

C:\>openssl pkcs12 -in "certificado.pfx" -out "certificado.pem" -nodes
Enter Import Password: senha_do_certificado
MAC verified OK

2. A seguir extraímos o serial do arquivo .pem:

C:\>openssl x509 -in "certificado.pem" -serial -noout
serial=NUMEROSERIALAQUI

INSTALAR O CERTIFICADO DIGITAL 

C:\>certutil -f -p senha_do_certificado -importpfx "certificado.pfx"

 

Blz, por enquanto é isso :)

Para outras opções, ver: https://gist.github.com/webtobesocial/5313b0d7abc25e06c2d78f8b767d4bc3

 

Servidor HTTP e FTP com Python
Servidor básico em Python

Publicado em: 29/08/2017 00:00:00, por IVAN VARGAS

Em algumas situações precisamos disponibilizar um documento rapidamente dentro da intranet da empresa para visualização ou até mesmo enviar e receber arquivos de uma forma prática, sem utilizar compartilhamento de rede ou demais tecnologias.

Para suprir esta questão e até mesmo nos permitir testar recursos de rede, existem dois módulos em Python que nos permitem criar servidores HTTP e FTP, são eles: SimpleHTTPServer e pyftpdlib respectivamente.

Ativando um servidor HTTP

Para criar um servidor HTTP básico basta abrir o prompt de comando ou shell e executar o seguinte comando:

C:\> python -m SimpleHTTPServer 8080

Onde 8080 é a porta que desejamos disponibilizar para o serviço. Pode ser qualquer uma, desde que esteja disponível.

Feito isso abra o seu navagador no seguinte endereco:

http://127.0.0.1:8080

Se for acessar de outra máquina subistitua o endereço de loopback pelo endereço IP na rede.

Será exibido o conteúdo do diretório onde você executou o comando anterior. Para um exemplo mais prático faça o seguinte, no prompt de comando:

C:\> mkdir servidor

C:\> cd servidor

C:\servidor> echo TESTE > index.html

C:\servidor> python -m SimpleHTTPServer 8080

Abrindo o navegador você verá a página com a palavra TESTE.

Ativando um servidor FTP

Para criar um servidor FTP você precisa do módulo pyftpdlib. Para instalar execute o seguinte comando:

C:\> pip install pyftpdlib

Feito isso, basta executar o seguinte para botar o servidor no ar :)

C:\> python -m pyftpdlib -p2121

Este comando irá subir um servidor FTP na porta 2121.

Para conectar ao servidor utilize um cliente FTP, tal como o FileZilla, e especifique o endereço IP do seu computador, porta 2121 e conexão anônima (usuário: anonymous, senha: um e-mail qualquer).

E pronto, um servidor básico funcionando :)

 

Por enquanto é isso. Abraço!

Comandos Básicos do Git
Git básico

Publicado em: 15/12/2016 00:00:00, por IVAN VARGAS

 

Git é um sistema para controle de versão distribuído e gerencimento de código fonte. Vejamos aqui os principais comandos para se trabalhar com o ele.

1. Configurar o git:

c:\> git config --global user.name "nome_usuario"
c:\> git config --global user.email "email_usuario"

2. Clonar um repositório

c:\> git clone repositorio

3. Adicionar arquivos para serem enviados/atualizados

c:\repositorio> git add .

Aqui o ponto no fim do comando representa o diretório local. Mas podemos especificar arquivos individualmente pelo nome ou todos utilizando o "*".

4. Verificar o status

c:\repositorio> git status

5. Commitar:

c:\repositorio> git commit -m "escreva aqui um comentario"

6. Diferente do SVN, ao commitar os arquivos não são enviados diretamente para o servidor. Para enviar as alterações devemos executar o seguinte comando:

c:\repositorio> git push

7. Baixar atualizações do repositório:

c:\repositorio> git pull

BRANCHES

1. Criar um novo branche:

c:\repositorio> git checkout -b novo_branch

2. Um branche apos criado ainda não está no servidor. Para publicá-lo:

c:\repositorio> git push novo_branch

3. Alterar entre branches:

c:\repositorio> git checkout novo_branch

4. Merge entre branches.

c:\repositorio> git merge master

5. Remover branch:

c:\repositorio> git branch -d novo_branch

FIZ BESTEIRA, E AGORA?

Digamos que você alterou alguma coisa localmente, se arrependeu, e agora quer buscar os dados do server. Para isso:

c:\repositorio> git fetch origin
c:\repositorio> git reset --hard origin/master

 

Ok, por enquanto é isso :)

 

Para saber mais:

Guia Prático Git - http://rogerdudler.github.io/git-guide/index.pt_BR.html

Comandos Git - http://comandosgit.github.io/

 

Ivan S. Vargas

Como corrigir Banco Firebird Corrompido
Recuperando seu DB

Publicado em: 02/12/2016 00:00:00, por IVAN VARGAS

Quem nunca passou pela triste situação de receber a ligação de um cliente - em plena sexta-feira à noite - dizendo que o sistema está fora do ar, e tudo isso porque o nosso querido amigo Firebird foi corrompido devido a uma queda de energia ou por alguém ter chutado o estabilizador em um daqueles breves momentos de stress? :)

Se este é o seu caso e você precisa corrigir rapidamente um banco de dados corrompido, siga este passo-passo e seus problemas estarão resolvidos (ou não):

Obs: Neste exemplo vamos assumir que você está em um prompt de comando do Windows (c:\>) e que seu banco de dados se chama database.fdb. Também estou ignorando a passagem de usuário e senha ao final de cada comando (portanto, adicione essa linha ao final de cada comando: -user sysdba -password masterkey).

1. Verifique se seu banco de dados está realmente corrompido:

gfix -v -full database.fdb

Este comando irá retornar algumas informações com o número de registros corrompidos e páginas afetadas, se houver. Se o comando não retornar nada seu banco está ok e sem erros \0/

2. Se o comando informou que existem erros no banco, tente este comando:

gfix -mend -full -ignore database.fdb

Depois de executar este comando, realize o passo 1 novamente, pode ser que alguns erros tenham sido corrigidos, mas não todos. Você pode executar o passo 1 e 2 várias vezes. Mas se o número de erros não diminuir e o banco continuar bugado vamos para um backup/restore matador :)

3. Vamos realizar um backup:

gbak -g -l -z -v database.fdb database.bkp

Aqui realizamos o backup com as seguintes flags:

-g: realiza o garbage collect (coleta de lixo)

-l: ignora transações no limbo

-v: relata cada ação tomada

-z: imprime número de versão

4. Agora vamos restaurar:

gbak -create -v database.bkp database2.fdb

Este comando ira restaurar o banco de dados em database2.fdb (esse será o banco de dados sem corrigido).

Após isso execute o passo 1 no database2.fdb e você verá que não existem mais erros. Banco restaurado com sucesso! \0/

Se mesmo assim nao funcionar, tente este comando para restaurar o backup:

gbak -create -v -inative -ONE_AT_A_TIME database.bkp database2.fdb

Dificilmente precisa utilizar este comando, mas se precisar estar ai :)

Outra coisa, se der erro no charset, adicione isso ao final do comando de restore: -FIX_FSS_M win1252

Este já precisei utilizar algumas vezes.

Espero que estes comandos possam lhe ajudar :)

---

Ivan S. Vargas

 

 



IS5 TECNOLOGIA

São Lourenço do Sul/RS
Telefone: (53)9963-5721
E-mail: contato@is5.com.br
Facebook: fb.com/is5tecnologia
Skype: ivan_is5
GitHub: github.com/isvargas
O QUE FAZEMOS

Automação Comercial
Desenvolvimento de Sistemas
Hospedagem e Desenvolvimento de Sites
Aplicativos Mobile
Consultoria e Projetos Freelancer
Desenvolvido por is5 tecnologia