Índice de conteúdo:
- Algumas vantagens de usar um Servidor Web local
- Preparação do ambiente de trabalho
- Usando Python
- Usando PHP
- Usando Node.js
Todas as vezes que introduzimos na barra de endereço do nosso navegador um endereço tal como https://google.com, https://wikipedia.org estamos fazendo uma solicitação para um computador na Internet que nos envia a página Web solicitada como resposta. Esse computador que nos envia a resposta é um Servidor Web. Este servidor recebe uma solicitação HTTP do lado cliente (nosso navegador) e envia uma resposta HTTP (Hypertext Transfer Protocol) como a página HTML (HyperText Markup Language) que nós lemos no nosso monitor.
O objetivo deste artigo é explicar de forma clara para uma pessoa que está iniciando em como conseguir criar um Servidor Web Simples para uso em casa e fazer solicitação de páginas HTML usando o protocolo HTTP no computador local.
Vamos testar usando Servidor web integrado de Python, PHP e Node.js
Quando iniciamos os primeiros passos em Desenvolvimento Web, normalmente usamos uma pasta local onde criamos o ficheiro HTML (index.html) e após algumas linhas de código se quisermos renderizar a página e ver como vai o nosso trabalho utilizamos um navegador da nossa preferência que renderiza a página Web dando clique duplo no nosso ficheiro index.html ou usando o menu de atalho.
Na barra de endereço vai aparecer um endereço mais ou menos assim:
file:///home/nome_utilizador/Documentos/index.html
No exemplo acima estamos usando o protocolo de ficheiro (file protocol)
Se estivermos usando um Servidor Web local ou seja um servidor web no nosso computador, teremos uma URL ou endereço com o seguinte formato:
- http://127.0.0.1
- http://localhost
- http://0.0.0.0:8000/
Este formato usa o HTTP (Hypertext Transfer Protocol) e é próximo do que temos se estivermos a utilizar um servidor externo o que normalmente se usa quando terminamos o nosso site no nosso computador e fazemos o upload dos ficheiros e passamos para a fase normalmente chamada de produção ou o que aparece quando navegamos na Internet.
Algumas vantagens de usar um Servidor Web local:
- Melhor organização das pastas e ficheiros do site muito próximo do que será quando o site estiver no ar num servidor externo.
- A possibilidade de usar linguagens de programação que só podem ser utilizadas do lado do servidor como por exemplo o PHP.
- Importar scripts tal como javaScript
- Não temos a necessidade de estar conectados à Internet para a usarmos.
- Todo o aprendizado que daí resulta pois por cada problema que vai surgindo enquanto estivermos em modo de desenvolvimento é algo que temos que resolver e para isso vamos procurar solução na Internet e aprender muita coisa tal como terminologias e soluções que poderão ser de muita utilidade quando estivermos em modo de produção ou quando o nosso site estiver num servidor externo.
Preparação do ambiente de trabalho
Para efeito de organização e teste vamos criar uma pasta que poderá ter o nome de WebDev ou um outro nome qualquer.
$ mkdir WebDev
Entramos na pasta WebDev
$ cd WebDev
Criamos duas páginas HTML, uma com extensão .html e outro com .php index.html e index.php usando um editor da nossa preferência.
Lista de alguns editores. Podem ser instalados diretamente do Software Center:
- Gedit
- Geany
- Atom
Eu usei o editor vim:
$ vim index.html
Estas serão nossas páginas de teste:
index.html
index.php
1 - Usando Python
Verificamos qual versão de Python se encontra instalado:
$ python -V
No meu caso retornou o seguinte:
Python 3.11.2
Conhecendo a nossa versão de python podemos também saber que comando usar para iniciar o nosso http server.
Se usarmos este comando em Python versão 3 ou superior vai gerar uma mensagem de erro. Este comando só funciona com Python versão inferior a 3.
$ python -m SimpleHTTPServer 8000
/usr/bin/python: No module named SimpleHTTPServer
Para versão 3 ou superior do python usa-se o seguinte comando
$ python -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) …
Usando o comando acima com o modificador “-m” serão servidos ficheiros que se encontram no actual directório.
A nossa página index.html:
Se se quiser que estejam disponíveis ficheiros num outro directório usaremos o comando com a opção -d ou –directory neste caso vamos usar o diretório /tmp como exemplo
$ python -m http.server --directory /tmp
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
A porta 8000 é a porta usada por predefinição pelo python http.server mas pode-se usar uma outra porta caso seja essa a nossa vontade ou caso estejamos já a usar a porta 8000.
Neste exemplo vamos usar a porta 9000:
$ python -m http.server 9000
Se quisermos que o Servidor vincule somente o localhost então usaremos o comando com a opção --bind e com o endereço do localhost que é 127.0.0.1:
$ python -m http.server --bind 127.0.0.1
Serving HTTP on 127.0.0.1 port 8000 (http://127.0.0.1:8000/) ...
2 - Usando PHP
Como no caso anterior, as solicitações são feitas a partir do directório onde foi iniciado o server PHP a não ser que a opção -t seja indicada para apontar para um directório raiz diferente do directório onde nos encontramos.Entramos no diretório DesWeb e iniciamos o nosso server.
Dentro desta pasta já temos a nossas páginas index.html e index.php
$ php -S localhost:8000
Copiamos o endereço apresentado "http://localhost:8000" e colamos na barra de endereço do nosso navegador.
Apresentação da nossa página index.php
Como se pode ver, havendo duas páginas de nome index sendo uma index.html e outra index.php o server PHP apresenta o index.php
3 - Usando Node.js
Verificamos se node.js se econtra instalado com o seguinte comando:
$ node -v
v18.15.0
Em caso de não estar instalado, instala-se com o seguinte comando:
$ sudo dnf install nodejs
Usaremos npx que é um executor de pacotes e vem integrado no gerenciador de pacotes npm (node package manager), npm é instalado junto com o Node.js
Se quisermos verificar a versão do npm
$ npm -v
O uso do npx é um processo simples e direto não necessitando da instalação global do pacote http-server que vamos testar. O seguinte comando exibe o pacote e a versão do mesmo. Para proceder à instalação é só dizer sim digitando "y" e o pacote é instalado e o http-server corre no diretório onde foi executado o comando.
$ npx http-server
Visualização da página:
NPM, pacote simple-server.
Entramos na pasta onde se encontra o nosso projeto e fazemos a instalação do simple-server. Neste post vamos fazer uma instalação local mas se quiser instalar global: $ npm install --global simple-server
$ npm install simple-server
Neste momento se tentarmos iniciar o server com o comando $ npm run simple-server
vai dar erro:
Conteúdo da pasta onde se encontra a nossa página index.html e index.php após a instalação do simple-server. A pasta node-modules, os ficheiros package.json e package-lock.json foram gerados com a instalação do simple-server
Ficheiro package.json logo após a instalação. Este ficheiro contém informações sobre os pacotes instalados, neste caso é um pacote: simple-server
O JSON é um fomato que armazena informações de forma estruturada e apresenta como sintax o nome entre aspas seguido de dois pontos seguido do valor que neste caso é um string e também por isso se encontra entre aspas. Neste ficheiro temos o nome do pacote "simple-server" seguido de ":" seguido do valor que neste caso é a versão do simple-server
Vamos armazenar mais uma informação para que possamos iniciar o simple-server. Isto é necessário porque fizemos uma intalação local envez de global (um utilizador sem privilégios especiais pode fazer esta instalação quando não global).
Editamos o ficheiro package.json onde introduzimos mais um objeto como está na imagem logo a seguir. O nome que escolhi é "server" mas pode ser dado o nome que acharmos melhor desde que o valor seja "simple-server"
Ficheiro package.json logo após ter sido editado.
$ npm run server
O endereço local é copiado no clipboard, portanto é só abrir o navegador e colar o endereço.
Índice de conteúdo:
Sem comentários:
Enviar um comentário