Tutoriais‎ > ‎Servidores Linux‎ > ‎

Configurando Apache2 para acessar a public_html do usuário com senha.

postado em 10 de abr de 2014 15:46 por Prof. Rodrigo Costa   [ 10 de abr de 2014 15:47 atualizado‎(s)‎ ]
Apache é um dos servidores http mais utilizados atualmente e está presente em cerca de 60% de todos os Web sites na Internet.  Este servidor agrega características de ser 
extremamente configurável, robusto, além de possuir um código aberto. 

Neste tutorial, será apresentado o passo-a-passo para configurar os sites locais do usuário (local site = public_html) e fazer com que cada usuário possa gerenciar suas próprias configurações como, autenticação de usuário, controle de acesso, dentre outras necessidades configuráveis pelo .htaccess.

Inicialmente, deve-se instalar o apache2
$ sudo su
# apt-get install apache2 apache2-utils

Foi solicitado a instalação do pacote apache2-utils pois no exemplo mostrado no tutorial será necessário o comando htpasswd para configurar uma página web com autenticação por arquivo (autenticação básica). A partir do apache configurado, podemos inicialmente configurar os sites locais dos usuários e depois sobrescrever as configurações do site utilizando o .htaccess para 

Configurando os sites do usuário 

Para habilitar os sites do usuário
# a2enmod userdir

para evitar que ao criar um usuário o mesmo tenha que criar a pasta public_html. Para evitar que o usuário tenha que criar sua própria página public_html, temos que criar as estruturas na pasta /etc/skel.  

# mkdir /etc/skel/public_html
# touch /etc/skel/public_html/index.html
# echo "<html> <body><h1> welcome to local user site </h1>this is a sample page, create yours</body></html>" >> /etc/skel/public_html/index.html

Com isto, o site do usuário está disponível e pronto para ser editado. O mesmo acessa o servidor via SSH ou FTP e altera seus arquivos, inserindo no site o seu conteúdo.
 

Usuário inserindo suas próprias configurações

O arquivo .htaccess faz com que uma diretório gerenciado pelo apache sobrescreva as configurações padrão do apache, dando ao usuário a possibilidade de ter configurações adicionais como controle de acesso.
Para fazer isto, o usuário deve criar um arquivo .htaccess na sua public_html
<seu usuario> ~ touch ~/public_html/.htaccess

No arquivo o usuário pode utilizar qualquer diretriz do apache, por exemplo, com o código a seguir é possivel controlar o acesso a página raiz de seu site local, ou colocando o .htaccess em um diretório específico, controlar o acesso.  

AuthType Basic
AuthName "Restricted Files"
# (Following line optional)
AuthBasicProvider file
AuthUserFile /home/<seu usuario>/passwords
Require valid-user

Depois disto, é so criar o arquivo com passwords através dos comandos
<seu usuario> ~ htpasswd -c ~/passwords usuario
para criar o arquivo ou para inserir um novo usuario
<seu usuario> ~ htpasswd ~/passwords usuario
 
Depois disto, o usuário poderá controlar o acesso ao seu site, de forma simples e objetiva.









Comments