DanielGodoy
(usa Ubuntu)
Enviado em 19/01/2025 - 09:28h
Abaixo os passos que tentei para deploy na vps hostinger, nem IA conseguiu me ajudar, já chequei tudo, o que esta de errado e lá no final as orientações que ela me deu, segue:
/*atualizei e instalei wsgi*/
sudo apt update && sudo apt install libapache2-mod-wsgi-py3
/*permissoes*/
sudo chown -R www-data:www-data /var/www/pedrinhoarautomotivo.com
sudo chmod -R 755 /var/www/pedrinhoarautomotivo.com
/*removi a .venv que fiz upload junto ao projeto, pois esta nao aparecia diretorio /bin/activate na vps, aésar de rodar em ambiente de desenvolvimento*/
rm -rf .venv
/*criei novo ambiente e ativei*/
python3.9 -m venv .venv
source .venv/bin/activate
/*instalei requiremenents com os pacotes, sem erros*/
pip install -r requirements.txt
/*atualizei-reinstalei*/
python3.9 -m pip install --upgrade pip command
/*criar em /etc/apache2/sites-available/pedrinhoarautomotivo.com.conf ex: sudo nano pedrinhoarautomotivo.com.conf, inserindo as seguintes linhas abaixo*/
<VirtualHost *:80>
ServerName pedrinhoarautomotivo.com
ServerAdmin sevensistemas.contato@gmail.com
DocumentRoot /var/www/pedrinhoarautomotivo.com/WEB1.0
WSGIDaemonProcess meuapp python-path=/var/www/pedrinhoarautomotivo.com/WEB1.0:/var/www/pedrinhoarautomotivo.com/WEB1.0/.venv/lib/python3.9/site-packages
WSGIProcessGroup meuapp
WSGIScriptAlias / /var/www/pedrinhoarautomotivo.com/WEB1.0/SEVEN.wsgi
<Directory /var/www/pedrinhoarautomotivo.com/WEB1.0>
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
/*obs: minha arvare de diretórios esta assim:*/
/*WEB1.0 é a pasta principal onde dentro dela tenho:*/
.idea
.venv
SEVEN (aqui tenho dentre routes.py, forms.py e models.py o arquivo __init__.py, este chama "app = Flask(__name__)"
SEVEN.wsgi
main.py (esse arquivo é onde executo - run meu projeto no pycharm em ambiente de desenvolvimento)
requeriments.txt
/*criar dentro da pasta raiz WEB1.0*/
import sys
import logging from pathlib
import Path
# Configuração de logging para erros
logging.basicConfig(stream=sys.stderr)
# Adiciona o diretório do projeto ao sys.path
sys.path.insert(0, str(Path("/var/www/pedrinhoarautomotivo.com/WEB1.0")))
# Importa a aplicação Flask do pacote SEVEN
from SEVEN import app as application
/*Uma observação, ao verificar log de erro (usando ubuntu 20.04 com apache2 e mysql)*/
/*diz não encontrar SEVEN, ja executei python3 via terminal dentro da pasta do projeto importando app e printando em tela onde disse que importou corretamente*/
/*já executei o projeto na vps via terminal com python3 main.py e, tambem rodou normalmente*/
/*portas do firewall ufw esta aberta, inclusive já tenho dois outros dominios de sites estáticos rodando tudo ok*/
/*já dei permissões as pastas do projeto, mas se puder me repassar como dar as permissoes para linux e apache acessá-las, eu gostaria que me dissese como dar tais permissões e a quais pastas e arquivos via terminal*/
/*koode! o que pode ser, tendo em vista tudo que esta explicado, sera que tem haver com banco, o erro no navegador aparece 500 me retornando :*/
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at sevensistemas.contato@gmail.com to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
Apache/2.4.41 (Ubuntu) Server at
www.pedrinhoarautomotivo.com Port 80
/*Obs: preciso de ajuda*/
/*aqui o que IA me orientou*/
voce me orientou a fazer isso aqui na conversa passada:
O erro 500 (Internal Server Error) pode ser causado por várias razões. Vamos analisar e corrigir os possíveis problemas:
Logs do Apache: Verifique os logs de erro do Apache para identificar o problema exato. Execute:
sudo tail -n 50 /var/log/apache2/error.log
Isso mostrará as últimas 50 linhas do log de erro.Permissões do Projeto: Certifique-se de que o Apache tem permissão para acessar os arquivos e diretórios do projeto. Execute:
sudo chown -R www-data:www-data /var/www/pedrinhoarautomotivo.com sudo chmod -R 755 /var/www/pedrinhoarautomotivo.com
Verificação do WSGI: Certifique-se de que o arquivo SEVEN.wsgi está correto e o caminho para o pacote SEVEN está configurado corretamente. O conteúdo do arquivo SEVEN.wsgi parece correto, mas verifique se o arquivo existe e está no local correto.Dependências Instaladas: Certifique-se de que todas as dependências foram instaladas corretamente no ambiente virtual. Verifique o seguinte:
source /var/www/pedrinhoarautomotivo.com/WEB1.0/.venv/bin/activate pip list
Veja se todas as bibliotecas listadas em requirements.txt estão instaladas.Reinicie o Apache: Após realizar as alterações, reinicie o Apache:
sudo systemctl restart apache2
Banco de Dados: Se o projeto utiliza banco de dados, verifique se as configurações de conexão estão corretas (usuário, senha, host, porta, etc.). Teste a conexão ao banco diretamente no terminal para garantir que o banco está acessível.Arquivo init.py: Certifique-se de que o arquivo init.py no pacote SEVEN contém a definição do app como Flask(name).Firewall e UFW: Confirme que as portas necessárias estão abertas. Execute:
sudo ufw status
Se o problema persistir, compartilhe o log de erro do Apache para análise mais detalhada.