Usando a pasta / home para o site (sob Apache2.0 e suPHP)

1

Usando o suPHP, meu objetivo é fazer com que meu site aponte para minha pasta /home e todos os usuários da pasta inicial tenham sua própria página index.html . Atualmente, não tenho uma página index.html na minha pasta /home , mas esse seria o lugar lógico para colocar uma página de login. Aqui está a estrutura que eu sou depois

home
├── index.html
├── user1
│   └── index.html
├── user2
│   └── index.html
├── user3
│   └── index.html
├── user4
│   └── index.html
├── user5
│   └── index.html
└── user6
    └── index.html

Quando vou para 192.168.1.8 , quero que carregue /home/index.html . Quando vou para 192.168.1.8/user1 , quero que carregue /home/user1/index.html .

Atualmente, o Apache está me informando que não tenho direitos sobre /home ou qualquer uma das pastas aninhadas. Eu estou supondo que é porque /home pertence a raiz? Qualquer sugestão sobre como reformular isso

    
por puk 06.11.2011 / 02:42

2 respostas

1

Primeiro, o seguinte deve ser um host (virtual) no apache:

<VirtualHost 192.168.1.8:80>

    DocumentRoot /home

</VirtualHost>

Para servir uma página, o Apache precisa de direitos de leitura para o arquivo que está tentando acessar. A maneira mais simples de conseguir o que você está tentando é rodar como root:

# find /home -type d -exec chmod 755 {} \;

# find /home -type f -exec chmod 744 {} \;

Estes fornecerão direitos de leitura globais para todos os arquivos em todos os diretórios base. Normalmente eu gostaria de alertar contra isso, já que usuários individuais podem não querer todos os arquivos lidos pelos usuários, mas como esses arquivos podem ser lidos pela web, faz pouca diferença.

Se você quiser dar aos usuários a opção de arquivos públicos e privados, considere a criação de um diretório paralelo / home / www. Dentro deste criar um diretório para cada usuário com permissões 0755/0655 e chown-lo para eles. Então eles podem colocar apenas os arquivos que eles querem que todos vejam em / homw / www / user, enquanto mantêm arquivos privados em / home / user.

    
por 06.11.2011 / 08:20
3

Não tenho certeza se isso ainda se ajustará ao seu plano, mas;

A maneira mais fácil de conseguir isso é provavelmente com o userdir -diretivo. Ele também possibilita colocar cada usuário webroot em um subdiretório de seu diretório pessoal - para que eles não exponham todos os seus arquivos no servidor da Web.

Confira a documentação do userdir aqui: link

Eu colocaria os arquivos que você planejava colocar em /home em outro lugar.

    
por 06.11.2011 / 03:01