cPanel: Como hospedar um projeto feito com o framework web Django
Como utilizar cPanel para hospedar um projeto web que utiliza a linguagem de programação Python e o framework Django.
Importante
Este procedimento foi realizado na hospedagem Super Domínios, acho importante explicar isso porque cada hospedagem pode oferecer recursos ou mesmo painéis de gerenciamento diferentes.
Esse não é um texto patrocinado é apenas a minha experiencia ao tentar hospedar um projeto web com a linguagem de programação Python e o framework Django.
Domínio
Para utilizar o domínio principal o projeto será criado na pasta public_html
que fica na raiz da hospedagem (pasta raiz do usuário).
No caso de um subdomínio o projeto será criado na pasta que foi gerada ao se criar o subdomínio.
Para esse tutorial foi criado o subdomínio:
Após definir se o projeto será criado no domínio principal ou em um subdomínio, devemos antes de mais nada acessar o mesmo para verificar se o servidor está funcionando de forma adequada:
Com base na image podemos verificar que o servidor está funcionado sem problema e o mesmo está servindo o diretório django.codigoninja.dev
(diretório raiz onde o projeto será criado).
Criando um projeto Python
Faça login no cPanel, procure pelo painel Software e clique na opção Setup Python App:
Será aberta a tela onde podemos gerenciar projetos já existentes ou criar um novo projeto, clique em CRIAR APLICAÇÃO:
Na tela que é exibida realize as seguintes configurações:
- Python version: Versão do interpretador Python que será utilizado no projeto.
- Raiz do aplicativo: Nome da pasta onde o projeto será criado.
public_html
se for o domínio principal. Se for um subdomínio coloque o nome da pasta que foi criada para o mesmo.
- URL do aplicativo: URL onde o projeto estará disponível. (Deixe em branco).
- Arquivo de inicialização do aplicativo: Caminho até o arquivo
passenger_wsgi.py
(Deixe em branco). - Application Entry point: Nome do objeto, variável ou função que carrega o WSGI (Deixe em branco).
- Passenger log file: Local onde será criado o arquivo de log do
Passenger
.- Ex:
/home/NomeDoUsuário/logs/passengar.log
.
- Ex:
- Variáveis de ambiente: Aqui podem ser adicionadas as variáveis de ambiente do seu projeto. Configure conforme as suas necessidades.
Ao finalizar as configurações clique em CRIAR:
Assim que o projeto for criado somos levados para tela de gestão do projeto:
Nessa tela podemos realizar diversas configurações do projeto, dentre as principais configurações que podemos destacar estão:
- Na parte superior em destaque o comando que permite a ativação do ambiente virtual e realiza o acesso a pasta do projeto.
- O campo Execute python script que permite a execução de um script Python.
- Deve ser passado o caminho completo até o interpretador Python mais o nome do arquivo que se deseja executar. Ex: ``.
Testando o projeto
Antes de continuar, vamos tentar novamente a URL do projeto:
Repare que no lugar de:
O navegador está exibindo:
Isso significa que o projeto foi criado corretamente e o servidor utilizando o arquivo passenger_wsgi.py
para servir a aplicação.
Instalando o framework Django
Importante notar que a forma de instalar o framework Django irá depender das ferramentas que a hospedagem fornece.
No caso a Super Domínios mesmo no plano mais basico me fornece 3 formas para realizar a instalação.
Nesse texto vou abordar as 3, contudo escolha o método que melhor se adequa a sua hospedagem.
Via tela de gestão do projeto
Para realizar a instalação do framework Django via tela de gestão do projeto devemos primeiro criar um arquivo chamado requirements.txt
na raiz do projeto.
Para isso vá no cPanel, procure pelo painel Arquivos e clique Gerenciador de arquivos:
Ao acessar o gerenciador de arquivos:
- Navegue até a raiz do projeto e crie um arquivo de texto com o nome
requirements.txt
. - Edite o arquivo e adicione o Django como dependência. Ex:
django==3.1.7
.
Agora vá para a tela de gestão do projeto e no campo Execute python script digite:
1 2 |
|
Nota
Lembre-se de adequar o comando ao seu projeto!
Via terminal
Acesse o cPanel procure pelo painel Avançado e clique em Terminal:
Ao acessar o terminal utilize o comando que é exibido na interface de gestão do projeto para ativar o ambiente virtual e acessar a pasta do projeto.
Exemplo:
1 2 3 |
|
Com o ambiente virtual ativo execute pip install django
ou pip install -r requirements.txt
:
Via SSH
É possível criar ou importar chaves SSH existentes, vá até o cPanel, procure pelo painel Segurança e em seguida clique em Acesso SSH:
Nota
Caso não tenha familiaridade com chaves SSH utilize o acesso com usuário e senha.
Após realizar as configurações necessárias:
- Acesse o servidor.
- Utilize o comando para ativação do ambiente virtual e acesso da pasta do projeto que está disponível na tela de gestão do projeto.
- Execute
pip install django
oupip install -r requirements.txt
.
Criando um projeto com o framework Django
Lembre-se de utilizar o método que melhor se adequa a sua hospedagem.
Via tela de gestão do projeto
Acesse a tela de gestão e no campo Execute python script insira o comando:
1 2 |
|
E clique no botão Run Script:
Nota
Adeque o comando acima com base nas suas configurações de projeto e repare que há um ponto (.
) no final do comando.
Via SSH ou terminal do cPanel
Para ssh
ou terminal do cPanel o comando será o mesmo, lembre-se apenas de estar com o ambiente virtual ativo e dentro da pasta do projeto:
1 |
|
Nota
No final do comando tem uma ponto ( .
) esse ponto é porque queremos que o arquivo manage.py
seja criado na raiz projeto.
Configurando o Django
Para que o Django funcione de forma adequada, é necessário configurar a variável ALLOWED_HOSTS
que está no arquivo settings.py
.
Neste arquivo vamos alterar a variável ALLOWED_HOSTS
de:
1 |
|
Para:
1 |
|
Cuidado
Utilize o nome do seu domínio ou subdomínio.
Configurando o arquivo passenger_wsgi.py
O Phusion Passenger é uma biblioteca do tipo web application server (servidor de aplicação web) cabe a ela lidar com:
- Solicitações HTTP.
- Gerenciar processos e recursos.
- Permite administração, monitoramento e diagnóstico de problemas.
Para que os aplicativos que utilizam WSGI (Web Server Gateway Interface) funcionem corretamente é necessário fazer a configuração desse arquivo passenger_wsgi.py
.
Esse arquivo é criado automaticamente sempre que um novo projeto web com Python é criado.
Inicialmente ele possui o seguinte conteúdo:
1 2 3 4 5 6 7 8 9 10 11 |
|
Nota
Reparem que a mensagem que temos no método def application()
é a mesma que é exibida no navegador quando acessamos a URL do projeto.
Para configurar este arquivo para o framework Django basta apagar o conteúdo atual e inserir:
1 2 3 |
|
Após realizar essa alteração vá até a tela de gestão de projetos ou mesmo a tela de gestão do projeto e reinicie o aplicativo:
Depois que o aplicativo reiniciar abrar o navegador e acesse a URL do projeto:
No navegador será exibida a página de boas vidas do framework Django, isso significa que todas as configurações iniciais estão correta.
Com isso já é possível iniciar o desenvolvimento do projeto ou mesmo hospedar um projeto existente.
Por fim deixo o link do Github onde estão os arquivos que estão sendo utilizados atualmente no endereço https://django.codigoninja.dev/: