Erro Apache: Ao gravar logs python em arquivo fora do diretório do projeto

Erro Apache: Ao gravar logs python em arquivo fora do diretório do projeto

Estou trabalhando em um projeto Django e usando o Apache como servidor web. Tudo está funcionando bem com

python manage.py runserver

Mas, ao executar o aplicativo através do Apache, não consigo gravar os logs do meu aplicativo python no caminho indicado, que está fora do diretório do projeto.

Diretório do projeto/home/ubuntu/saas-DocumentProcessing

Os arquivos de log estão em

/home/ubuntu/log/SaasAap/SaasAap.loge/home/ubuntu/log/error/error.log

Meu 000-default.confconteúdo

<VirtualHost *:8000>
        ServerAdmin [email protected]
        ServerName my_ip
        ServerAlias my_ip
        DocumentRoot /home/ubuntu/saas-DocumentProcessing/
        WSGIScriptAlias / /home/ubuntu/saas-DocumentProcessing/src/wsgi.py
        Alias /static/ /home/ubuntu/saas-DocumentProcessing/static/
        ErrorLog /home/ubuntu/log/error.log
        CustomLog /home/ubuntu/log/custom.log combined
        <Location "/static/">
                Options -Indexes
                        AllowOverride All
                        Require all granted
        </Location>
        <Location "/">
                AllowOverride All
                Require all granted
        </Location>
        <Directory /home/ubuntu/saas-DocumentProcessing/static>
                Order allow,deny
                 Allow from all
        </Directory>
         <Directory /home/ubuntu/log>
                Order allow,deny
                 Allow from all
        </Directory>
        WSGIDaemonProcess saas-DocumentProcessing python-path=/home/ubuntu/
saas-DocumentProcessing python-home=/home/ubuntu/saas-DocumentProcessing/ve
nv
        WSGIProcessGroup saas-DocumentProcessing

</VirtualHost>

Responder1

Etapa 1: descubra qual usuário o Apache está executando:

ps aux | egrep '(apache|httpd)'

Em seguida, verifique a propriedade do arquivo e as permissões dos diretórios nos quais você está gravando seus logs. Altere o proprietário deste diretório (e filhos) para corresponder ao Apache ou altere as permissões do arquivo para permitir a gravação neste diretório.

A melhor solução é mudar o proprietário:

sudo chown -R <user_from_above> /home/ubuntu/log

Um método NÃO seguro é alterar as permissões:

sudo chmod 777 /home/ubuntu/log
sudo chmod 777 /home/ubuntu/log/SaasAap

informação relacionada