Melhor maneira de configurar os direitos de acesso do apache2

2

Eu tenho um servidor com o Ubuntu 14.04.

Eu instalei o apache2, php5 e pure-FTPd.

Portanto, o apache está sendo executado no mpm prefork com um processo de propriedade do root e de todos os processos filhos de propriedade do www-data.

O / var / www / html é de propriedade de root (-rw-r - r-- 1 raiz raiz)

Agora eu tenho um usuário ftp chamado ftpuser.

Qual seria o melhor caminho (e mais seguro) para que o ftpuser pudesse criar e editar arquivos em / var / www / html?

Posso alterar o proprietário do grupo de / var / www / html para www-data com acesso de gravação e adicionar ftpuser ao grupo de dados www?

Se agora eu também quiser usar o mediawiki, às vezes ele precisa de acesso de gravação ao / var / www / html. Então, a mesma pergunta: Posso alterar o proprietário do grupo de / var / www / html para www-data com acesso de gravação?

    
por tweetysat 19.06.2014 / 11:36

3 respostas

2

Normalmente, é uma má idéia dar acesso de gravação à conta que está executando o servidor da Web (www-data no Ubuntu).

Para o seu cenário, eu mudaria o dono do /var/www/html para o ftpuser com uma leitura e escrita para ele, somente para o grupo e para os outros. O Apache precisa pelo menos ser capaz de ler neste diretório.

UPD: se você tiver mais de um usuário para dar acesso, coloque todos no mesmo grupo, altere a propriedade do grupo para esse grupo e dê ao grupo a leitura & amp; escrever acesso também.

Em termos de segurança, é uma má idéia dar ao Apache acesso de gravação a todos os arquivos que ele puder acessar. Se alguém é capaz de fazer "coisas desagradáveis" com o seu servidor web, pelo menos ele não poderá alterar os arquivos usando o Apache diretamente.

Não se esqueça de proteger a instalação do servidor FTP que você pretende usar para permitir que o ftpuser carregue arquivos.

Se o Mediawiki precisar escrever em alguns arquivos, eu daria a esses arquivos apenas os direitos de leitura / gravação para o usuário www-data (configurando o proprietário desses arquivos para www-data). Se você não pode prever quais arquivos precisam ser graváveis pelo aplicativo da web, é melhor isolar esse aplicativo em uma subpasta de '/ var / www / html'.

Por experiência, eu sei que quando o acesso correto é necessário em algum arquivo, geralmente a documentação do aplicativo detalha exatamente quais.

    
por Benoit 19.06.2014 / 14:17
0

O servidor web Apache2 está disponível no Ubuntu Linux. Para instalar o Apache2:

Em um terminal, digite o seguinte comando:

sudo apt-get install apache2 

Configurações básicas

Se você deseja configurar um novo host virtual ou site, copie esse arquivo para o mesmo diretório com um nome escolhido. Por exemplo:

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mynewsite

Edite o novo arquivo para configurar o novo site usando algumas das diretivas descritas abaixo.

    
por Hadi 19.06.2014 / 13:09
0

Se você ainda não tiver o Apache instalado, poderá fazê-lo agora emitindo os seguintes comandos:

sudo apt-get update
sudo apt-get install apache2

Isso é tudo o que é necessário para ter um servidor da Web em funcionamento. Se você visitar o IP do seu VPS endereço em um navegador da web, você obterá a página de índice do Apache padrão:

your_domain_name_or_ip_address

It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.

A hierarquia de arquivos do Apache no Ubuntu e no Debian

No Ubuntu e Debian, o Apache mantém seus principais arquivos de configuração dentro da pasta "/ etc / apache2":

cd /etc/apache2
ls -F

apache2.conf  envvars     magic            mods-enabled/  sites-available/
conf.d/       httpd.conf  mods-available/  ports.conf     sites-enabled/

Olhando para o arquivo Apache2.conf

Os principais detalhes de configuração para o seu servidor Apache são mantidos no arquivo "/etc/apache2/apache2.conf".

Este arquivo é dividido em três seções principais: configuração para o processo global do servidor Apache, configuração para o servidor padrão e configuração dos Hosts Virtuais.

No Ubuntu e Debian, a maioria do arquivo é para definições globais, e a configuração do servidor padrão e dos hosts virtuais é tratada no final, usando a diretiva "Include ...".

A diretiva "Include" permite que o Apache leia outros arquivos de configuração no arquivo atual no local em que a instrução aparece. O resultado é que o Apache gera dinamicamente um arquivo de configuração abrangente na inicialização.

Se você rolar para a parte inferior do arquivo, há várias instruções "Incluir" diferentes. Essas definições do módulo de carregamento, o documento ports.conf, os arquivos de configuração específicos no diretório "conf.d /" e, finalmente, as definições do Host Virtual no diretório "sites-enabled /".

Vamos nos concentrar na primeira parte do arquivo para aprender como o Apache define suas configurações globais.

Espero que funcione para você

    
por Hadi 19.06.2014 / 13:13