Diretório inicial do Apache2 no Fedora

0

Eu quero servir documentos no meu servidor de desenvolvimento do meu diretório pessoal. Este é um laptop privado, por isso não estou realmente preocupado com a segurança, tanto quanto você está com a maioria dos servidores / situações de hospedagem na web.

O httpd.conf tem esta aparência:

DocumentRoot "/home/myuser/www"

#
# Relax access to content within /var/www.
#
<Directory "/home/myuser/www">
    AllowOverride all
    # Allow open access:
    Require all granted
</Directory>

# Further relax access to the default document root:
<Directory "/home/myuser/www">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

Até agora tudo bem e agora posso ver os documentos no diretório myuser/www em http://localhost/ .

No entanto, o apache não pode gravar no diretório e estou recebendo avisos de segurança do selinux.

Eu tentei adicionar meu usuário ao grupo apache e definir o diretório myuser/www como 755 permissões, mas isso não funcionou.

Como eu permito que o apache escreva para este diretório?

EDITAR:

Depois de alterar o grupo e as permissões no diretório /home/myuser/www/ , os arquivos são exibidos, mas o aplicativo está reclamando que o apache não pode gravar no diretório tmp e gera um erro de selinux. A correção recomendada na mensagem de segurança é executar os seguintes comandos, o que fiz sem nenhuma alteração:

# semanage fcontext -a -t httpd_sys_rw_content_t 'tmp'
# restorecon -v 'tmp'
    
por user101289 19.01.2016 / 05:32

2 respostas

0

Faça chgrp apache no seu diretório pessoal (e quaisquer arquivos e subdiretórios que você deseja que o Apache possa gravar), e faça chmod g+w neles. Isso definirá os diretórios para o modo 7 7 5 e os arquivos para 664.

    
por 19.01.2016 / 05:43
0

Verifique isso na página httpd_selinux man, disponível no pacote selinux-policy-doc :

If you want to allow httpd to read home directories, you must turn on the httpd_enable_homedirs boolean. Disabled by default.

  setsebool -P httpd_enable_homedirs 1

Seus problemas com /tmp podem depender do que você está tentando fazer exatamente. Note que por padrão, httpd no Fedora usa um namespace privado para /tmp - isso pode não ser o que seu software quer. Qual é o seu aplicativo usando isso para?

    
por 19.01.2016 / 21:45