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
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
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.
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
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
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.
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.
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!
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
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
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
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