sábado, 22 de janeiro de 2011

Configurando o Apache para Ler Páginas Pessoais dos Usuários

Esta dica é bem simples: se você usa o Apache 2 e quer permitir que cada usuário do sistema tenha sua página pessoal, residindo dentro de sua própria pasta, onde a página possa ser criada, modificada e atualizada pelo próprio usuário, sem interferência do administrador do sistema, então a solução que você procura está neste artigo!!


  • Criando as Pastas Pessoais dos Usuários

Em cada diretório de usuário (o famoso /home/usuario), você deve criar uma pasta chamada "public_html", que deve ter permissão de acesso e escrita para o próprio usuário; Assim, suponhamos que temos um usuário genérico chamado "usuario". Façamos, como root:

mkdir /home/usuario/public_html
chown usuario /home/usuario/public_html
chgrp usuario /home/usuario/public_html

Estes comandos não só criam a pasta pública onde será armazenada a página pessoal do usuário como também concede ao usuário em questão as permissões de acesso à mesma. É preciso fazer isto para cada usuário!! Claro que fica mais fácil se estes comandos estiverem dentro de um script. Se você quer saber como descobrir todos os usuários do sistema para criar este script, consulte nosso outro artigo aqui!!


  • Configurando o Apache 2 Para Ler o public_html dos Usuários

Este passo é simples: basta ativar o módulo correto!! Verifique se o módulo userdir existe (se você instalou o Apache por um gerenciador de pacotes, certamente ele existirá):

ls /etc/apache2/mods-available/userdir*
/etc/apache2/mods-available/userdir.conf /etc/apache2/mods-available/userdir.load

É preciso que apareçam estes dois arquivos. Agora, verifique se eles estão ativados:

ls /etc/apache2/mods-enabled/userdir*

Caso não haja saída para o comando acima, então precisamos habilitá-los:

cd /etc/apache2/mods-enabled
ln -s ../mods-available/userdir.conf
ln -s ../mods-available/userdir.load

Isto cria os links simbólicos que vão ativar o módulo. A rigor, basta isto (e, claro, reiniciar o Apache) para que tudo funcione, mas várias configurações extras podem ser feitas, editando o arquivo "userdir.conf". Em especial, verifique se a linha "UserDir public_html" está presente. Esta linha define o nome do diretório que será vasculhado na área do usuário para buscar a sua página pessoal.
É possível também ativar e desativar a leitura da pasta pública de usuários específicos, usando a diretiva UserDir, conforme o exemplo:

UserDir enabled usuario1 usuario2
UserDir disabled usuario3 usuario4

Para mais detalhes sobre como configurar este módulo e as diretivas específicas que ele usa, verifique a página do manual oficial.


  • Habilitando o PHP nas Páginas Pessoais dos Usuários

Como esta configuração é muito flexível, é possível que você queira usar este artifício para permitir que vários usuários se tornem verdadeiros desenvolvedores web. Assim, o Apache permite que o PHP instalado no servidor seja habilitado em páginas pessoais dos usuários. Primeiramente, verifique se o seu PHP está instalado. Caso não esteja, é preciso instalá-lo. Não se preocupe: para tanto, consulte detalhadamente este nosso artigo. Agora, para ativar esta opção, vá em:

vi /etc/apache2/mods-enabled/php5.conf

e comente as seguintes linhas (comentar significa iniciá-las com o caracter "#", conforme já está feito no exemplo abaixo):

# [IfModule mod_userdir.c]
# [Directory /home/*/public_html]
# php_admin_value engine Off
# [/Directory]
# [/IfModule]
#[/IfModule]

OBS: substitua os colchetes por sinais de maior e menor que.


  • Concluindo as Configurações!!

Agora, finalmente, reinicie o Apache:

/etc/init.d/apache2 restart

Pronto, tudo está configurado e as pastas já deverão estar respondendo. O endereço de acesso será: http://[domínio ou host]/~[usuario], onde [usuario] é o nome de cada usuário e [domínio ou host] pode ser o nome da máquina com o domínio ou o seu IP. Opcionalmente, você poderá, conforme a necessidade, atrelar algumas páginas pessoais a VirtualHosts, de forma a criar endereços de acesso diferenciados.
Bom, espero que tenha ajudado!! Qualquer coisa, COMENTEM!!

8 comentários:

Anônimo disse...

Cara. Estou engatinhado no LINUX.
Custei mas achei no seu post o que eu queria.
Valeu. Um abraço. Continue nos auxiliando.

O Pajé disse...

Muito obrigado, rapaz!! São comentários assim que continuam nos motivando a manter uma produção de qualidade!! Obrigado mesmo, e continue visitando os tutoriais do Pajé!!

sevenleo disse...

Achei o que procurava , e com ua explicação easey rs

O Pajé disse...

Muito bom, Sevenleo!! Fico feliz de ter podido ajudar!! Volte sempre ao Pajé!!

Anônimo disse...

Estava procurando por essa dica faz muito tempo, obrigado pelo ensinamento.

O Pajé disse...

Disponha, amigo!! Volte sempre ao Pajé; espero que nossas dicas sempre o ajudem em sua carreira e seus desafios!!

Abraços do Pajé!!

Welton disse...

Meu amigo,

Estamos em 2016 e seu artigo continua ajudando pra caramba, VALEU MUITO OBRIGADO.

O Pajé disse...

Muito obrigado, Welton!!
Fico muito feliz com seu comentário! Sinto-me motivado a continuar produzindo.
Espero q o Pajé Online continue ajudando muita gente!!

Abraços e disponha.