Escolar Documentos
Profissional Documentos
Cultura Documentos
Maio/05
Março/09
Maio/11
AVISO:
• este documento explica a instalação de áreas públicas para os usuários de qualquer ftp com
senha utilizando para isto um link simbólico para um subdiretório na área do usuário e
Indexes e FollowSymlinks do apache.
• o descrito a seguir foi baseado no pure-ftpd instalado no servidor eco.cpd.ufv.br que possui
dois IPs para dois FTPs virtuais (ftp.pvanet.ufv.br e ftp2.cpd.ufv.br)
1. Criar no /var/www ou outro subdiretório qualquer, os subdiretórios para cada ftp hospedado e
permitir que o apache possa mexer neles:
cd /var/www
mkdir FTPs
cd FTPs
mkdir ftp2 pvanet
cd /var/www
chown -R apache.apache FTPs
Obs.: o motivo do dono/grupo ser o apache é para poder fazer um aplicativo em PHP que
permite fazer os links simbolicos (neste momento (27/05/05) não sei se o apache irá
permitir)
#LOCAL - inicio#
<VirtualHost 10.10.10.10:443>
#LOCAL - fim#
Obs.: acima usei um IP falso qualquer e funcionou OK porque este servidor não utiliza
https.
2.2. criar o domínio para o ftp2.cpd.ufv.br. Para isto é necessário alterar o arquivo
/etc/httpd/conf/vhosts/Vhosts.conf (ver Anexo A):
<VirtualHost *>
ServerName ftp2.cpd.ufv.br
DocumentRoot /var/www/FTPs/ftp2
<Directory "/var/www/FTPs/ftp2">
Options Indexes FollowSymLinks
# order Deny,Allow => access is allowed by default, deny directives evaluated first
Order Deny,Allow
Allow from All
</Directory>
</VirtualHost>
2.3. criar o domínio virtual para ftp.pvanet.ufv.br (veja como ficou o arquivo
/etc/httpd/conf/vhosts/Vhosts.conf no Anexo A).
2.4. COMO fazer com que um usuário de FTP possua uma área pública:
a) vamos supor que um professor, com código de usuário umprof no ftp.pvanet.ufv.br queira
este serviço. Fazer o serguinte:
● ir no subdiretorio do professor:
cd /var/pure-ftpd/pvanet/umprof
mkdir area-publica
chown pvanet.pvanet area-publica
● ir no subdiretorio do usuário:
cd /var/pure-ftpd/ftp2/umusario
mkdir area-publica
chown ftp2.ftp2 area-publica
1 MUITO, MAS MUITO CUIDADO para não dar “chown apache.apache umprof/” (barra no final NÃO PODE)
2 MUITO, MAS MUITO CUIDADO para não dar “chown apache.apache umusuario/” (barra no final NÃO PODE)
O usuário utilizará sua área de ftp utilizando um software próprio para ftp ou um browser. Como
em geral os usuários utilizam um browser, os exemplos são para o InternetExplorer, Firefox,
Konqueror etc. Basta colocar na barra do navegador o que segue:
ftp://<código_do_usuário>@<servidor>
ou ftp://<código_do_usuário>:<senha>@<servidor> (não recomendado!)
exemplos:
ftp://umusuario@ftp2.cpd.ufv.br
ftp://umusuario:umasenha@ftp2.cpd.ufv.br
alguns browsers permitem não especificar nem o usuário ou a senha e pedirão ambas se
necessário, exemplo:
ftp://ftp2.cpd.ufv.br
Tendo o usuário se 'logado', ele poderá 'arrastar' os seus arquivos do WindowsExplorer para o
InternetExplorer.
Tudo que o usuário 'arrastar' para seu subdiretório será PRIVADO e só poderá ser lido sabendo o
código do usuário e a senha.
Tudo que o usuário 'arrastar' para seu subdiretório 'area-publica' poderá ser acessado por
qualquer um desde que utilize o protocolo http (www), exemplos:
http://ftp.pvanet.ufv.br/umusuario
http://ftp2.cpd.ufv.br/umusuario
Observe-se que da forma que foi implementado, em cada domínio virtual pode se repetir o
código do usuário sem causar conflitos.
Este servidor ftp (ftp2.cpd.ufv.br) permite que tudo que seja colocado
no subdiretório "area-publica" possa ser utilizado pelos usuários externos
usando o protocolo http no lugar do protocolo ftp o que facilita o
acesso aos arquivos.
ftp://<código_do_usuário>:<senha>@<servidor>
exemplos:
ftp://umusuario@ftp2.cpd.ufv.br
ftp://umusuario:umasenha@ftp2.cpd.ufv.br
ftp://ftp2.cpd.ufv.br
Espero que tenham gostado porque apanhei até agora (13:47 sem almoçar).
mysql -u root -p
use pureftpd;
insert into users (User,IP,Password,Uid,Gid,Dir,Quotafiles,QuotaSize,Observacao)
values('XXXusuarioXXX','200.235.128.30','XXXsenhaXXX','ftp2','ftp2',
'/var/pure-ftpd/ftp2/XXXusuarioXXX',1000,65000,'desativar em 15/01/2010');
# A T E N C A O:
# para "NameVirtualHost *" funcionar eh necessario alterar o arquivo
# /etc/httpd/conf.d/41_mod_ssl.default-vhost.conf para no inicio conter as
# seguintes mudancas:
# 1) NameVirtualHost <IP_DESTA_MAQUINA>:443 (nao funciona com "*")
# 2) de <VirtualHost _default_:443>
# PARA <VirtualHost <NOME_QUALIFICADO_DESTA_MAQUINA>:443>
# OU, se nao for usar https, basta:
# <VirtualHost 10.10.10.10:443>
NameVirtualHost *
<VirtualHost _default_:*>
</VirtualHost>
<VirtualHost *>
ServerName ftp.pvanet.ufv.br
DocumentRoot /var/www/FTPs/pvanet
<Directory "/var/www/FTPs/pvanet">
Options Indexes FollowSymLinks
# order Deny,Allow => access is allowed by default, deny directives evaluated first
Order Deny,Allow
Allow from All
</Directory>
</VirtualHost>
<VirtualHost *>
ServerName ftp2.cpd.ufv.br
DocumentRoot /var/www/FTPs/ftp2
<Directory "/var/www/FTPs/ftp2">
Options Indexes FollowSymLinks
# order Deny,Allow => access is allowed by default, deny directives evaluated first
Order Deny,Allow
Allow from All
</Directory>
</VirtualHost>
#LOCAL - fim#