quarta-feira, 19 de agosto de 2009

Configurando admuser.cgi

Para que não caia mais no meu esquecimento, fiz esse tutorial mais do que simples, mais do que já conhecido por todos que um dia utilizaram, mais do que já postado na net porém, para não ficar procurando um monte, fiz do jeito que me atendeu e escrevi, hehe.

Espero que se alguém precisar, possa ser útil.


Download do site
http://sarg.sourceforge.net/

# wget http://sarg.sourceforge.net/admuser-2.3.2.tar.gz

Descompacte o pacote para compilar e instalar.

# tar -xzvf admuser-2.3.2.tar.gz
# cd admuser-2.3.2

Compilando de forma geral, outras opções podem ser encontradas com: ./configure --help

# ./configure --prefix=/etc/squid/admuser --enable-language=Brazilian_Portuguese --enable-cgidir=/var/www/cgi-bin/admuser
# make && make install

Obs: Caso ocorra um erro durante o configure apontando falha na localização de bibliotecas de compilação instale o
pacote build-essential

# aptitude install build-essential
Depois disso rode os comando novamente a partir do ./configure.

Entre no diretório /etc/squid/admuser e edite o arquivo admuser.conf.
A primeira linha: password_file dever apontar onde fica o arquivo que aponta para o arquivo de senhas:

password_file /etc/squid/pwd_file

Agora crie este arquivo, pwd_file, e coloque o seguinte conteúdo no mesmo:

/etc/squid3/password_users;Senhas do proxy

Este caminho aponta para o arquivos de senhas que será criado pelo aplicativo htpasswd que integra o apache*
Este arquivo password_users deve conter a permissão do usuário que roda o apache2 neste caso www-data, para que o cgi consiga escrever
nele.

# cd /etc/squid3
# chown www-data.www-data password_users

Agora, acesse o diretório onde estão os arquivos cgi.
A pasta /var/www/cgi-bin/admuser deve conter permissão do usuário que roda o apache2 para poder ser executado por ele, assim como
o arquivo admuser.cgi.

# cd /var/www/cgi-bin
# chown -R www-data.www-data admuser/

Feito isto, agora é só acessar o diretório:

http://ip.do.server/cgi-bin/admuser/admuser.cgi


Configurações no apache.


Com o apache2 devidamente instalado, acesse o arquivo referente ao domínio interno que deve se encontrar em sites-available e realize a seguinte inclusão:
Levando em conta que o diretório do cgi-bin é /var/www/cgi-bin/

ScriptAlias /cgi-bin/ /var/www/cgi-bin/
ScriptAlias /admuser/ /var/www/cgi-bin/admuser/

AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all


Através do ScriptAlias, é possível acessar direto a pasta onde está o arquivo cgi.

http://ip.do.server/admuser/admuser.cgi

Para bloquear o acesso a este administrador via web, apenas aos administradores, proceda da seguinte forma:

# cd /var/www/cgi-bin/admuser

Crie o arquivo, .htaccess dentro deste pasta e coloque o seguinte conteúdo:

AuthName "Administrador do Proxy"
AuthType Basic
AuthUserFile /var/www/cgi-bin/.senha
Require valid-user

Saia e salve, :wq

Agora execute o comando para criar o usuário:

# htpasswd -c .senha admin
New password:
Re-type new password:
Adding password for user admin

Agora no apache2.conf, localize a linha:

AccessFileName .htaccess

e coloque logo abaixo:


Options Indexes FollowSymLinks Includes
AllowOverride AuthConfig
AuthName "Acesso Restrito"
AuthType Basic
AuthUserFile /var/www/cgi-bin/admuser/.senha
require valid-user
Order allow,deny
Allow from all


Feito isso, reinicie /etc/init.d/apache2 reload e acesse o endereço novamente:

http://ip.do.server/admuser/admuser.cgi

Espero ter ajudado e, críticas ou sugestões são bem vindas.

Abraço a todos e que Deus abençoe.

Nenhum comentário: