Nestes dias o blog anda um pouco animado com o tema servidores, o nosso amigo Fico tem nos dado uma palestra sobre redes de computadores em sua série Redes de computadores para PMEs, além de alguns artigos para instalar e configurar servidores web em Como instalar e configurar o XAMPP no GNU / Linux y Como instalar NGINX com Google Page Speed no Ubuntu automaticamente.
Como o mundo do software livre é tão estimulante, às vezes simples e outras um pouco mais complexo, hoje trazemos para você uma pequena tentativa de 5 linhas, que nos permite criar um servidor web simples.
Shinatra
Shinatra é o nome da tentativa feita por Ben Raady e que foi distribuído gratuitamente, é tão eficaz quanto preciso, simplesmente criamos ou baixamos o bash com as linhas de código necessárias e executamos o bash com a porta + a mensagem que queremos hospedar.
Este script que nos permite criar um servidor web simples, funciona em várias distros GNU / Linux e no OS X, não precisa de instalação, é flexível nos caminhos que deseja utilizar, permite todo tipo de conteúdo, além de poder alcançar ser uma ferramenta muito útil, caso queira colocar informação rapidamente em algum servidor.
Como usar o Shinatra
Shinatra É composto pelas seguintes linhas de código:
#! / bin / bash RESPONSE = "HTTP / 1.1 200 OK \ r \ nConexão: keep-alive \ r \ n \ r \ n $ {2: -" OK "} \ r \ n" while {echo -en " $ RESPONSE "; } | nc -l "$ {1: -8080}"; do echo "=================================================== = "feito
Você pode simplesmente criar um arquivo .sh, com o nome que desejar e executá-lo da seguinte maneira:
./shinatra.sh [port] [response]
Você também pode obter o script atualizado nos repositórios oficiais, para fazer isso, siga estas etapas:
git clone https://github.com/benrady/shinatra.git cd shinatra / ./shinatra.sh 80 'Mensagem de resposta do servidor'
Para o script você pode enviar o que quiser, por exemplo:
Sem dúvida, uma maneira rápida, simples e fácil de colocar um servidor web para funcionar, a utilidade e o alcance do mesmo são variados. Que uso você faria deste script? Você acha isso útil?
Há algum tempo fiz um script parecido no qual era possível definir várias respostas de acordo com a rota e tudo. Não eram 5 linhas, mas podíamos fazer várias coisas: http://totaki.com/poesiabinaria/2015/03/mini-servidor-web-con-bash-y-netcat-para-paginas-en-mantenimiento/
A desvantagem de fazer isso no estilo netcat é que não tiramos proveito da simultaneidade e os recursos são muito desperdiçados, mas é uma boa experiência 🙂
Outra maneira é com o python (que vem em praticamente todas as distros)
sudo python -m SimpleHTTPServer 80
Funciona de forma diferente, desta forma atende os arquivos que estão no diretório onde o servidor está rodando, mas é outra forma simples
outro com php é
php -S 127.0.0.1:9000
Eu li este post há um ano, caso você queira uma lista completa de servidores web de linha de comando.
https://www.busindre.com/servidor_web_por_linea_de_comandos.
Você pode transferir um arquivo em um servidor que não tenha nada instalado e você não tenha permissão de ROOT:
#! / Bin / bash
arquivo = »$ 1 ″
port = 8080
n = »\ r \ n»
body = »$ (base64« $ {arquivo} »)»
RESPOSTA = »HTTP / 1.1 200 OK»
RESPONSE = »$ {RESPONSE} $ {n} Conexão: keep-alive»
RESPONSE = »$ {RESPONSE} $ {n} Content-Type: application / octet-stream»
RESPONSE = »$ {RESPONSE} $ {n} Content-Disposition: inline; filename = \ »$ {file} \» »
RESPOSTA = »$ {RESPONSE} $ {n} $ {n} $ {body}»
enquanto {echo -en "$ RESPONSE"; } | nc -l "$ {port}"; Faz
echo «================================================== »
feito
Então, ao recebê-lo, você o transforma novamente com "nome do arquivo base64 -d"
Existem muitos outros exemplos em:
$ homem nc
No Linux e no macOS, o shell e o gerenciador de pacotes preferidos podem ser usados. No Windows 10, você pode instalar o Windows Subsystem for Linux para obter uma versão do Ubuntu e Bash integrado ao Windows, tutorial muito bom.
https://clongeek.com/como-instalar-macos-desde-usb/